From: Bryan Duxbury Date: Tue, 5 May 2009 18:50:26 +0000 (+0000) Subject: THRIFT-485. rb: Generated validate methods that reference external thrift files... X-Git-Tag: 0.2.0~122 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=1cc7a1369ee6c6b1bcdcf8f7ef7845e5c4ad1205;p=common%2Fthrift.git THRIFT-485. rb: Generated validate methods that reference external thrift files' types are not referenced correctly This patch fully qualifies type names in two spots. git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@771964 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/compiler/cpp/src/generate/t_rb_generator.cc b/compiler/cpp/src/generate/t_rb_generator.cc index 708cd42a..f654424b 100644 --- a/compiler/cpp/src/generate/t_rb_generator.cc +++ b/compiler/cpp/src/generate/t_rb_generator.cc @@ -364,7 +364,7 @@ string t_rb_generator::render_const_value(t_type* type, t_const_value* value) { } else if (type->is_enum()) { indent(out) << value->get_integer(); } else if (type->is_struct() || type->is_xception()) { - out << type->get_name() << ".new({" << endl; + out << full_type_name(type) << ".new({" << endl; indent_up(); const vector& fields = ((t_struct*)type)->get_members(); vector::const_iterator f_iter; @@ -1081,7 +1081,7 @@ void t_rb_generator::generate_rb_struct_required_validator(std::ofstream& out, t_field* field = (*f_iter); if (field->get_type()->is_enum()){ - indent(out) << "unless @" << field->get_name() << ".nil? || " << field->get_type()->get_name() << "::VALID_VALUES.include?(@" << field->get_name() << ")" << endl; + indent(out) << "unless @" << field->get_name() << ".nil? || " << full_type_name(field->get_type()) << "::VALID_VALUES.include?(@" << field->get_name() << ")" << endl; indent_up(); indent(out) << "raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field " << field->get_name() << "!')" << endl; indent_down();