Community
Participate
Working Groups
abstract class A implements I{ } interface I{ void f(); } class Test{ void test(A a){ a.f(); } } try resolving the method call to f() in Test::test - instead of the exprected I::f() you get the class A (that's what it looks like in the ui)
Is this a problem with DOM/AST?
i don't know if ast has a problem here too. i noticed it when i pressed F3 on the method invocation expression
This is because of default abstract methods. I bet you it works fine if you toggle compiler compliance to 1.4 (since in 1.4 we don't generate them anymore). Indeed CodeSelect should ignore default abstract methods.
SelectionOnMessageSend search the method in superinterfaces if the found method is default abstract. fixed.
Verified.