Overall LGTM. I had to update CFA in my recent CL on class literal optimization to treat an invocation of Object.getClass() as rescuing the class literals of any instantiated types as well as to handle the new Immortal CodeGenTypes.
We may have to revisit the UnifyAstVisitor, since it may need special handling for the Immortal types, as well as class literal references, since GenerateJavaAST no longer overrides getClass() for every time in my latest patch. http://gwt-code-reviews.appspot.com/1453810/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
