Index: third_party/closure_compiler/runner/src/com/google/javascript/jscomp/ChromePass.java |
diff --git a/third_party/closure_compiler/runner/src/com/google/javascript/jscomp/ChromePass.java b/third_party/closure_compiler/runner/src/com/google/javascript/jscomp/ChromePass.java |
index 8ff3fb0a1405133424da35b7d6b6e67e5e8fc1de..c7f3c12daccb071f705a6a6a9c896653b3045a37 100644 |
--- a/third_party/closure_compiler/runner/src/com/google/javascript/jscomp/ChromePass.java |
+++ b/third_party/closure_compiler/runner/src/com/google/javascript/jscomp/ChromePass.java |
@@ -295,7 +295,8 @@ public class ChromePass extends AbstractPostOrderCallback implements CompilerPas |
!parent.isFunction()) { |
if (parent.isVar()) { |
if (parent.getParent() == this.namespaceBlock) { |
- // It's a top-level exported variable definition. |
+ // It's a top-level exported variable definition (maybe without an |
+ // assignment). |
// Change |
// |
// var enum = { 'one': 1, 'two': 2 }; |
@@ -304,10 +305,14 @@ public class ChromePass extends AbstractPostOrderCallback implements CompilerPas |
// |
// my.namespace.name.enum = { 'one': 1, 'two': 2 }; |
Node varContent = n.removeFirstChild(); |
- Node exprResult = IR.exprResult( |
- IR.assign(buildQualifiedName(n), varContent).srcref(parent) |
- ).srcref(parent); |
- |
+ Node exprResult; |
+ if (varContent == null) { |
+ exprResult = IR.exprResult(buildQualifiedName(n)).srcref(parent); |
+ } else { |
+ exprResult = IR.exprResult( |
+ IR.assign(buildQualifiedName(n), varContent).srcref(parent) |
+ ).srcref(parent); |
+ } |
if (parent.getJSDocInfo() != null) { |
exprResult.getFirstChild().setJSDocInfo(parent.getJSDocInfo().clone()); |
} |