Community
Participate
Working Groups
Given these classes, the 3rd (concrete class) should implements m2(). It tries to by calling super. and we get m2() as an offer. abstract class A { abstract short m1(); short m2(){ return (short)42; } } abstract class B extends A { abstract short m2(); //re-abstract short m1() { return (short)420; } } class C extends B { short m2() { return super.m2(); //illegal } }
Indeed, super call shouldn't resolve to an abstract method.
Fixed and regression test added CompletionTest#testCompletionAbstractMethod1 CompletionTest#testCompletionAbstractMethod2 CompletionTest#testCompletionAbstractMethod3 CompletionTest#testCompletionAbstractMethod4
Verified