From 30e1de9fd5c11e5df3fc3673620ccac3299d8b86 Mon Sep 17 00:00:00 2001 From: Bryan Duxbury Date: Tue, 10 Feb 2009 18:36:56 +0000 Subject: [PATCH] THRIFT-316. java: @Override isn't generated for hashCode() without the hash code builder Fixed with a trivial reorganization of the hashCode method generation. git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743046 13f79535-47bb-0310-9956-ffa450edef68 --- compiler/cpp/src/generate/t_java_generator.cc | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/compiler/cpp/src/generate/t_java_generator.cc b/compiler/cpp/src/generate/t_java_generator.cc index a9ad54f3..e8eab5c3 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -861,13 +861,11 @@ void t_java_generator::generate_java_struct_equality(ofstream& out, scope_down(out); out << endl; + out << indent() << "@Override" << endl << + indent() << "public int hashCode() {" << endl; + indent_up(); if (gen_hash_code_) { - out << indent() << "@Override" << endl << - indent() << "public int hashCode() {" << endl; - indent_up(); - - out << - indent() << "HashCodeBuilder builder = new HashCodeBuilder();" << endl; + indent(out) << "HashCodeBuilder builder = new HashCodeBuilder();" << endl; for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) { out << endl; @@ -895,20 +893,12 @@ void t_java_generator::generate_java_struct_equality(ofstream& out, } out << endl; - out << - indent() << "return builder.toHashCode();" << endl; - scope_down(out); - out << endl; - + indent(out) << "return builder.toHashCode();" << endl; } else { - out << - indent() << "public int hashCode() {" << endl; - indent_up(); - out << - indent() << "return 0;" << endl; - scope_down(out); - out << endl; + indent(out) << "return 0;" << endl; } + indent_down(); + indent(out) << "}" << endl << endl; } /** -- 2.17.1