Repository: thrift Updated Branches: refs/heads/master 91b3b1a6b -> 5588a569d
THRIFT-2555 excessive "unused field" comments Client: Go Patch: Jens Geyer Project: http://git-wip-us.apache.org/repos/asf/thrift/repo Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/eb1e1d55 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/eb1e1d55 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/eb1e1d55 Branch: refs/heads/master Commit: eb1e1d5567cabe4a4f7f58c380f651325cdba77e Parents: 91b3b1a Author: Jens Geyer <[email protected]> Authored: Fri May 30 17:51:14 2014 +0200 Committer: Jens Geyer <[email protected]> Committed: Fri May 30 17:53:45 2014 +0200 ---------------------------------------------------------------------- compiler/cpp/src/generate/t_go_generator.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/eb1e1d55/compiler/cpp/src/generate/t_go_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc index c581ffa..19f502d 100644 --- a/compiler/cpp/src/generate/t_go_generator.cc +++ b/compiler/cpp/src/generate/t_go_generator.cc @@ -1144,9 +1144,16 @@ void t_go_generator::generate_go_struct_definition(ofstream& out, int sorted_keys_pos = 0; for (m_iter = sorted_members.begin(); m_iter != sorted_members.end(); ++m_iter) { - for (; sorted_keys_pos != (*m_iter)->get_key(); sorted_keys_pos++) { - if (sorted_keys_pos != 0) { - indent(out) << "// unused field # " << sorted_keys_pos << endl; + if( sorted_keys_pos != (*m_iter)->get_key()) { + int first_unused = std::max(1,sorted_keys_pos++); + while( sorted_keys_pos != (*m_iter)->get_key()) { + ++sorted_keys_pos; + } + int last_unused = sorted_keys_pos - 1; + if (first_unused < last_unused) { + indent(out) << "// unused fields # " << first_unused << " to "<< last_unused << endl; + } else if (first_unused == last_unused) { + indent(out) << "// unused field # " << first_unused << endl; } }
