Project: AspectJ
Bug 192877 [ataspectj] @AspectJ style inter-type declaration causes false compiler error during incremental build
Reported: 2007-06-15 09:57:08 | Status: resolved fixed

Build ID: M20070212-1330 Steps To Reproduce: Use @DeclareParents to introduce a default interface implementation to an existing type. A full build compiles cleanly and works as expected. An incremental build causes the following type of compile error: "The type FooImpl must implement the inherited abstract method Test.methodA()". In this example FooImpl is the class we are introducing a default implementation of the Test interface which defines the method "methodA". More information: See attached zip for a complete set of files to reproduce. I can repoduce this bug with AJDT 1.4.2.200705221209 for Eclipse 3.2.2 as well as AJDT 1.5RC1 for Eclipse 3.3RC1

Files changed in fix:
tests/multiIncremental/PR192877/base/src/DefaultTestImpl.java tests/multiIncremental/PR192877/base/src/Foo.java tests/multiIncremental/PR192877/base/src/FooImpl.java tests/multiIncremental/PR192877/base/src/Test.java tests/multiIncremental/PR192877/base/src/TestAspect.java tests/multiIncremental/PR192877/inc1/src/Test.java tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java