[ 
https://issues.apache.org/jira/browse/THRIFT-2513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131234#comment-14131234
 ] 

Jens Geyer edited comment on THRIFT-2513 at 9/12/14 7:56 AM:
-------------------------------------------------------------

Damn :-) The issue is, that the enums are added without the namespace to the 
map<> via {{add_constant()}}. This leads to the "same" (not really) enum value 
being added twice, hence the error: 

{code}
// pseudocode, call sequence before my last patch
add_constant("One");
add_constant("Foo.One");
add_constant("One");
add_constant("Bar.One");
{code}

So the solution is not to remove the {{add_constant()}} call as I did, but 
instead modify the existing check within {{add_constant()}} in order to 
silently ignore duplicates. Would that cover all possible cases? What do you 
think?


was (Author: jensg):
Damn :-) The issue is, that the enums are added without the namespace to the 
map<> via {{add_constant()}}. This leads to the "same" (not really) enum value 
being added twice, hence the error: 

{code}
// pseudocode, call sequence before my last patch
add_constant("One");
add_constant("Foo.One");
add_constant("One");
add_constant("Bar.One");
{code}

So the solution is not to remove the {{add_constant()}} call as I did, but 
instead modify the within {{add_constant()}} in order to silently ignore 
duplicates. Would that cover all possible cases? What do you think?

> clean up enum value assignment
> ------------------------------
>
>                 Key: THRIFT-2513
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2513
>             Project: Thrift
>          Issue Type: Sub-task
>          Components: Build Process, C++ - Compiler, C++ - Library, Test Suite
>            Reporter: Roger Meier
>            Assignee: Jens Geyer
>             Fix For: 0.9.2
>
>         Attachments: THRIFT-2513-clean-up-enum-value-assignment.patch, 
> pure_enums.patch
>
>
> ticket for pull request 88
> https://github.com/apache/thrift/pull/88



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to