google / google/closure-compiler

IllegalStateException in VarCheck: Unexpected variable

Open
#2,842 3 comments 0 reactions 0 assignees View on GitHub
bug P3
Dominant language
JavaScript
Stars
7.7k
Forks
1.2k
Avg merge
2d 12h
Merged PRs (30d)
6

Description

Input for `SIMPLE_OPTIMIZATIONS`:

```
while ((l_0)){ while ((l_0)){ if ((l_0)) { break;;var l_0;continue }{ break;var l_0 } } }
```

Throws:

```
Unexpected variable l_0
Node(NAME l_0): stdin:1:8
while ((l_0)){ while ((l_0)){ if ((l_0)) { break;;var l_0;continue }{ break;var l_0 } } }
Parent(FOR): stdin:1:0
while ((l_0)){ while ((l_0)){ if ((l_0)) { break;;var l_0;continue }{ break;var l_0 } } }

at com.google.javascript.jscomp.VarCheck.visit(VarCheck.java:222)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:772)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:843)
at com.google.javascript.jscomp.NodeTraversal.traverseBlockScope(NodeTraversal.java:858)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:766)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:843)
at com.google.javascript.jscomp.NodeTraversal.handleScript(NodeTraversal.java:724)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:749)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:843)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:768)
at com.google.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:323)
at com.google.javascript.jscomp.VarCheck.process(VarCheck.java:145)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:303)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:230)
at com.google.javascript.jscomp.Compiler.performOptimizations(Compiler.java:2541)
at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:833)
at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:829)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:101)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Unexpected variable l_0
```

Affects: v20180204 and current SNAPSHOT

Test-case was automatically generated using [JQF](https://github.com/rohanpadhye/jqf).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.