Explorar el Código

ZOOKEEPER-3687: Jute Use JDK hashCode Methods for Native Types

Author: David Mollitor <dmollitor@apache.org>

Reviewers: Andor Molnar <anmolnar@apache.org>, Christopher Tubbs <ctubbsii@apache.org>, Damien Diederen <ddiederen@apache.org>

Closes #1215 from belugabehr/ZOOKEEPER-3687
David Mollitor hace 4 años
padre
commit
3df3563173

+ 1 - 1
zookeeper-jute/src/main/java/org/apache/jute/compiler/JBoolean.java

@@ -39,7 +39,7 @@ public class JBoolean extends JType {
     }
 
     public String genJavaHashCode(String fname) {
-        return "     ret = (" + fname + ")?0:1;\n";
+        return "     ret = java.lang.Boolean.hashCode(" + fname + ");\n";
     }
 
     String genCsharpHashCode(String fname) {

+ 1 - 2
zookeeper-jute/src/main/java/org/apache/jute/compiler/JDouble.java

@@ -35,8 +35,7 @@ public class JDouble extends JType {
     }
 
     public String genJavaHashCode(String fname) {
-        String tmp = "Double.doubleToLongBits(" + fname + ")";
-        return "    ret = (int)(" + tmp + "^(" + tmp + ">>>32));\n";
+        return "    ret = java.lang.Double.hashCode(" + fname + ");\n";
     }
 
 }

+ 1 - 1
zookeeper-jute/src/main/java/org/apache/jute/compiler/JFloat.java

@@ -35,7 +35,7 @@ public class JFloat extends JType {
     }
 
     public String genJavaHashCode(String fname) {
-        return "    ret = Float.floatToIntBits(" + fname + ");\n";
+        return "    ret = java.lang.Float.hashCode(" + fname + ");\n";
     }
 
 }

+ 1 - 1
zookeeper-jute/src/main/java/org/apache/jute/compiler/JLong.java

@@ -35,6 +35,6 @@ public class JLong extends JType {
     }
 
     public String genJavaHashCode(String fname) {
-        return "    ret = (int) (" + fname + "^(" + fname + ">>>32));\n";
+        return "    ret = java.lang.Long.hashCode(" + fname + ");\n";
     }
 }