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/04/27 19:57:15 UTC
[jira] [Updated] (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 updated THRIFT-2444:
-------------------------------
Issue Type: Sub-task (was: Bug)
Parent: THRIFT-2422
> 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)