Incorrect syntax for struct with enum property and default value when value is 
negative
---------------------------------------------------------------------------------------

                 Key: THRIFT-1318
                 URL: https://issues.apache.org/jira/browse/THRIFT-1318
             Project: Thrift
          Issue Type: Bug
          Components: C# - Compiler
    Affects Versions: 0.7
         Environment: Windows 7 / .net 4.0
            Reporter: Thunder Stumpges


If I have a struct with a property of type enum with a default value specified, 
and the default value is negative, then the code generated is incorrect and has 
a syntax error.

E.G. thrift file like this:

{code}
enum ReturnType {
    SuccessTypeA = 2
    SuccessUnknownType = 1,
    FailUnknown = -1,
    OtherFailure = -2
}

struct ReturnInformation {
        1: required ReturnType RetType = ReturnType.FailUnknown;
}
{code}

Generates a constructor like this:
{code}

    public MatchInformation() {
      this._MatchType = (MatchTypes)-1;
    }

{code}

which fails with an exception "To cast a negative value, you must enclose the 
value in parentheses".

I have updated the code to always put the enum constant value in parentheses 
(positive or negative), but need to get the compiler built and tested before I 
can submit a patch. Any chance someone could do this for me?
:)
 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to