http://gwt-code-reviews.appspot.com/125803/diff/1/3 File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right):
http://gwt-code-reviews.appspot.com/125803/diff/1/3#newcode480 Line 480: } Will do. http://gwt-code-reviews.appspot.com/125803/diff/1/3#newcode1032 Line 1032: allArrayTypes.add(arrayType); I agree the rule is just kinda crammed in there. It is how it is specced, though. Check out the following link. They really just list out two extra rules for Serializable and Cloneable that come out of nowhere: http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.10.3 I like that canTriviallyCast and the JType hierarchy can follow the JLS fairly closely, because subtyping rules are tricky to rederive. We're still stuck deriving canTheoreticallyCast, strongerType, and generalizeType ourselves, and it's simply on us to make sure they are consistent with canTriviallyCast. I would love a way to do those three more systematically, but as it stands we just have to be careful. The good news is that the difficulty stops at those four methods. The rest of the compiler can reason about the type system by breaking questions down to these four basic methods. For example, the present patch does not need to touch CastNormalizer.... http://gwt-code-reviews.appspot.com/125803 -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
