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:09:18 UTC

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

     [ https://issues.apache.org/jira/browse/GROOVY-7773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Ray updated GROOVY-7773:
------------------------------
    Description: 
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
{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.

  was:
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.


> 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
> {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)