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
-~----------~----~----~----~------~----~------~--~---

Reply via email to