Mostly looks good, just some style/simplicity comments on JProgram.

Thanks for the cleanups I noticed you did along the way.


http://gwt-code-reviews.appspot.com/751803/diff/1/4
File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right):

http://gwt-code-reviews.appspot.com/751803/diff/1/4#newcode781
dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java:781: return
returnMap;
This whole setup seems kind of unnecessarily complicated to me.  How
about we just do this?

1) Final auto-initialize castableTypeMaps.

2) The init method just does a Map.putAll().

3) You're not allowed to share the same expression node in different
places in the tree anyway, so just do something like this:

JsonObject result = castableTypeMaps.get(referenceType);
if (result == null) {
  // auto-init to a null entry
  result = new JsonObject(...);
  castableTypeMaps.put(referenceType, result);
}
return result;

Then you don't have to do any squirrelly null key stuff.  Also, this
should be an IdentityHashMap.

http://gwt-code-reviews.appspot.com/751803/diff/1/6
File dev/core/src/com/google/gwt/dev/jjs/impl/CastNormalizer.java
(right):

http://gwt-code-reviews.appspot.com/751803/diff/1/6#newcode73
dev/core/src/com/google/gwt/dev/jjs/impl/CastNormalizer.java:73: new
HashMap<JReferenceType, JsonObject>();
IdentityHashMap

http://gwt-code-reviews.appspot.com/751803/show

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to