You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by jk...@apache.org on 2017/09/25 03:33:36 UTC

thrift git commit: THRIFT-4334: Fix perl indentation for default attribute values of array / hashes / objects Client: Perl

Repository: thrift
Updated Branches:
  refs/heads/master 4bd3682c7 -> a17ef79e8


THRIFT-4334: Fix perl indentation for default attribute values of
array / hashes / objects
Client: Perl

This closes #1373


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/a17ef79e
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/a17ef79e
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/a17ef79e

Branch: refs/heads/master
Commit: a17ef79e8f737b16349ed2155f938bf612303bc3
Parents: 4bd3682
Author: Brian Forbis <bf...@athenahealth.com>
Authored: Sat Sep 23 01:06:08 2017 -0400
Committer: James E. King, III <jk...@apache.org>
Committed: Sun Sep 24 20:32:56 2017 -0700

----------------------------------------------------------------------
 .../cpp/src/thrift/generate/t_perl_generator.cc | 21 ++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/a17ef79e/compiler/cpp/src/thrift/generate/t_perl_generator.cc
----------------------------------------------------------------------
diff --git a/compiler/cpp/src/thrift/generate/t_perl_generator.cc b/compiler/cpp/src/thrift/generate/t_perl_generator.cc
index 12b8bfc..0bdbb05 100644
--- a/compiler/cpp/src/thrift/generate/t_perl_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_perl_generator.cc
@@ -356,6 +356,7 @@ string t_perl_generator::render_const_value(t_type* type, t_const_value* value)
   } else if (type->is_struct() || type->is_xception()) {
     out << "new " << perl_namespace(type->get_program()) << type->get_name() << "({" << endl;
     indent_up();
+
     const vector<t_field*>& fields = ((t_struct*)type)->get_members();
     vector<t_field*>::const_iterator f_iter;
     const map<t_const_value*, t_const_value*>& val = value->get_map();
@@ -370,29 +371,30 @@ string t_perl_generator::render_const_value(t_type* type, t_const_value* value)
       if (field_type == NULL) {
         throw "type error: " + type->get_name() + " has no field " + v_iter->first->get_string();
       }
-      out << render_const_value(g_type_string, v_iter->first);
+      indent(out) << render_const_value(g_type_string, v_iter->first);
       out << " => ";
       out << render_const_value(field_type, v_iter->second);
       out << ",";
       out << endl;
     }
-
-    out << "})";
+    indent_down();
+    indent(out) << "})";
   } else if (type->is_map()) {
     t_type* ktype = ((t_map*)type)->get_key_type();
     t_type* vtype = ((t_map*)type)->get_val_type();
     out << "{" << endl;
+    indent_up();
 
     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) {
-      out << render_const_value(ktype, v_iter->first);
+      indent(out) << render_const_value(ktype, v_iter->first);
       out << " => ";
       out << render_const_value(vtype, v_iter->second);
       out << "," << endl;
     }
-
-    out << "}";
+    indent_down();
+    indent(out) << "}";
   } else if (type->is_list() || type->is_set()) {
     t_type* etype;
     if (type->is_list()) {
@@ -401,17 +403,20 @@ string t_perl_generator::render_const_value(t_type* type, t_const_value* value)
       etype = ((t_set*)type)->get_elem_type();
     }
     out << "[" << endl;
+    indent_up();
+
     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) {
 
-      out << render_const_value(etype, *v_iter);
+      indent(out) << render_const_value(etype, *v_iter);
       if (type->is_set()) {
         out << " => 1";
       }
       out << "," << endl;
     }
-    out << "]";
+    indent_down();
+    indent(out) << "]";
   }
   return out.str();
 }