Author: jake
Date: Wed Sep 22 02:33:06 2010
New Revision: 999728

URL: http://svn.apache.org/viewvc?rev=999728&view=rev
Log:
THRIFT-911: fix for trailing commas in sets, lists, maps, consts

Modified:
    incubator/thrift/trunk/compiler/cpp/src/generate/t_js_generator.cc

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=999728&r1=999727&r2=999728&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 Wed Sep 
22 02:33:06 2010
@@ -360,10 +360,11 @@ string t_js_generator::render_const_valu
       if (field_type == NULL) {
         throw "type error: " + type->get_name() + " has no field " + 
v_iter->first->get_string();
       }
+      if (v_iter != val.begin())
+        out << ",";
       out << render_const_value(g_type_string, v_iter->first);
       out << " : ";
       out << render_const_value(field_type, v_iter->second);
-      out << ",";
     }
 
     out << "})";
@@ -380,15 +381,16 @@ string t_js_generator::render_const_valu
     const map<t_const_value*, t_const_value*>& val = value->get_map();
     map<t_const_value*, t_const_value*>::const_iterator v_iter;
     for (v_iter = val.begin(); v_iter != val.end(); ++v_iter) {
+        if (v_iter != val.begin())
+          out << "," << endl;
 
         out << render_const_value(ktype, v_iter->first);
 
         out << " : ";
         out << render_const_value(vtype, v_iter->second);
-        out << "," << endl;
     }
 
-    out << "}";
+    out << endl << "}";
   } else if (type->is_list() || type->is_set()) {
     t_type* etype;
     if (type->is_list()) {
@@ -400,9 +402,9 @@ string t_js_generator::render_const_valu
     const vector<t_const_value*>& val = value->get_list();
     vector<t_const_value*>::const_iterator v_iter;
     for (v_iter = val.begin(); v_iter != val.end(); ++v_iter) {
-
+      if (v_iter != val.begin())
+        out << ",";
       out << render_const_value(etype, *v_iter);
-      out << ",";
     }
     out << "]";
   }


Reply via email to