From 20700d69bad23c67d3e2124fe8464a858164760c Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 25 Jul 1999 08:31:38 +0000 Subject: [PATCH] added hashCode create canonifies simple ClassInterfacesTypes git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1140 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/type/ClassInterfacesType.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jode/jode/type/ClassInterfacesType.java b/jode/jode/type/ClassInterfacesType.java index d15f785..ecea502 100644 --- a/jode/jode/type/ClassInterfacesType.java +++ b/jode/jode/type/ClassInterfacesType.java @@ -78,6 +78,10 @@ public class ClassInterfacesType extends ReferenceType { /* Make sure that every {java.lang.Object} equals tObject */ if (ifaces.length == 0 && clazz == null) return tObject; + if (ifaces.length == 0) + return tClass(clazz); + if (ifaces.length == 1 && clazz == null) + return tClass(ifaces[0]); return new ClassInterfacesType(clazz, ifaces); } @@ -524,6 +528,14 @@ public class ClassInterfacesType extends ReferenceType { else return name+"_var"; } + + public int hashCode() { + int hash = clazz == null ? 0 : clazz.hashCode(); + for (int i=0; i < ifaces.length; i++) { + hash ^= ifaces[i].hashCode(); + } + return hash; + } public boolean equals(Object o) { if (o == this)