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

Thunder Stumpges updated THRIFT-1318:
-------------------------------------

    Attachment: NegativeEnumConstant.patch

Added patch file. Pretty confident this will work! Have NOT gotten the code to 
build however due to my not having an environment set up to compile the 
project. Any chance someone could take this for me and run with it??!

> 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
>         Attachments: NegativeEnumConstant.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> 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