diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/collections/ParanoidHashMap.java b/com.ibm.wala.core/src/com/ibm/wala/util/collections/ParanoidHashMap.java index 774e29f8d..719068934 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/collections/ParanoidHashMap.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/collections/ParanoidHashMap.java @@ -10,6 +10,7 @@ *******************************************************************************/ package com.ibm.wala.util.collections; +import java.lang.reflect.Method; import java.util.LinkedHashMap; import java.util.Map; @@ -50,7 +51,14 @@ public class ParanoidHashMap extends LinkedHashMap { @Override public V put(K arg0, V arg1) { if (arg0 != null && arg0.hashCode() == System.identityHashCode(arg0)) { - Assertions._assert(false, arg0.getClass().toString()); + try { + Method method = arg0.getClass().getMethod("hashCode"); + if (method.getDeclaringClass() == Object.class){ + Assertions._assert(false, arg0.getClass().toString()); + } + } catch (Exception e) { + Assertions._assert(false, "Could not find hashCode method"); + } } return super.put(arg0, arg1); }