
282 An Introduction to Compiler Construction in a Java World
FIGURE 8.1 Steps to ECJ incremental compilation.
the generated bytecode is executed, it will run properly because foo() is never called in
the program. If the control reaches the error, the run-time will then throw an exception.
This feature is useful when testing individual complete pieces of a project that contains
incomplete pieces.