Author: bryanduxbury
Date: Mon Sep 27 23:37:44 2010
New Revision: 1001966

URL: http://svn.apache.org/viewvc?rev=1001966&view=rev
Log:
THRIFT-787. compiler: Enums are not read correctly

This patch removes unnecessary enum value resolution code from all the 
individual generators. It's been unnecessary since forever ago when we made the 
compiler force the global resolution of values.

Patch: Christian Lavoie

Modified:
    incubator/thrift/trunk/compiler/cpp/src/generate/t_as3_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_cocoa_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_cpp_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_csharp_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_erl_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_hs_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_javame_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_ocaml_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_php_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_rb_generator.cc
    incubator/thrift/trunk/compiler/cpp/src/generate/t_st_generator.cc

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_as3_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_as3_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_as3_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_as3_generator.cc Mon Sep 
27 23:37:44 2010
@@ -315,14 +315,8 @@ void t_as3_generator::generate_enum(t_en
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     indent(f_enum) <<
       "public static const " << (*c_iter)->get_name() <<
       ":int = " << value << ";" << endl;
@@ -336,10 +330,8 @@ void t_as3_generator::generate_enum(t_en
   bool firstValue = true;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
     // populate set
-    if ((*c_iter)->has_value()) {
-      f_enum << (firstValue ? "" : ", ") << (*c_iter)->get_name();
-      firstValue = false;
-    }
+    f_enum << (firstValue ? "" : ", ") << (*c_iter)->get_name();
+    firstValue = false;
   }
   indent_down();
   f_enum << ");" << endl;

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_cocoa_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_cocoa_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_cocoa_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_cocoa_generator.cc Mon 
Sep 27 23:37:44 2010
@@ -333,10 +333,8 @@ void t_cocoa_generator::generate_enum(t_
     }
     f_header_ <<
       indent() << tenum->get_name() << "_" << (*c_iter)->get_name();
-    if ((*c_iter)->has_value()) {
-      f_header_ <<
-        " = " << (*c_iter)->get_value();
-    }
+    f_header_ <<
+      " = " << (*c_iter)->get_value();
   }
 
   indent_down();

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_cpp_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_cpp_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_cpp_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_cpp_generator.cc Mon Sep 
27 23:37:44 2010
@@ -394,10 +394,8 @@ void t_cpp_generator::generate_enum(t_en
     }
     f_types_ <<
       indent() << (*c_iter)->get_name();
-    if ((*c_iter)->has_value()) {
-      f_types_ <<
-        " = " << (*c_iter)->get_value();
-    }
+    f_types_ <<
+      " = " << (*c_iter)->get_value();
   }
 
   indent_down();

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_csharp_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_csharp_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_csharp_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_csharp_generator.cc Mon 
Sep 27 23:37:44 2010
@@ -193,18 +193,9 @@ void t_csharp_generator::generate_enum(t
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
-  for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter)
-  {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
-    indent(f_enum) <<
-      (*c_iter)->get_name() <<
-      " = " << value << "," << endl;
+  for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
+    int value = (*c_iter)->get_value();
+    indent(f_enum) << (*c_iter)->get_name() << " = " << value << "," << endl;
   }
 
   scope_down(f_enum);

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_erl_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_erl_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_erl_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_erl_generator.cc Mon Sep 
27 23:37:44 2010
@@ -286,19 +286,11 @@ void t_erl_generator::generate_enum(t_en
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
 
-  int value = -1;
-
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     string name = capitalize((*c_iter)->get_name());
-
-    f_types_hrl_file_ <<
-      indent() << "-define(" << program_name_ << "_" << tenum->get_name() << 
"_" << name << ", " << value << ")."<< endl;
+    indent(f_types_hrl_file_) <<
+      "-define(" << program_name_ << "_" << tenum->get_name() << "_" << name 
<< ", " << value << ")."<< endl;
   }
 
   f_types_hrl_file_ << endl;

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_hs_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_hs_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_hs_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_hs_generator.cc Mon Sep 
27 23:37:44 2010
@@ -279,36 +279,23 @@ void t_hs_generator::generate_enum(t_enu
   indent(f_types_) << "deriving (Show,Eq, Typeable, Ord)" << endl;
   indent_down();
 
-  int value = -1;
   indent(f_types_) << "instance Enum " << capitalize(tenum->get_name()) << " 
where" << endl;
   indent_up();
   indent(f_types_) << "fromEnum t = case t of" << endl;
   indent_up();
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
+    int value = (*c_iter)->get_value();
     string name = capitalize((*c_iter)->get_name());
-
-    f_types_ <<
-      indent() << name << " -> " << value << endl;
+    indent(f_types_) << name << " -> " << value << endl;
   }
   indent_down();
 
   indent(f_types_) << "toEnum t = case t of" << endl;
   indent_up();
   for(c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
+    int value = (*c_iter)->get_value();
     string name = capitalize((*c_iter)->get_name());
-
-    f_types_ <<
-      indent() << value << " -> " << name << endl;
+    indent(f_types_) << value << " -> " << name << endl;
   }
   indent(f_types_) << "_ -> throw ThriftException" << endl;
   indent_down();
@@ -377,14 +364,9 @@ string t_hs_generator::render_const_valu
     t_enum* tenum = (t_enum*)type;
     vector<t_enum_value*> constants = tenum->get_constants();
     vector<t_enum_value*>::iterator c_iter;
-    int val = -1;
     for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-      if ((*c_iter)->has_value()) {
-        val = (*c_iter)->get_value();
-      } else {
-        ++val;
-      }
-      if(val == value->get_integer()){
+      int val = (*c_iter)->get_value();
+      if (val == value->get_integer()) {
         indent(out) << capitalize((*c_iter)->get_name());
         break;
       }

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc Mon 
Sep 27 23:37:44 2010
@@ -388,13 +388,8 @@ void t_java_generator::generate_enum(t_e
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
   bool first = true;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
+    int value = (*c_iter)->get_value();
 
     if (first) {
       first = false;
@@ -432,15 +427,8 @@ void t_java_generator::generate_enum(t_e
   indent(f_enum) << "switch (value) {" << endl;
   indent_up();
 
-  value = -1;
-
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     indent(f_enum) << "case " << value << ":" << endl;
     indent(f_enum) << "  return " << (*c_iter)->get_name() << ";" << endl;
   }

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_javame_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_javame_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_javame_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_javame_generator.cc Mon 
Sep 27 23:37:44 2010
@@ -339,14 +339,8 @@ void t_javame_generator::generate_enum(t
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     generate_java_doc(f_enum, *c_iter);
     indent(f_enum) << "public static final " << tenum->get_name() <<
       " " << (*c_iter)->get_name() << " = new " << tenum->get_name() <<
@@ -379,15 +373,8 @@ void t_javame_generator::generate_enum(t
   indent(f_enum) << "switch (value) {" << endl;
   indent_up();
 
-  value = -1;
-
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     indent(f_enum) << "case " << value << ":" << endl;
     indent(f_enum) << "  return " << (*c_iter)->get_name() << ";" << endl;
   }

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc Mon Sep 
27 23:37:44 2010
@@ -276,22 +276,15 @@ void t_js_generator::generate_enum(t_enu
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
-    if(c_iter != constants.begin())
+    int value = (*c_iter)->get_value();
+    if (c_iter != constants.begin())
         f_types_ << ",";
 
     f_types_ << "'" << (*c_iter)->get_name() << "' : " << value << endl;
   }
 
   f_types_ << "}"<<endl;
-
 }
 
 /**

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_ocaml_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_ocaml_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_ocaml_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_ocaml_generator.cc Mon 
Sep 27 23:37:44 2010
@@ -313,7 +313,6 @@ void t_ocaml_generator::generate_enum(t_
   indent_up();
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
     string name = capitalize((*c_iter)->get_name());
     indent(f_types_) << "| " << name << endl;
@@ -325,15 +324,9 @@ void t_ocaml_generator::generate_enum(t_
   indent(f_types_i_) << "val to_i : t -> int" << endl;
   indent_up();
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
+    int value = (*c_iter)->get_value();
     string name = capitalize((*c_iter)->get_name());
-
-    f_types_ <<
-      indent() << "| " << name << " -> " << value << endl;
+    indent(f_types_) << "| " << name << " -> " << value << endl;
   }
   indent_down();
 
@@ -341,15 +334,9 @@ void t_ocaml_generator::generate_enum(t_
   indent(f_types_i_) << "val of_i : int -> t" << endl;
   indent_up();
   for(c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
+    int value = (*c_iter)->get_value();
     string name = capitalize((*c_iter)->get_name());
-
-    f_types_ <<
-      indent() << "| " << value << " -> " << name << endl;
+    indent(f_types_) << "| " << value << " -> " << name << endl;
   }
   indent(f_types_) << "| _ -> raise Thrift_error" << endl;
   indent_down();
@@ -410,14 +397,9 @@ string t_ocaml_generator::render_const_v
     t_enum* tenum = (t_enum*)type;
     vector<t_enum_value*> constants = tenum->get_constants();
     vector<t_enum_value*>::iterator c_iter;
-    int val = -1;
     for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-      if ((*c_iter)->has_value()) {
-        val = (*c_iter)->get_value();
-      } else {
-        ++val;
-      }
-      if(val == value->get_integer()){
+      int val = (*c_iter)->get_value();
+      if (val == value->get_integer()) {
         indent(out) << capitalize(tenum->get_name()) << "." << 
capitalize((*c_iter)->get_name());
         break;
       }

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_perl_generator.cc Mon 
Sep 27 23:37:44 2010
@@ -304,15 +304,9 @@ void t_perl_generator::generate_enum(t_e
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
-    f_types_ << "use constant "<<(*c_iter)->get_name() << " => " << value << 
";" << endl;
+    int value = (*c_iter)->get_value();
+    f_types_ << "use constant "<< (*c_iter)->get_name() << " => " << value << 
";" << endl;
   }
 }
 

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_php_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_php_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_php_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_php_generator.cc Mon Sep 
27 23:37:44 2010
@@ -307,14 +307,8 @@ void t_php_generator::generate_enum(t_en
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     f_types_ <<
       "  '" << (*c_iter)->get_name() << "' => " << value << "," << endl;
   }
@@ -330,28 +324,16 @@ void t_php_generator::generate_enum(t_en
     "final class " << php_namespace(tenum->get_program()) << tenum->get_name() 
<< " {" << endl;
   indent_up();
 
-  value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     indent(f_types_) <<
       "const " << (*c_iter)->get_name() << " = " << value << ";" << endl;
   }
 
   indent(f_types_) <<
     "static public $__names = array(" << endl;
-  value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     indent(f_types_) <<
       "  " << value << " => '" << (*c_iter)->get_name() << "'," << endl;
   }

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_py_generator.cc Mon Sep 
27 23:37:44 2010
@@ -388,16 +388,9 @@ void t_py_generator::generate_enum(t_enu
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
-    f_types_ <<
-      indent() << (*c_iter)->get_name() << " = " << value << endl;
+    int value = (*c_iter)->get_value();
+    indent(f_types_) << (*c_iter)->get_name() << " = " << value << endl;
 
     // Dictionaries to/from string names of enums
     to_string_mapping <<

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_rb_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_rb_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_rb_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_rb_generator.cc Mon Sep 
27 23:37:44 2010
@@ -297,13 +297,8 @@ void t_rb_generator::generate_enum(t_enu
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
+    int value = (*c_iter)->get_value();
 
     // Ruby class constants have to be capitalized... omg i am so on the fence
     // about languages strictly enforcing capitalization why can't we just all
@@ -311,24 +306,17 @@ void t_rb_generator::generate_enum(t_enu
     string name = capitalize((*c_iter)->get_name());
 
     generate_rdoc(f_types_, *c_iter);
-    f_types_ <<
-      indent() << name << " = " << value << endl;
+    indent(f_types_) << name << " = " << value << endl;
   }
   
-  //Create a hash mapping values back to their names (as strings) since ruby 
has no native enum type
+  // Create a hash mapping values back to their names (as strings) since ruby 
has no native enum type
   indent(f_types_) << "VALUE_MAP = {";
   bool first = true;
-  value = -1;
   for(c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    //Populate the hash
-    //If no value is given, use the next available one
-    if ((*c_iter)->has_value())
-      value = (*c_iter)->get_value();
-    else ++value;
-    
+    // Populate the hash
+    int value = (*c_iter)->get_value();
     first ? first = false : f_types_ << ", ";
     f_types_ << value << " => \"" << capitalize((*c_iter)->get_name()) << "\"";
-    
   }
   f_types_ << "}" << endl;
   
@@ -337,7 +325,7 @@ void t_rb_generator::generate_enum(t_enu
   first = true;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
     // Populate the set
-    first ? first = false: f_types_ << ", ";
+    first ? first = false : f_types_ << ", ";
     f_types_ << capitalize((*c_iter)->get_name());
   }
   f_types_ << "]).freeze" << endl;

Modified: incubator/thrift/trunk/compiler/cpp/src/generate/t_st_generator.cc
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/generate/t_st_generator.cc?rev=1001966&r1=1001965&r2=1001966&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/generate/t_st_generator.cc 
(original)
+++ incubator/thrift/trunk/compiler/cpp/src/generate/t_st_generator.cc Mon Sep 
27 23:37:44 2010
@@ -329,14 +329,8 @@ void t_st_generator::generate_enum(t_enu
 
   vector<t_enum_value*> constants = tenum->get_constants();
   vector<t_enum_value*>::iterator c_iter;
-  int value = -1;
   for (c_iter = constants.begin(); c_iter != constants.end(); ++c_iter) {
-    if ((*c_iter)->has_value()) {
-      value = (*c_iter)->get_value();
-    } else {
-      ++value;
-    }
-
+    int value = (*c_iter)->get_value();
     f_ << "\tat: '" << (*c_iter)->get_name() << "' put: " << value << ";" << 
endl;
   }
 


Reply via email to