| commit | d87bc8685be01e853419045013670f42a597c8b4 | [log] [tgz] |
|---|---|---|
| author | scottb@google.com <scottb@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7> | Fri Apr 01 19:57:25 2011 +0000 |
| committer | scottb@google.com <scottb@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7> | Fri Apr 01 19:57:25 2011 +0000 |
| tree | a20f6c7021ec1f3685d8af66349c99d29a712942 | |
| parent | b4718e4809065a5687bdf31d51de7fc57cb5fc31 [diff] |
Fix ICE in GenerateJavaAST An empty for statement can generate an ICE. for (Integer xyzzy : new ArrayList<Integer>()) ; // TODO http://gwt-code-reviews.appspot.com/1400801/ Review by: zundel@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9932 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java b/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java index b0f4fbb..91ce358 100644 --- a/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java +++ b/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java
@@ -1639,7 +1639,9 @@ body = (JBlock) action; } else { body = new JBlock(info); - body.addStmt(action); + if (action != null) { + body.addStmt(action); + } } JLocal elementVar = (JLocal) typeMap.get(x.elementVariable.binding);
diff --git a/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java b/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java index a2d82f4..176353a 100644 --- a/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java +++ b/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
@@ -20,6 +20,7 @@ import junit.framework.Assert; +import java.util.ArrayList; import java.util.EventListener; /** @@ -723,6 +724,12 @@ for (; b;); + for (int i = 0; i < 10; ++i); + + for (int i : new int[10]); + + for (Integer i : new ArrayList<Integer>()); + for (;;) break;