summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Mollitor <dmollitor@apache.org>2020-10-07 22:14:22 -0400
committerDavid Mollitor <dmollitor@apache.org>2020-10-07 22:14:22 -0400
commit73626787fda3b4d2b823017b9836d534ab2843d8 (patch)
treefb0b00df52da7c6cd676edf802ec347214a2fdf6
parentd89b427d19a07d556c8a6193e81bd1ed948ac5b5 (diff)
downloadthrift-THRIFT-5292.tar.gz
THRIFT-5292: No Need to Explicitly Print NullTHRIFT-5292
-rw-r--r--compiler/cpp/src/thrift/generate/t_java_generator.cc11
-rw-r--r--lib/java/src/org/apache/thrift/TBaseHelper.java10
2 files changed, 10 insertions, 11 deletions
diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc
index ceabe6687..38ead207c 100644
--- a/compiler/cpp/src/thrift/generate/t_java_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc
@@ -2645,13 +2645,6 @@ void t_java_generator::generate_java_struct_tostring(ostream& out, t_struct* tst
indent(out) << "if (!first) sb.append(\", \");" << endl;
}
indent(out) << "sb.append(\"" << (*f_iter)->get_name() << ":\");" << endl;
- bool can_be_null = type_can_be_null(field->get_type());
- if (can_be_null) {
- indent(out) << "if (this." << (*f_iter)->get_name() << " == null) {" << endl;
- indent(out) << " sb.append(\"null\");" << endl;
- indent(out) << "} else {" << endl;
- indent_up();
- }
if (get_true_type(field->get_type())->is_binary()) {
indent(out) << "org.apache.thrift.TBaseHelper.toString(this." << field->get_name() << ", sb);"
@@ -2668,10 +2661,6 @@ void t_java_generator::generate_java_struct_tostring(ostream& out, t_struct* tst
indent(out) << "sb.append(this." << (*f_iter)->get_name() << ");" << endl;
}
- if (can_be_null) {
- indent_down();
- indent(out) << "}" << endl;
- }
indent(out) << "first = false;" << endl;
if (could_be_unset) {
diff --git a/lib/java/src/org/apache/thrift/TBaseHelper.java b/lib/java/src/org/apache/thrift/TBaseHelper.java
index 6f6c6ebf5..18471b4ba 100644
--- a/lib/java/src/org/apache/thrift/TBaseHelper.java
+++ b/lib/java/src/org/apache/thrift/TBaseHelper.java
@@ -191,6 +191,11 @@ public final class TBaseHelper {
}
public static void toString(Collection<ByteBuffer> bbs, StringBuilder sb) {
+ if (bbs == null) {
+ sb.append(bbs);
+ return;
+ }
+
Iterator<ByteBuffer> it = bbs.iterator();
if (!it.hasNext()) {
sb.append("[]");
@@ -210,6 +215,11 @@ public final class TBaseHelper {
}
public static void toString(ByteBuffer bb, StringBuilder sb) {
+ if (bb == null) {
+ sb.append(bb);
+ return;
+ }
+
byte[] buf = bb.array();
int arrayOffset = bb.arrayOffset();