Language regression, or possible language improvement?
The problem was caused by moving name binding in pointcut declarations to
happen before declare parents are evaluated. Because of this, the
compiler doesn't know that ContainerDescriptor isa Key when resolving
the ContainerLoader.containerLoads reference.
The change in ordering was made to fix a bug reported in declare error
and declare soft whose pcds where being evaluated before name binding
had happened in the pointcut declarations. Unfortunately, declare error
and declare soft are concretized at the same time as declare parents
(and all other declares ;-), so this move also led to the regression
noted above.
Bugzilla Bug 42740
declare error fails on pointcuts composed from multiple classes
Bugzilla Bug 42746
within() pcd is confused for certain declare softs
and probably:
Bugzilla Bug 42739
Compiler crash in ajc head (post 1.1.1 rc1)
test and fix for bug reported today on aspectj-dev
This bug is a reversion from 1.1.0 and so was a high-priority to get fixed
before the 1.1.1rc2 release tommorrow. The bug was caused by a
conflict between the implementation of perthis and a fix made in 1.1.1rc1
to the code for signature matching to handle inter-type declarations
correctly. The fix was the addition of two null pointer checks.
I hope that the original reporter will file a bug report in bugzilla tomorrow
for tracking.
- copies resources by default when using the Javac adapter
- does not copy resources unless specified when invoked via AjcTask
- copies injar resources always