You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2014/05/05 01:12:14 UTC

[jira] [Closed] (THRIFT-2444) pull request 88: thrift: clean up enum value assignment

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

Jens Geyer closed THRIFT-2444.
------------------------------

    Resolution: Duplicate

> pull request 88: thrift: clean up enum value assignment
> -------------------------------------------------------
>
>                 Key: THRIFT-2444
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2444
>             Project: Thrift
>          Issue Type: Sub-task
>          Components: Compiler (General)
>            Reporter: Jens Geyer
>
> GitHub user djwatson opened a pull request:
>     https://github.com/apache/thrift/pull/88
>     thrift: clean up enum value assignment
>         Summary:
>         Clean up how enum values are handled if an integer value is not
>         explicitly specified in the thrift file.
>     
>         For example, the following used to be a compile error, but
>         works now:
>     
>           enum MyEnum {
>             SOMEVALUE
>           }
>           struct MyStruct {
>             1: MyEnum e = SOMEVALUE
>           }
>     
>         This change also cleans up some of the error handling with out-of-range
>         values.  Previously thrift simply issued a warning for enum values that
>         didn't fit in an i32, but serialized them as i32 anyway.  Now
>         out-of-range enum values result in a compile failure.
>     
>         Test Plan:
>         Included a new unit test to verify the assignment of enum values.  I
>         also verified that g++ makes the same enum value assignments when
>         compiling these enums as C++ code.
> You can merge this pull request into a Git repository by running:
>     $ git pull https://github.com/djwatson/thrift enum_parser
> Alternatively you can review and apply these changes as the patch at:
>     https://github.com/apache/thrift/pull/88.patch
> To close this pull request, make a commit to your master/trunk branch
> with (at least) the following in the commit message:
>     This closes #88
>     
> ----
> commit 066cdfc0846dce8128263592efffa88084632a74
> Author: Dave Watson <da...@fb.com>
> Date:   2014-03-25T18:51:47Z
>     thrift: clean up enum value assignment
>     
>         Summary:
>         Clean up how enum values are handled if an integer value is not
>         explicitly specified in the thrift file.
>     
>         For example, the following used to be a compile error, but
>         works now:
>     
>           enum MyEnum {
>             SOMEVALUE
>           }
>           struct MyStruct {
>             1: MyEnum e = SOMEVALUE
>           }
>     
>         This change also cleans up some of the error handling with out-of-range
>         values.  Previously thrift simply issued a warning for enum values that
>         didn't fit in an i32, but serialized them as i32 anyway.  Now
>         out-of-range enum values result in a compile failure.
>     
>         Test Plan:
>         Included a new unit test to verify the assignment of enum values.  I
>         also verified that g++ makes the same enum value assignments when
>         compiling these enums as C++ code.



--
This message was sent by Atlassian JIRA
(v6.2#6252)