Answers + fix for a broken test.

http://gwt-code-reviews.appspot.com/1451814/diff/1/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/1451814/diff/1/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java#newcode665
dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java:665: //
TODO(zundel): ask for a recompile if deserialization fails?
The unit stores the AST in byte format and does not attempt to
deserialize the bytes before this point.  If the serialization format
has changed, or old units are around before AstBuilder was enabled,
things blow up here, because either the types don't exist, or otherwise
can't be deserialized.

I'm not sure what the right answer is, we could ask CompilationState to
recompile those units, potentially.  Or we could make CompilationState
itself have some kind of AST version sanity checking scheme.

http://gwt-code-reviews.appspot.com/1451814/diff/1/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java#newcode667
dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java:667: assert
containsAllTypes(unit, types);
So this is related to the question posed just above.  I would expect the
checks to live in the place where we decide to solve that problem.  I'm
happy to move this code if you think that's the right answer for now.

http://gwt-code-reviews.appspot.com/1451814/

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

Reply via email to