You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2016/10/07 17:04:16 UTC

thrift git commit: THRIFT-3868 Java struct equals should do identity check before field comparison Client: Java, JavaME Patch: Dustin Pho

Repository: thrift
Updated Branches:
  refs/heads/master 548403eea -> d6bcb265b


THRIFT-3868 Java struct equals should do identity check before field comparison
Client: Java, JavaME
Patch: Dustin Pho <dp...@vt.edu>

This closes #1106


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/d6bcb265
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/d6bcb265
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/d6bcb265

Branch: refs/heads/master
Commit: d6bcb265bb45917ddefac155ae71cf17ea60f9bc
Parents: 548403e
Author: Dustin Pho <dp...@vt.edu>
Authored: Sun Oct 2 07:56:01 2016 -0700
Committer: Jens Geyer <je...@apache.org>
Committed: Fri Oct 7 19:03:40 2016 +0200

----------------------------------------------------------------------
 compiler/cpp/src/thrift/generate/t_java_generator.cc   | 3 ++-
 compiler/cpp/src/thrift/generate/t_javame_generator.cc | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/d6bcb265/compiler/cpp/src/thrift/generate/t_java_generator.cc
----------------------------------------------------------------------
diff --git a/compiler/cpp/src/thrift/generate/t_java_generator.cc b/compiler/cpp/src/thrift/generate/t_java_generator.cc
index 8b3c326..4feb626 100644
--- a/compiler/cpp/src/thrift/generate/t_java_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_java_generator.cc
@@ -1863,7 +1863,8 @@ void t_java_generator::generate_java_struct_equality(ofstream& out, t_struct* ts
 
   out << indent() << "public boolean equals(" << tstruct->get_name() << " that) {" << endl;
   indent_up();
-  out << indent() << "if (that == null)" << endl << indent() << "  return false;" << endl;
+  out << indent() << "if (that == null)" << endl << indent() << "  return false;" << endl
+      << indent() << "if (this == that)" << endl << indent() << "  return true;"  << endl;
 
   const vector<t_field*>& members = tstruct->get_members();
   vector<t_field*>::const_iterator m_iter;

http://git-wip-us.apache.org/repos/asf/thrift/blob/d6bcb265/compiler/cpp/src/thrift/generate/t_javame_generator.cc
----------------------------------------------------------------------
diff --git a/compiler/cpp/src/thrift/generate/t_javame_generator.cc b/compiler/cpp/src/thrift/generate/t_javame_generator.cc
index aa7eccf..94d66fc 100644
--- a/compiler/cpp/src/thrift/generate/t_javame_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_javame_generator.cc
@@ -1189,7 +1189,8 @@ void t_javame_generator::generate_java_struct_equality(ofstream& out, t_struct*
 
   out << indent() << "public boolean equals(" << tstruct->get_name() << " that) {" << endl;
   indent_up();
-  out << indent() << "if (that == null)" << endl << indent() << "  return false;" << endl;
+  out << indent() << "if (that == null)" << endl << indent() << "  return false;" << endl
+      << indent() << "if (this == that)" << endl << indent() << "  return true;"  << endl;
 
   const vector<t_field*>& members = tstruct->get_members();
   vector<t_field*>::const_iterator m_iter;