The BCEL-builder module

This module includes a modified form of BCEL - with some fixes in *and* support for Java5.

Java 5 support

The best way to see how it works is look in the testcases. The only feature that is definetly not implemented yet is package level annotations. What is working is:

All this is implemented without using any Java 5 APIs.


The contents of this directory are:


Development Process

We can now follow normal TDD for this. Add a JUnit testcase to the testsrc folder, plus any associated test materials into the testdata directory. Then change BCEL to get your test passing, when you are happy with the result (i.e. all the tests in the bcel-builder module are passing), you should execute the build.xml script whose default target will package up bcel (and bcel src) and deliver it into the lib module, the rest of AspectJ is driven off the version of bcel in the lib/bcel folder - it is *not* driven off the bcel-builder code (we could choose to change that sometime later).

Once you have done this execute all the tests for AspectJ, if they all pass you can check in your mods for bcel-builder and to the lib project.


testdata

The testdata folder includes a load of Java5 code, it needs to be built with a Java5 compiler. There is an ant script in there (build.xml) that builds all the source code into a testcode.jar which is then used by the testcases - so if you do change the testdata code then you should run build.xml to rebuild testcode.jar.