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;

Reply via email to