THRIFT-3377 Deep copy is actually shallow when using typedef members
Client: Java
Patch: Roshan George <roshan@arjie.com>
This closes #823
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index f711f2d..7c610fb 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -1532,7 +1532,7 @@
for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) {
t_field* field = (*m_iter);
std::string field_name = field->get_name();
- t_type* type = field->get_type();
+ t_type* type = field->get_type()->get_true_type();
bool can_be_null = type_can_be_null(type);
if (can_be_null) {