nested anonymous classes generated an internal error that caused the
LL conversion process to blow up. This revision replaced the internal
error with a convention syntax error stating that LLs does not support
nested anonymous classes.
In the process, I decided to eliminate duplicate error messages which forced
a number of small changes in unit tests.
A test consisting of 25 classes in individual files with random names
(Filexx.dj1) generated a null pointer exception in
ExpressionTypeChecker. This revision explictly checks for this null
value and generates a convention error message if it happens. After
this change, it appeared that a misplaced ' (or `) mark preceding an
import declaration might have caused the blowup. The compiler flagged
this error as the only error. Why? I need to rerun some tests. When
I eliminated this syntax error, the challenge program compiled without
any problems (but I did not try removing all class files).
The folowing files were modified:
M src/edu/rice/cs/javalanglevels/TypeChecker.java
M src/edu/rice/cs/javalanglevels/Data.java
M src/edu/rice/cs/javalanglevels/BodyBodyAdvancedVisitor.java
M src/edu/rice/cs/javalanglevels/BodyTypeChecker.java
M src/edu/rice/cs/javalanglevels/TryCatchBodyTypeChecker.java
M src/edu/rice/cs/javalanglevels/IntermediateVisitor.java
M src/edu/rice/cs/javalanglevels/ClassBodyTypeChecker.java
M src/edu/rice/cs/javalanglevels/ExpressionTypeChecker.java
M src/edu/rice/cs/javalanglevels/BodyBodyIntermediateVisitor.java
M src/edu/rice/cs/javalanglevels/LanguageLevelVisitor.java
M src/edu/rice/cs/javalanglevels/Pair.java