SonarQube JavaScript Plugin: handling of ES6 "let" in for loops

149 views
Skip to first unread message

Adam McGrath

unread,
Oct 6, 2015, 12:06:02 PM10/6/15
to SonarQube
When using `let` in for loops, eg

for (let i = 0; i < 10; i++) {
}

SonarQube runner throws an exception and stops analyzing.

Stack trace:

ERROR: Error during Sonar runner execution

org.sonar.runner.impl.RunnerException: Unable to execute Sonar

at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)

at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)

at java.security.AccessController.doPrivileged(Native Method)

at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)

at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)

at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)

at org.sonar.runner.api.Runner.execute(Runner.java:100)

at org.sonar.runner.Main.executeTask(Main.java:70)

at org.sonar.runner.Main.execute(Main.java:59)

at org.sonar.runner.Main.main(Main.java:53)

Caused by: org.sonar.squidbridge.api.AnalysisException: Unable to analyze file: /Users/mcgrata/build/projects/tmp/sonarrunnertest/src/foo.js

at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:127)

at org.sonar.javascript.ProgressAstScanner.scanFiles(ProgressAstScanner.java:45)

at org.sonar.plugins.javascript.JavaScriptSquidSensor.analyse(JavaScriptSquidSensor.java:101)

at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:79)

at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:70)

at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:119)

at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:194)

at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)

at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)

at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:233)

at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:228)

at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:221)

at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)

at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)

at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:64)

at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:51)

at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:125)

at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:93)

at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:78)

at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:173)

at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95)

at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)

at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)

... 9 more

Caused by: java.lang.IllegalArgumentException

at com.google.common.base.Preconditions.checkArgument(Preconditions.java:72)

at org.sonar.javascript.checks.utils.IdentifierUtils.getVariableIdentifiers(IdentifierUtils.java:55)

at org.sonar.javascript.checks.BoundOrAssignedEvalOrArgumentsCheck.checkVariableDeclaration(BoundOrAssignedEvalOrArgumentsCheck.java:105)

at org.sonar.javascript.checks.BoundOrAssignedEvalOrArgumentsCheck.visitNode(BoundOrAssignedEvalOrArgumentsCheck.java:71)

at com.sonar.sslr.impl.ast.AstWalker.visitNode(AstWalker.java:114)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:85)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.visitChildren(AstWalker.java:99)

at com.sonar.sslr.impl.ast.AstWalker.visit(AstWalker.java:87)

at com.sonar.sslr.impl.ast.AstWalker.walkAndVisit(AstWalker.java:69)

at org.sonar.squidbridge.AstScanner.scanFiles(AstScanner.java:106)

... 36 more

Elena Vilchik

unread,
Oct 7, 2015, 3:44:17 AM10/7/15
to SonarQube
Hello! 

Probably you are using an old version of plugin (please, specify it next time).
It should be fixed now.

Thanks for the feedback! 
Reply all
Reply to author
Forward
0 new messages