Updated Branches: refs/heads/master 507740c93 -> 026d7fc0e
THRIFT-2323 Uncompileable Delphi code generated for typedef'd structs 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/026d7fc0 Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/026d7fc0 Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/026d7fc0 Branch: refs/heads/master Commit: 026d7fc0e1eaac1a36d964ec3b900e34c11c0c81 Parents: 507740c Author: Jens Geyer <[email protected]> Authored: Thu Jan 23 19:03:37 2014 +0100 Committer: Jens Geyer <[email protected]> Committed: Thu Jan 23 19:03:37 2014 +0100 ---------------------------------------------------------------------- compiler/cpp/src/generate/t_delphi_generator.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/thrift/blob/026d7fc0/compiler/cpp/src/generate/t_delphi_generator.cc ---------------------------------------------------------------------- diff --git a/compiler/cpp/src/generate/t_delphi_generator.cc b/compiler/cpp/src/generate/t_delphi_generator.cc index 1e6b3fe..23ee19f 100644 --- a/compiler/cpp/src/generate/t_delphi_generator.cc +++ b/compiler/cpp/src/generate/t_delphi_generator.cc @@ -3223,8 +3223,11 @@ void t_delphi_generator::generate_delphi_struct_tostring_impl(ostream& out, stri tmp_sb << ".Append(', " << prop_name((*f_iter), is_exception) << ": ');" << endl; } - t_type* ttype = (*f_iter)->get_type(); + while (ttype->is_typedef()) { + ttype = ((t_typedef*)ttype)->get_type(); + } + if (ttype->is_xception() || ttype->is_struct()) { indent_impl(out) << "if (" << prop_name((*f_iter), is_exception) << " = nil) then " << tmp_sb << ".Append('<null>') else " << tmp_sb << ".Append("<< prop_name((*f_iter), is_exception) << ".ToString());" << endl;
