Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: 1.8.1
-
Fix Version/s: 4.0
-
Component/s: parser-antlr
-
Labels:None
-
Number of attachments :
Description
Groovy parser fails on incorrect array creation expression:
$ java -jar groovy-all-1.8.1.jar -d -e "def foo = new double[][5]"
Caught: BUG! exception in phase 'conversion' in source unit 'script_from_command_line' null
BUG! exception in phase 'conversion' in source unit 'script_from_command_line' null
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:843)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:544)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:520)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:497)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731)
at groovy.lang.GroovyShell.run(GroovyShell.java:516)
at groovy.lang.GroovyShell.run(GroovyShell.java:172)
at groovy.ui.GroovyMain.processOnce(GroovyMain.java:526)
at groovy.ui.GroovyMain.run(GroovyMain.java:332)
at groovy.ui.GroovyMain.process(GroovyMain.java:318)
at groovy.ui.GroovyMain.processArgs(GroovyMain.java:115)
at groovy.ui.GroovyMain.main(GroovyMain.java:96)
Caused by: java.lang.NullPointerException
at org.codehaus.groovy.antlr.AntlrParserPlugin.expressionSwitch(AntlrParserPlugin.java:1649)
at org.codehaus.groovy.antlr.AntlrParserPlugin.expression(AntlrParserPlugin.java:1633)
at org.codehaus.groovy.antlr.AntlrParserPlugin.expression(AntlrParserPlugin.java:1629)
at org.codehaus.groovy.antlr.AntlrParserPlugin.arraySizeExpression(AntlrParserPlugin.java:2509)
at org.codehaus.groovy.antlr.AntlrParserPlugin.arraySizeExpression(AntlrParserPlugin.java:2507)
at org.codehaus.groovy.antlr.AntlrParserPlugin.constructorCallExpression(AntlrParserPlugin.java:2460)
at org.codehaus.groovy.antlr.AntlrParserPlugin.expressionSwitch(AntlrParserPlugin.java:1670)
at org.codehaus.groovy.antlr.AntlrParserPlugin.expression(AntlrParserPlugin.java:1633)
at org.codehaus.groovy.antlr.AntlrParserPlugin.expression(AntlrParserPlugin.java:1629)
at org.codehaus.groovy.antlr.AntlrParserPlugin.declarationExpression(AntlrParserPlugin.java:1437)
at org.codehaus.groovy.antlr.AntlrParserPlugin.variableDef(AntlrParserPlugin.java:1453)
at org.codehaus.groovy.antlr.AntlrParserPlugin.statement(AntlrParserPlugin.java:1203)
at org.codehaus.groovy.antlr.AntlrParserPlugin.convertGroovy(AntlrParserPlugin.java:304)
at org.codehaus.groovy.antlr.AntlrParserPlugin.buildAST(AntlrParserPlugin.java:241)
at org.codehaus.groovy.control.SourceUnit.convert(SourceUnit.java:272)
at org.codehaus.groovy.control.CompilationUnit$10.call(CompilationUnit.java:618)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:839)
... 13 more
$ java -jar groovy-all-1.8.1.jar -v
Groovy Version: 1.8.1 JVM: 1.6.0_25
Attempting to compile the following in the GroovyConsole is also enough to trigger the problem: