google / google/closure-compiler
INTERNAL COMPILER ERROR when imported variables are used in object property shorthand
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
```js
// export.js
export default "banana";
```
```js
// import.js
import banana from "./export";
const foo = { banana };
```
command:
`java -jar closure-compiler-v20161201.jar --js default_import.js --js default_export.js`
output:
```
java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.
GETPROP 2 [length: 6] [source_file: default_import.js] is not a string node
Node(OBJECTLIT): default_import.js:2:12
const foo = { banana };
Parent(NAME foo$$module$default_import): default_import.js:2:6
const foo = { banana };
at com.google.javascript.rhino.Node.getString(Node.java:1122)
at com.google.javascript.jscomp.StrictModeCheck.checkObjectLiteralOrClass(StrictModeCheck.java:190)
at com.google.javascript.jscomp.StrictModeCheck.visit(StrictModeCheck.java:114)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:642)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:714)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:638)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:714)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:638)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:714)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:638)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:714)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:638)
at com.google.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:336)
at com.google.javascript.jscomp.NodeTraversal.traverseRootsEs6(NodeTraversal.java:606)
at com.google.javascript.jscomp.StrictModeCheck.process(StrictModeCheck.java:102)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:296)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:228)
at com.google.javascript.jscomp.Compiler.check(Compiler.java:877)
at com.google.javascript.jscomp.Compiler.compileInternal(Compiler.java:770)
at com.google.javascript.jscomp.Compiler.access$000(Compiler.java:84)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:718)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:715)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:93)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsupportedOperationException: GETPROP 2 [length: 6] [source_file: default_import.js] is not a string node
... 27 more
```
Same issue when using named exports.
Contributor guide
Assessment
This issue has not been assessed yet.