From 4b77902162346440b389f9dadb368ef18c47634e Mon Sep 17 00:00:00 2001 From: Micah Date: Fri, 27 Jun 2008 00:19:54 +0000 Subject: [PATCH] Replaced a Java 1.5 method call with a 1.4 method call. git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@554 ed5b42cb-e716-0410-a449-f6a68f950b19 --- .../com/threerings/miso/tile/AutoFringer.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/miso/tile/AutoFringer.java b/src/java/com/threerings/miso/tile/AutoFringer.java index e15ccc35..1e384d25 100644 --- a/src/java/com/threerings/miso/tile/AutoFringer.java +++ b/src/java/com/threerings/miso/tile/AutoFringer.java @@ -73,13 +73,30 @@ public class AutoFringer @Override public int hashCode () { - int result = Arrays.hashCode(_fringeId); + int result = arrayHashCode(_fringeId); if(_passable) { result++; } return result; } + /** + * Replaces Arrays.hashCode(long a[]) in AutoFringer.hashCode(). + * Arrays.hashCode(long a[]) is undefined for Java 1.4, and this is client code. + */ + protected int arrayHashCode(long a[]) { + if (a == null) + return 0; + + int result = 1; + for (long element : a) { + int elementHash = (int)(element ^ (element >>> 32)); + result = 31 * result + elementHash; + } + + return result; + } + /** The fringe keys of the tiles that went into this tile in the order they were drawn. */ protected long[] _fringeId; }