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