As I am preparing to hold COMP 520 in Fall, I just read through Michael Schwarzbach’s excellent new version of this lecture. He has one set of exercises on name resolution containing this funny example:
public class java { public class lang { public class Object {} } }
Give this code to javac and it will bail on you:
mucuna /tmp $ javac java.java An exception has occurred in the compiler (1.6.0_05). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.NullPointerException at com.sun.tools.javac.comp.Flow.visitIdent(Flow.java:1214) at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1547)
Funny, eh?