thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Marz (JIRA)" <j...@apache.org>
Subject [jira] Created: (THRIFT-223) Validate method should check that enum types are assigned valid values
Date Thu, 04 Dec 2008 19:46:44 GMT
Validate method should check that enum types are assigned valid values
----------------------------------------------------------------------

                 Key: THRIFT-223
                 URL: https://issues.apache.org/jira/browse/THRIFT-223
             Project: Thrift
          Issue Type: Improvement
          Components: Compiler (Java)
            Reporter: Nathan Marz
            Priority: Minor


The validate method generated currently checks that required fields are set. It would be nice
if it were to enforce more parts of the schema. One example of this are the values assigned
to enum types. For example, if I have this enum:

enum MyEnum {
 FOO = 1;
 BAR = 3;
 BAZ = 4;
 BIZ = 5;
} 

and this struct:

struct MyStruct {
 MyEnum e;
}

The validate method would ensure that MyStruct#e is either 1, 3, 4, or 5.

The naive way of implementing this would be to generate a conditional statement for every
value, aka 

"e==1 || e==3 || e==4 || e==5"

A better implementation would generate something like:

"e==1 || (e>=3 && e<=5)"

Since the common case seems to be having large ranges of contiguous values, this is the difference
between having N conditionals execute versus 2.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message