google / google/closure-compiler
Internal Compiler Error with ES6 class extends in externs but not code
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
Not sure what is the culprit here, but the following externs (while not great) break the compiler (and make it ask me to report this error, so here) -
```
class RequestEntityInit extends RequestInit {
/** @param {?} value */
set bodyEntity(value) {}
/** @return {?} */
get bodyEntity() {}
};
```
https://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%2520default.js%250A%252F%252F%2520%2540js_externs%2520class%2520RequestEntityInit%2520extends%2520RequestInit%2520%257B%2520%252F**%2520%2540param%2520%257B%253F%257D%2520value%2520*%252F%2520set%2520bodyEntity(value)%2520%257B%257D%2520%2520%252F**%2520%2540return%2520%257B%253F%257D%2520*%252F%2520get%2520bodyEntity()%2520%257B%257D%2520%257D%250A%252F%252F%2520%2540language_out%2520ES5%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A
```
java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.
Unexpected variable $jscomp
Node(NAME $jscomp): web/externs.js:7:0
class RequestEntityInit extends RequestInit {
Parent(GETPROP): web/externs.js:7:0
class RequestEntityInit extends RequestInit {
at com.google.javascript.jscomp.VarCheck.visit(VarCheck.java:222)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:806)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:802)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:802)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:802)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:802)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:802)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.handleScript(NodeTraversal.java:758)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:783)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:877)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:802)
at com.google.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:356)
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:2480)
at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:808)
at com.google.javascript.jscomp.Compiler$3.call(Compiler.java:804)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:102)
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 $jscomp
... 29 more
```
Contributor guide
Assessment
This issue has not been assessed yet.