Reviewers: bobv, Lex, scottb,

Description:
The Abstractizer marks abstract the methods that are always overridden
by subclasses and never really called. In this version, "never really
called" is limited to methods on abstract classes that are not
super-called from overriding methods in subclasses.
I don't really know where to call it though (i.e. should it be called in
draftCompile? should it be called before or after the Pruner?)

I haven't figured out how to detect classes that are never instantiated
(or actually not in a way that can be unit-tested, because the
BuildTypeMap$BuildDeclMapVisitor creates the new() methods for use in
JSNI, so each class' constructor appears at least once in a
JNewInstance).

I haven't been able to test results on enums as unit-tests don't compile
snippets containing enums (ICE: Unable to locate index method:
Enum.createValueOfMap) though now that they can be abstract it shouldn't
be an issue.

Finally, I also didn't know who to assign this review to, so I picked
some names from the commit history of then JavaToJavaScriptCompiler)

Please review this at http://gwt-code-reviews.appspot.com/609801/show

Affected files:
  dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
  dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
  dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
  dev/core/src/com/google/gwt/dev/jjs/impl/Abstractizer.java
  dev/core/test/com/google/gwt/dev/jjs/impl/AbstractizerTest.java


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

Reply via email to