http://gwt-code-reviews.appspot.com/184802/diff/1/2
File dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java (right):

http://gwt-code-reviews.appspot.com/184802/diff/1/2#newcode294
dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java:294: void
setClinitTo(JDeclaredType newClinitTarget) {
setClinitTarget sounds great.

http://gwt-code-reviews.appspot.com/184802/diff/1/2#newcode299
dev/core/src/com/google/gwt/dev/jjs/ast/JDeclaredType.java:299:
removeClinit();
On this code path, removeClinit() is called to remove the clinit method.
 On the other code path, the clinit method is left in place.  Shouldn't
they do the same thing?

After thinking about it more, I would tend to think it's safer to remove
this call to removeClinit().  Maybe some other clinit is still in the
program and calls this one.  However, if there's a reason to think all
references to the short-circuited clinit are gone, then the other path
should call removeClinit(), too.

http://gwt-code-reviews.appspot.com/184802/diff/1/3
File dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java (right):

http://gwt-code-reviews.appspot.com/184802/diff/1/3#newcode654
dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java:654:
type.setClinitTo(target);
I see now.  The superclass is always done first.

Perhaps say *why* the superclass is done first, in the comment at 645?

http://gwt-code-reviews.appspot.com/184802/diff/1/3#newcode659
dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java:659: private
JDeclaredType computeHasClinitTargetRecursive(JDeclaredType type,
Good point.  Sure.

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

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

To unsubscribe, reply using "remove me" as the subject.

Reply via email to