Revision: 6816 Author: [email protected] Date: Tue Nov 10 13:15:16 2009 Log: Merge tr...@6814,6815 to ensure artifically-rescued fields don't get type-tightened to null. $ svn merge --ignore-ancestry -c6814,6815 https://google-web-toolkit.googlecode.com/svn/trunk/ .
http://code.google.com/p/google-web-toolkit/source/detail?r=6816 Modified: /releases/2.0/branch-info.txt /releases/2.0/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java /releases/2.0/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java ======================================= --- /releases/2.0/branch-info.txt Tue Nov 10 12:03:27 2009 +++ /releases/2.0/branch-info.txt Tue Nov 10 13:15:16 2009 @@ -518,3 +518,8 @@ -- Generators now exist per-StandardGeneratorContext to avoid concurrency issues. for i in 6789 6790 6791 ; do svn merge --ignore-ancestry -c $i https://google-web-toolkit.googlecode.com/svn/trunk .; done + +tr...@6814,6815 was merged into this branch + Fix null.nullMethod() in DynaTable sample app due to null-tightened field + svn merge --ignore-ancestry -c6814,6815 https://google-web-toolkit.googlecode.com/svn/trunk/ . + ======================================= --- /releases/2.0/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java Wed Nov 4 06:59:39 2009 +++ /releases/2.0/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java Tue Nov 10 13:15:16 2009 @@ -91,6 +91,13 @@ public void setInitializer(JDeclarationStatement declStmt) { this.declStmt = declStmt; } + + public void setVolatile() { + if (isFinal()) { + throw new IllegalStateException("Final fields cannot be set volatile"); + } + isVolatile = true; + } public void traverse(JVisitor visitor, Context ctx) { if (visitor.visit(this, ctx)) { ======================================= --- /releases/2.0/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java Fri Oct 16 16:19:37 2009 +++ /releases/2.0/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java Tue Nov 10 13:15:16 2009 @@ -2534,6 +2534,12 @@ } currentClass.addArtificialRescue((JNode) node); + if (node instanceof JField) { + JField field = (JField) node; + if (!field.isFinal()) { + field.setVolatile(); + } + } } } } --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
