http://gwt-code-reviews.appspot.com/1443807/diff/2001/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java File dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java (left):
http://gwt-code-reviews.appspot.com/1443807/diff/2001/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java#oldcode318 dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java:318: rescueMembersIfInstantiable(type); On 2011/05/26 00:50:12, scottb wrote:
Actually, line 302 covers all the static initializers. If the type is instantiable, a constructor must be live, and the constructor
initializes all of
the instance fields.
I don't think there is anything wrong, but besides hitting the non-static methods, wouldn't this method also loop through those fields again? Same thing happens in visit(JClassType, ...) if we are worried about shaving time, couldn't you slice rescueMembersIfInstntiable in two, and avoid the redundant walk if you'd already rescued the clinit. http://gwt-code-reviews.appspot.com/1443807/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
