Annotations chapter complete. Varargs, covariance, autoboxing,
and enum chapters complete. Pertypewithin proposal written up.
Generics, new reflection interfaces, and the "miscellaneous" section
still outstanding.
Some more fixes for Bug 78954: Compiler cannot cope with 4000 jars on the classpath.
- ClassPathManager can now manage its set of open archives, rather than being 'unlimited' it now limits itself to 1000 open archives (which can be increased via a sys prop).
- BcelWorld is changed to add a tidy up method that can tell class path manager to close its archives (useful for the IDE)
- BcelWorld is also changed to ensure 'it' is the repository used to resolve classes, there were previously some situations where BCEL would start loading classes itself (creating duplicates in memory of things like java/lang/String etc). I'm not sure if this will alter our performance/memory characteristics.
Fix some stuff that Wes pointed out: addEmptyConstructor() in ClassGen has always been broken and the src.zip for BCEL that was generated included test imports.
Some enhancements discovered whilst working on bugzilla bug 78954: Compiler cannot cope with 4000 jars on the classpath. These enhancements cause things to be done 'lazily' in BCEL.
Adding BCEL src to bcel-builder project. We change/patch BCEL more frequently than we import new versions of BCEL into AspectJ - so it makes sense to make that patching process easier than the importing process. Also the Java5 support would result in an unwieldy patch.txt file.
The ANT targets in build.xml will still enable transformation of the packaging from org.aspectj.apache to org.apache for diffing with a new BCEL version, should one ever appear.
Aha! You foul LazyTjp testcase. The fix I put in to properly support '-proceedOnError' highlighted a problem in this testcase which (until recently) was producing a compile time error *and* still writing the .class file out to disk.