multiple enums with the same key generate invalid code
------------------------------------------------------
Key: THRIFT-544
URL: https://issues.apache.org/jira/browse/THRIFT-544
Project: Thrift
Issue Type: Bug
Components: Compiler (Erlang)
Affects Versions: 0.1
Reporter: Ben Taitelbaum
Fix For: 0.1
The current generator produces multiple -define statements with the same name,
which isn't valid erlang code (and also isn't valid semantically if we want two
different values).
{code:title=EnumTest.thrift|borderStyle=solid}
enum MyType1 {
A = 0,
B = 1
}
enum MyType2 {
A = 2,
C = 4
}
{code}
produces:
{code:title=enumTest_types.hrl|borderStyle=solid}
-ifndef(_enumTest_types_included).
-define(_enumTest_types_included, yeah).
-define(enumTest_A, 0).
-define(enumTest_B, 1).
-define(enumTest_A, 2).
-define(enumTest_C, 4).
-endif.
{code}
In the patched version, it produces this:
{code:title=enumTest_types.hrl|borderStyle=solid}
-ifndef(_enumTest_types_included).
-define(_enumTest_types_included, yeah).
-define(enumTest_MyType1_A, 0).
-define(enumTest_MyType1_B, 1).
-define(enumTest_MyType2_A, 2).
-define(enumTest_MyType2_C, 4).
-endif.
{code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.