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 2016/03/04 05:33:40 UTC
[jira] [Created] (GROOVY-7778) CLONE - Enum constructor with value
throws "unexpected token" error
Paul King created GROOVY-7778:
---------------------------------
Summary: CLONE - Enum constructor with value throws "unexpected token" error
Key: GROOVY-7778
URL: https://issues.apache.org/jira/browse/GROOVY-7778
Project: Groovy
Issue Type: Bug
Components: Compiler
Affects Versions: 2.4.6
Environment: Windows 7 Professional
JDK 1.8.0_45
Reporter: Brian Ray
Priority: Minor
First time submitter to this JIRA so let me know if I've specified anything incorrectly. I just upgraded from 2.4.4 to 2.4.6 and now declaring an enum constructor accepting a value as follows:
{code:title=UsStates.groovy}
enum UsState {
ID('Idaho'),
IL('Illinois'),
IN('Indiana'),
UsState( String value ) { this.value = value }
private final String value
String toString() { return value }
}
println UsState.ID //Idaho
{code}
throws the following compile error:
{code}
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
C:\svn_qa\jenkins_trunk\scripts\UsStates.groovy: 7: unexpected token: this @ line 7, column 29.
UsState( String value ) { this.value = value }
^
1 error
{code}
No such error occurred in 2.4.4, nor does it happen in 2.4.5. Here are a few contrasting things that do seem to work in 2.4.6:
{code:title=UsStatesBoring.groovy}
enum UsState {
ID,
IL,
IN,
}
println UsState.ID //ID
{code}
{code:title=UsStatesNoEnum.groovy}
class UsState {
UsState( String value ) { this.value = value }
private final String value
String toString() { return value }
}
final idaho = new UsState('Idaho')
println idaho //Idaho
{code}
Though this seems higher priority than Minor, I can work around it by simply downgrading to 2.4.5. I wish there was a Medium priority.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)