google/closure-compiler
View on GitHubINTERNAL COMPILER ERROR - third_party and jscomp_error conflict
Open
#2441 opened on Apr 16, 2017
P3help wanted
Description
Background
I was trying to run the Closure Compiler on the JS snippet provided by Google Analytics
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-123456789-1', 'auto');
ga('send', 'pageview');
during my build and noticed it didn't like my combination of default flags for regular scripts and added command-line flags for this one file. I've simplified the snippet and arguments down to the smallest amount with a reproducible error. I am filing this bug because closure told me to.
test.js
(function() {
[].push(arguments);
})();
Runtime error
$ java -jar closure-compiler-v20170409.jar --third_party --jscomp_error '*' test.js
java.lang.RuntimeException: java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.
only implemented in ClosureCodingConvention
Node(CALL): test.js:1:0
(function() {
Parent(EXPR_RESULT): test.js:1:0
(function() {
at com.google.javascript.jscomp.CompilerExecutor.runInCompilerThread(CompilerExecutor.java:126)
at com.google.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:753)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:723)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:693)
at com.google.javascript.jscomp.AbstractCommandLineRunner.doRun(AbstractCommandLineRunner.java:1080)
at com.google.javascript.jscomp.AbstractCommandLineRunner.run(AbstractCommandLineRunner.java:492)
at com.google.javascript.jscomp.CommandLineRunner.main(CommandLineRunner.java:1898)
Caused by: java.lang.RuntimeException: INTERNAL COMPILER ERROR.
Please report this problem.
only implemented in ClosureCodingConvention
Node(CALL): test.js:1:0
(function() {
Parent(EXPR_RESULT): test.js:1:0
(function() {
at com.google.javascript.jscomp.CodingConventions$DefaultCodingConvention.extractClassNameIfProvide(CodingConventions.java:438)
at com.google.javascript.jscomp.CheckProvides$CheckProvidesCallback.visit(CheckProvides.java:70)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:639)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:711)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:635)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:711)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:635)
at com.google.javascript.jscomp.NodeTraversal.traverseChildren(NodeTraversal.java:711)
at com.google.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:635)
at com.google.javascript.jscomp.NodeTraversal.traverse(NodeTraversal.java:311)
at com.google.javascript.jscomp.NodeTraversal.traverseEs6(NodeTraversal.java:582)
at com.google.javascript.jscomp.CheckProvides.hotSwapScript(CheckProvides.java:52)
at com.google.javascript.jscomp.CheckProvides.process(CheckProvides.java:45)
at com.google.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:304)
at com.google.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:236)
at com.google.javascript.jscomp.Compiler.check(Compiler.java:892)
at com.google.javascript.jscomp.Compiler.compileInternal(Compiler.java:781)
at com.google.javascript.jscomp.Compiler.access$000(Compiler.java:87)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:726)
at com.google.javascript.jscomp.Compiler$2.call(Compiler.java:723)
at com.google.javascript.jscomp.CompilerExecutor$2.call(CompilerExecutor.java:91)
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: only implemented in ClosureCodingConvention
... 25 more