Project: AspectJ
Bug 308093 incremental build problem when mixing up ITDs and declare parents
Reported: 2010-04-05 14:16:02 | Status: resolved fixed

reported by Rod Johnson. He had a sophisticated aspect doing a mix of ITDs and declare parents. On doing an incremental build he was receiving errors that looked like the declare parents hadn't applied on the secondary build. What was actually happening is that when a class file was brought in as a BinaryTypeBinding, the existing World representation wasn't being cleaned up properly. Without the cleanup the declare parents thought it was still in effect, but it was not. With proper cleanup the declare parents applies on the secondary build and all is well. Change is in AjLookupEnviroment.weaveInterTypeDeclarations where the onType.clearInterTypeMungers() must be paired with an onType.ensureConsistent() call.

Files changed in fix:
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AjLookupEnvironment.java