http://gwt-code-reviews.appspot.com/1453810/diff/3001/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java File dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java (right):
http://gwt-code-reviews.appspot.com/1453810/diff/3001/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java#newcode77 dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java:77: * TODO: If we defer this until later, we could maybe use the results of the True. This code is copied from JavaToJavaScriptCompiler tho, which I'm not modifying in this patch. http://gwt-code-reviews.appspot.com/1453810/diff/3001/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java File dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java (right): http://gwt-code-reviews.appspot.com/1453810/diff/3001/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java#newcode733 dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java:733: if (field == JField.NULL_FIELD || field.isExternal()) { Yes, the problem I ran into is UnifyAst currently blows up if you give it error input. This broke some unit tests. I am going to come back in here and make the error reporting more comprehensive, but the upshot is that if you reference an error unit, you generally cannot deserialize the target type to create the 'real' type and members. So we just leave the external reference in the tree. This is fine because we're going to be bailing out at the end anyhow, but it made the assertions wrong. There are probably a few more laying around, which I'll go through and hit systematically in my error reporting patch. http://gwt-code-reviews.appspot.com/1453810/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors