[ 
https://jira.codehaus.org/browse/QDOX-240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Scholte updated QDOX-240:
--------------------------------

    Description: 
I try to parse enumerations with constants that call a constructor/method, but 
it fails with a parse error.

I'm using qdox-2.0-alpha-1. These are the two test cases that fail:

==========
1. Calling a constructor:
{code}
package simpleenum;

import java.util.Date;

public enum MinimalEnumExampleConstructor
{
  D_CONSTRUCTOR(new Date());         // FAILS to be parsed

  private final Date date;

  private MinimalEnumExampleConstructor(final Date date)
  {
    this.date = date;
  }
}
{code}
{{Parse error: com.thoughtworks.qdox.parser.ParseException: syntax error 
@\[7,21\] in file\:/\[snipped\]/MinimalEnumExampleConstructor.java}}

==========
2. Calling a method (probably the same root cause)
{code}
package simpleenum;

import java.util.Date;

public enum MinimalEnumExampleMethod
{
  D_METHOD(create());            // FAILS to be parsed

  private final Date date;

  private MinimalEnumExampleMethod(final Date date)
  {
    this.date = date;
  }

  public static Date create()
  {
    return new Date();
  }
}
{code}
{{Parse error: com.thoughtworks.qdox.parser.ParseException: syntax error 
@\[7,19\] in file\:/\[snipped\]/MinimalEnumExampleMethod.java}}
==========



If I define a constant (e.g. for the Date instance above), the parsing 
completes successfully:
{code}
public enum EnumExample ... {
  D_CONSTANT(X.Y);       // parsing successful
 ...
}

public class X {
  public static final Date Y = new Date();
}
{code}
{{SUCCESS}}



  was:
I try to parse enumerations with constants that call a constructor/method, but 
it fails with a parse error.

I'm using qdox-2.0-alpha-1. These are the two test cases that fail:

==========
1. Calling a constructor:

package simpleenum;

import java.util.Date;

public enum MinimalEnumExampleConstructor
{
  D_CONSTRUCTOR(new Date());         // FAILS to be parsed

  private final Date date;

  private MinimalEnumExampleConstructor(final Date date)
  {
    this.date = date;
  }
}

Parse error: com.thoughtworks.qdox.parser.ParseException: syntax error @[7,21] 
in file:/[snipped]/MinimalEnumExampleConstructor.java

==========
2. Calling a method (probably the same root cause)

package simpleenum;

import java.util.Date;

public enum MinimalEnumExampleMethod
{
  D_METHOD(create());            // FAILS to be parsed

  private final Date date;

  private MinimalEnumExampleMethod(final Date date)
  {
    this.date = date;
  }

  public static Date create()
  {
    return new Date();
  }
}

Parse error: com.thoughtworks.qdox.parser.ParseException: syntax error @[7,19] 
in file:/[snipped]/MinimalEnumExampleMethod.java
==========



If I define a constant (e.g. for the Date instance above), the parsing 
completes successfully:

public enum EnumExample ... {
  D_CONSTANT(X.Y);       // parsing successful
 ...
}

public class X {
  public static final Date Y = new Date();
}

SUCCESS



    
> Enum constructors with new Object Instances or method calls fail with a 
> parser exception
> ----------------------------------------------------------------------------------------
>
>                 Key: QDOX-240
>                 URL: https://jira.codehaus.org/browse/QDOX-240
>             Project: QDox
>          Issue Type: Bug
>          Components: Parser
>    Affects Versions: 2.0-alpha
>         Environment: Java 6, qdox-2.0-alpha-1
>            Reporter: Robert Reiner
>
> I try to parse enumerations with constants that call a constructor/method, 
> but it fails with a parse error.
> I'm using qdox-2.0-alpha-1. These are the two test cases that fail:
> ==========
> 1. Calling a constructor:
> {code}
> package simpleenum;
> import java.util.Date;
> public enum MinimalEnumExampleConstructor
> {
>   D_CONSTRUCTOR(new Date());         // FAILS to be parsed
>   private final Date date;
>   private MinimalEnumExampleConstructor(final Date date)
>   {
>     this.date = date;
>   }
> }
> {code}
> {{Parse error: com.thoughtworks.qdox.parser.ParseException: syntax error 
> @\[7,21\] in file\:/\[snipped\]/MinimalEnumExampleConstructor.java}}
> ==========
> 2. Calling a method (probably the same root cause)
> {code}
> package simpleenum;
> import java.util.Date;
> public enum MinimalEnumExampleMethod
> {
>   D_METHOD(create());            // FAILS to be parsed
>   private final Date date;
>   private MinimalEnumExampleMethod(final Date date)
>   {
>     this.date = date;
>   }
>   public static Date create()
>   {
>     return new Date();
>   }
> }
> {code}
> {{Parse error: com.thoughtworks.qdox.parser.ParseException: syntax error 
> @\[7,19\] in file\:/\[snipped\]/MinimalEnumExampleMethod.java}}
> ==========
> If I define a constant (e.g. for the Date instance above), the parsing 
> completes successfully:
> {code}
> public enum EnumExample ... {
>   D_CONSTANT(X.Y);       // parsing successful
>  ...
> }
> public class X {
>   public static final Date Y = new Date();
> }
> {code}
> {{SUCCESS}}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to