diff --git a/jode/jode/bytecode/Reference.java b/jode/jode/bytecode/Reference.java index 7b888a8..b727a74 100644 --- a/jode/jode/bytecode/Reference.java +++ b/jode/jode/bytecode/Reference.java @@ -42,11 +42,17 @@ public class Reference { * The member type. */ String memberType; + /** + * The cached hash code + */ + int cachedHashCode; public Reference(String className, String name, String type) { - this.className = className; - this.memberName = name; - this.memberType = type; + this.className = className.intern(); + this.memberName = name.intern(); + this.memberType = type.intern(); + cachedHashCode = + className.hashCode() ^ name.hashCode() ^ type.hashCode(); } public String getClazz() { @@ -86,4 +92,8 @@ public class Reference { } return false; } + + public int hashCode() { + return cachedHashCode; + } }