Fix Java generator for javabean target to construct maps and lists properly
Summary: From Johann Oskarsson
Reviewed By: dreiss
Test Plan: Generate javabean code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665476 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc
index 0440222..ea91f66 100644
--- a/compiler/cpp/src/generate/t_java_generator.cc
+++ b/compiler/cpp/src/generate/t_java_generator.cc
@@ -188,7 +188,7 @@
vector<t_field*>::const_iterator f_iter;
const map<t_const_value*, t_const_value*>& val = value->get_map();
map<t_const_value*, t_const_value*>::const_iterator v_iter;
- out << name << " = new " << type_name(type) << "();" << endl;
+ out << name << " = new " << type_name(type, false, true) << "();" << endl;
if (!in_static) {
indent(out) << "static {" << endl;
indent_up();
@@ -213,7 +213,7 @@
}
out << endl;
} else if (type->is_map()) {
- out << name << " = new " << type_name(type, true, true) << "();" << endl;
+ out << name << " = new " << type_name(type, false, true) << "();" << endl;
if (!in_static) {
indent(out) << "static {" << endl;
indent_up();
@@ -233,7 +233,7 @@
}
out << endl;
} else if (type->is_list() || type->is_set()) {
- out << name << " = new " << type_name(type) << "();" << endl;
+ out << name << " = new " << type_name(type, false, true) << "();" << endl;
if (!in_static) {
indent(out) << "static {" << endl;
indent_up();
@@ -739,7 +739,7 @@
indent_up();
indent(out) << "if (this." << field_name << " == null) {" << endl;
indent_up();
- indent(out) << "this." << field_name << " = new " << type_name(type) <<
+ indent(out) << "this." << field_name << " = new " << type_name(type, false, true) <<
"();" << endl;
indent_down();
indent(out) << "}" << endl;