google / google/closure-compiler

UnsupportedOperationException when using variable "arguments" inside arrow function body

Open
#3,376 2 comments 0 reactions 0 assignees View on GitHub
internal-issue-created triage-done
Dominant language
JavaScript
Stars
7.7k
Forks
1.2k
Avg merge
2d 12h
Merged PRs (30d)
6

Description

Input for `SIMPLE_OPTIMIZATIONS`:

```
a => (arguments * b)
```

Error output:

```
Exception in thread "main" java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.

null
Node(NAME arguments): input:1:6
a => (arguments * b)
Parent(MUL): input:1:6
a => (arguments * b)

at com.google.common.collect.ImmutableCollection.add(ImmutableCollection.java:222)
at com.google.javascript.jscomp.OptimizeArgumentsArray.visit(OptimizeArgumentsArray.java:141)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:867)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:863)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:863)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.traverseBlockScope(NodeTraversal.java:987)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:861)
at com.google.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:906)
at com.google.javascript.jscomp.NodeTraversal.handleFunction(NodeTraversal.java:816)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:842)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:863)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:863)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.handleScript(NodeTraversal.java:804)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:839)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:979)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:863)
at com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:371)
at com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:381)
at com.google.javascript.jscomp.OptimizeArgumentsArray.process(OptimizeArgumentsArray.java:98)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:328)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:237)
at com.google.javascript.jscomp.Compiler.performOptimizations(Compiler.java:2380)
at com.google.javascript.jscomp.Compiler.lambda$stage2Passes$1(Compiler.java:780)
at com.google.javascript.jscomp.CompilerExecutor.runInCompilerThread(CompilerExecutor.java:129)
at com.google.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:807)
at com.google.javascript.jscomp.Compiler.stage2Passes(Compiler.java:777)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:667)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:634)
at examples.CompilerTest.main(CompilerTest.java:67)
Caused by: java.lang.UnsupportedOperationException
... 35 more
```

Affects: v20190415 and current master (2375110b30ccb83b0a550c8c3d46c526e3896d62)

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.