Fix NPE in JsStaticEval when collapsing an always-false if statement with no else block.
Patch by: bobv
Review by: scottb (TBR)
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2202 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/js/JsStaticEval.java b/dev/core/src/com/google/gwt/dev/js/JsStaticEval.java
index f7bc752..48fa96e 100644
--- a/dev/core/src/com/google/gwt/dev/js/JsStaticEval.java
+++ b/dev/core/src/com/google/gwt/dev/js/JsStaticEval.java
@@ -230,7 +230,12 @@
}
JsBlock block = new JsBlock();
block.getStatements().add(expr.makeStmt());
- block.getStatements().add(onlyStmtToExecute);
+
+ if (onlyStmtToExecute != null) {
+ // We'll see this if the expression is always false and no else
+ block.getStatements().add(onlyStmtToExecute);
+ }
+
ctx.replaceMe(block);
} else if (isEmpty(thenStmt) && isEmpty(elseStmt)) {
ctx.replaceMe(expr.makeStmt());