This is an automated email from the ASF dual-hosted git repository. yuxuan pushed a commit to branch go-compiler-indentation-2 in repository https://gitbox.apache.org/repos/asf/thrift.git
commit f309927eb3a207f92f74045412e41c2a1836ba15 Author: Yuxuan 'fishy' Wang <[email protected]> AuthorDate: Thu Jun 13 10:13:25 2024 -0700 go: Fix indentation in compiler This fixes a small case I missed in 4930caca. Before: func NewFoo() *Foo { return &Foo{ DefDef: 10, DefOpt: 11, } } After: func NewFoo() *Foo { return &Foo{ DefDef: 10, DefOpt: 11, } } --- compiler/cpp/src/thrift/generate/t_go_generator.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/cpp/src/thrift/generate/t_go_generator.cc b/compiler/cpp/src/thrift/generate/t_go_generator.cc index 65574dd0a..a42c71ad5 100644 --- a/compiler/cpp/src/thrift/generate/t_go_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_go_generator.cc @@ -1209,19 +1209,25 @@ void t_go_generator::generate_go_struct_initializer(ostream& out, t_struct* tstruct, bool is_args_or_result) { out << publicize(type_name(tstruct), is_args_or_result) << "{"; + indent_up(); const vector<t_field*>& members = tstruct->get_members(); + bool empty = true; for (auto member : members) { bool pointer_field = is_pointer_field(member); string publicized_name; t_const_value* def_value; get_publicized_name_and_def_value(member, &publicized_name, &def_value); if (!pointer_field && def_value != nullptr && !omit_initialization(member)) { + empty = false; out << '\n' << indent() << publicized_name << ": " - << render_field_initial_value(member, member->get_name(), pointer_field) << "," - << '\n'; + << render_field_initial_value(member, member->get_name(), pointer_field) << ","; } } + indent_down(); + if (!empty) { + out << '\n' << indent(); + } out << "}" << '\n'; }
