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

Reply via email to