Project: AspectJ
Bug 69459 Hiding of Instance Methods by static methods
Reported: 2004-07-07 09:10:42 | Status: resolved fixed

Using Introduction it is possible to hide instance methods by static methods. Example: class Super { public void m(){}; } class Sub {} aspect A { public static void Sub.m(){} } Acccording to the Java Language Specification this is not allowed. Is this behaviour desired ?? It is also possible to override static methods by instance methods, wich causes a compile time error in java.

Files changed in fix:
tests/bugs/intertypeOverrides/Aspect1.java tests/bugs/intertypeOverrides/Aspect2.java tests/bugs/intertypeOverrides/IntertypeOverrides.java tests/bugs/intertypeOverrides/IntertypeOverrides2.java tests/bugs/intertypeOverrides/Subclass.java tests/bugs/intertypeOverrides/Superclass.java weaver/src/org/aspectj/weaver/ResolvedTypeX.java