diff options
author | Hernan Silberman <hernan@n3twork.com> | 2022-06-08 11:29:43 -0700 |
---|---|---|
committer | Jens Geyer <Jens-G@users.noreply.github.com> | 2022-08-25 22:19:36 +0200 |
commit | d5c6697bce9efbab0974e6f99df822355335df8a (patch) | |
tree | f027852c265280e913ee9e64de952df7f9280600 /compiler | |
parent | bdfde857a802e443a2cab1717744dee8e56cbe76 (diff) | |
download | thrift-d5c6697bce9efbab0974e6f99df822355335df8a.tar.gz |
THRIFT-4086: Add missing calls to get_true_type when generating validator + metadata code
Client: java
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/cpp/src/thrift/generate/t_java_generator.cc | 5 |
1 files changed, 3 insertions, 2 deletions
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, " |