com.ibm.wala.ipa.callgraph.propagation
Class ConcreteTypeKey
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.ConcreteTypeKey
- All Implemented Interfaces:
- ContextItem, InstanceKey
public final class ConcreteTypeKey
- extends java.lang.Object
- implements InstanceKey
An instance key which represents a unique set for each concrete type
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
ConcreteTypeKey
public ConcreteTypeKey(IClass type)
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
getType
public IClass getType()
getConcreteType
public IClass getConcreteType()
- Description copied from interface:
InstanceKey
- For now, we assert that each InstanceKey represents a set of classes which
are all of the same concrete type (modulo the fact that all arrays of
references are considered concrete type []Object;)
- Specified by:
getConcreteType in interface InstanceKey
getInstanceKeysForPEI
public static InstanceKey[] getInstanceKeysForPEI(SSAInstruction pei,
ClassHierarchy cha)
- Parameters:
pei - a PEI instructioncha - governing class hierarchy
- Returns:
- a set of ConcreteTypeKeys that represent the exceptions the PEI may
throw.
- Throws:
java.lang.IllegalArgumentException - if pei is null