From: Bryan Duxbury Date: Tue, 17 Nov 2009 21:56:43 +0000 (+0000) Subject: THRIFT-628. java: Hash code method for _Fields objects does not behave as expected X-Git-Tag: 0.2.0~6 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=e476480691d114ad1f1a9794bd10b34df6554ad2;p=common%2Fthrift.git THRIFT-628. java: Hash code method for _Fields objects does not behave as expected This patch switches to using the hashcode of the actual field id, instead of the field id enumeration. git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@881559 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 e3f54496..8381f8ec 100644 --- a/compiler/cpp/src/generate/t_java_generator.cc +++ b/compiler/cpp/src/generate/t_java_generator.cc @@ -985,7 +985,7 @@ void t_java_generator::generate_union_hashcode(ofstream& out, t_struct* tstruct) if (gen_hash_code_) { indent(out) << "@Override" << endl; indent(out) << "public int hashCode() {" << endl; - indent(out) << " return new HashCodeBuilder().append(getSetField()).append(getFieldValue()).toHashCode();" << endl; + indent(out) << " return new HashCodeBuilder().append(getSetField().getThriftFieldId()).append(getFieldValue()).toHashCode();" << endl; indent(out) << "}"; } else { indent(out) << "/**" << endl;