You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2020/01/27 10:03:00 UTC

[jira] [Commented] (GROOVY-8678) Groovy Script execution fails when comparing decimal values against decimal constant without leading 0

    [ https://issues.apache.org/jira/browse/GROOVY-8678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17024207#comment-17024207 ] 

Paul King commented on GROOVY-8678:
-----------------------------------

For the Parrot parser, the error message is:
{{Unexpected input: '.' at line: 1, column: 20}}

> Groovy Script execution fails when comparing decimal values against decimal constant without leading 0
> ------------------------------------------------------------------------------------------------------
>
>                 Key: GROOVY-8678
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8678
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime, Groovysh
>    Affects Versions: 2.4.x, 2.5.0
>            Reporter: Dyutimoy Sarkar
>            Priority: Major
>             Fix For: 4.x
>
>
> Hi,
> I am reporting the following bug as I am not able to ascertain from the web if what I am facing is a consequence of desired intent.
> Using groovy shell to execute the following groovy script snippet fails at compilation phase when executing the script through java. I am using Jre1.7
> {code:java}
> public static void main(String[] args) throws Exception, IllegalAccessException {
>     Object evaluate = new GroovyShell().evaluate("\"abcd\".length() == .34");
>     System.out.println("result: " + evaluate); 
> }{code}
>  In the above snippet, If I replace *.34* with *0.34* then the script execution works as expected.
> Exception reported is as follows
> {code:java}
> Exception in thread "main" org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
> Script1.groovy: 1: unexpected token: . @ line 1, column 20.
> "abcd".length() == .34
> ^
> 1 error
> at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
> at org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:151)
> at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:121)
> at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:133)
> at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:332)
> at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:226)
> at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:192)
> at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:230)
> at org.codehaus.groovy.control.CompilationUnit$1.call(CompilationUnit.java:186)
> at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:968)
> at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:633)
> at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:609)
> at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:586)
> at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:352)
> at groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:85)
> at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:321)
> at groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:318)
> at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
> at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:316)
> at groovy.lang.GroovyShell.parseClass(GroovyShell.java:548)
> at groovy.lang.GroovyShell.parse(GroovyShell.java:560)
> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:444)
> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:483)
> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:454)
> at groovytest.Testtest.main(Testtest.java:19)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)