From d5c6697bce9efbab0974e6f99df822355335df8a Mon Sep 17 00:00:00 2001 From: Hernan Silberman Date: Wed, 8 Jun 2022 11:29:43 -0700 Subject: THRIFT-4086: Add missing calls to get_true_type when generating validator + metadata code Client: java --- compiler/cpp/src/thrift/generate/t_java_generator.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'compiler') diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc index 3ce1450b1..7dfd10f52 100644 --- a/compiler/cpp/src/thrift/generate/t_java_generator.cc +++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc @@ -2192,7 +2192,7 @@ void t_java_generator::generate_java_validator(ostream& out, t_struct* tstruct) out << indent() << "// check for sub-struct validity" << endl; for (f_iter = fields.begin(); f_iter != fields.end(); ++f_iter) { - t_type* type = (*f_iter)->get_type(); + t_type* type = get_true_type((*f_iter)->get_type()); if (type->is_struct() && !((t_struct*)type)->is_union()) { out << indent() << "if (" << (*f_iter)->get_name() << " != null) {" << endl; out << indent() << " " << (*f_iter)->get_name() << ".validate();" << endl; @@ -2965,7 +2965,8 @@ void t_java_generator::generate_field_value_meta_data(std::ostream& out, t_type* out << endl; indent_up(); indent_up(); - if (type->is_struct() || type->is_xception()) { + t_type* ttype = get_true_type(type); + if (ttype->is_struct() || ttype->is_xception()) { indent(out) << "new " "org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType." "STRUCT, " -- cgit v1.2.1