You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Brian Ray (JIRA)" <ji...@apache.org> on 2016/03/02 19:08:18 UTC

[jira] [Created] (GROOVY-7773) Enum constructor with value throws "unexpected token" error

Brian Ray created GROOVY-7773:
---------------------------------

             Summary: Enum constructor with value throws "unexpected token" error
                 Key: GROOVY-7773
                 URL: https://issues.apache.org/jira/browse/GROOVY-7773
             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
{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
{groovy}

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)