THRIFT-2323 Uncompileable Delphi code generated for typedef'd structs
Patch: Jens Geyer
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 @@
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;