com.ibm.wala.ipa.callgraph.propagation
Class ConcreteTypeKey

java.lang.Object
  extended by 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


Constructor Summary
ConcreteTypeKey(IClass type)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 IClass getConcreteType()
          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;)
static InstanceKey[] getInstanceKeysForPEI(SSAInstruction pei, IR ir, IClassHierarchy cha)
           
 IClass getType()
           
 int hashCode()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConcreteTypeKey

public ConcreteTypeKey(IClass type)
Method Detail

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,
                                                  IR ir,
                                                  IClassHierarchy cha)
Parameters:
pei - a PEI instruction
cha - governing class hierarchy
Returns:
a set of ConcreteTypeKeys that represent the exceptions the PEI may throw.
Throws:
java.lang.IllegalArgumentException - if pei is null