You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Thunder Stumpges (JIRA)" <ji...@apache.org> on 2011/09/01 01:51:10 UTC

[jira] [Created] (THRIFT-1318) Incorrect syntax for struct with enum property and default value when value is negative

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

        

[jira] [Updated] (THRIFT-1318) Incorrect syntax for struct with enum property and default value when value is negative

Posted by "Thunder Stumpges (JIRA)" <ji...@apache.org>.
     [ 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

        

[jira] [Updated] (THRIFT-1318) Incorrect syntax for struct with enum property and default value when value is negative

Posted by "Thunder Stumpges (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-1318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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

    Attachment:     (was: NegativeEnumConstant.patch)

> 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

        

[jira] [Updated] (THRIFT-1318) Incorrect syntax for struct with enum property and default value when value is negative

Posted by "Thunder Stumpges (JIRA)" <ji...@apache.org>.
     [ 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

Got my environment to build the compiler and in testing realized I updated 'render_const_value' but not 'print_const_value' and the latter was in use when making the default constructor. I believe the fix is applicable to 'render_const_value' as well so I left it. The new patch should be correct and works great for me!

> 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