I looked through the patch and don't see any issues with the refactoring, but is there another place I can go to read a bit more about "ClassLiteralHolder" fields?
http://gwt-code-reviews.appspot.com/1375801/diff/1/dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java File dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java (right): http://gwt-code-reviews.appspot.com/1375801/diff/1/dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java#newcode236 dev/core/src/com/google/gwt/dev/jjs/impl/ImplementClassLiteralsAsFields.java:236: private JField resolveClassLiteralField(JClassLiteral classLiteral) { Tracing back this method to JProgramgetLiteralClass(), it looks like most of this code was just transplanted from JClassLiteral and JProgram, so this isn't really a comment about your change. I'm struggling to convert this into what is being done at a high level to the AST. Could you add a comment with a brief template of what the Java representation of this new addition would look like? I see what currently winds up in compiled code in pretty mode is: var _3Ljava_lang_String_2_classLit = new Class_0 but that is after several passes of normalization. The field is turned into a static, and I haven't found any class literal constructors with arguments in the samples I've compiled. http://gwt-code-reviews.appspot.com/1375801/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
