com.ibm.wala.cast.ipa.callgraph
Class ScopeMappingInstanceKeys

java.lang.Object
  extended by com.ibm.wala.cast.ipa.callgraph.ScopeMappingInstanceKeys
All Implemented Interfaces:
InstanceKeyFactory
Direct Known Subclasses:
JavaScopeMappingInstanceKeys, JavaScriptScopeMappingInstanceKeys

public abstract class ScopeMappingInstanceKeys
extends java.lang.Object
implements InstanceKeyFactory


Nested Class Summary
 class ScopeMappingInstanceKeys.ScopeMappingInstanceKey
           
 
Constructor Summary
ScopeMappingInstanceKeys(PropagationCallGraphBuilder builder, InstanceKeyFactory basic)
           
 
Method Summary
 InstanceKey getInstanceKeyForAllocation(CGNode node, NewSiteReference allocation)
           
 InstanceKey getInstanceKeyForClassObject(TypeReference type)
           
 InstanceKey getInstanceKeyForConstant(TypeReference type, java.lang.Object S)
           
 InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim)
           
 InstanceKey getInstanceKeyForPEI(CGNode node, ProgramCounter instr, TypeReference type)
           
protected abstract  AstMethod.LexicalParent[] getParents(InstanceKey base)
           
protected abstract  boolean needsScopeMappingKey(InstanceKey base)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScopeMappingInstanceKeys

public ScopeMappingInstanceKeys(PropagationCallGraphBuilder builder,
                                InstanceKeyFactory basic)
Method Detail

getParents

protected abstract AstMethod.LexicalParent[] getParents(InstanceKey base)

needsScopeMappingKey

protected abstract boolean needsScopeMappingKey(InstanceKey base)

getInstanceKeyForAllocation

public InstanceKey getInstanceKeyForAllocation(CGNode node,
                                               NewSiteReference allocation)
Specified by:
getInstanceKeyForAllocation in interface InstanceKeyFactory
Returns:
the instance key that represents a particular allocation

getInstanceKeyForMultiNewArray

public InstanceKey getInstanceKeyForMultiNewArray(CGNode node,
                                                  NewSiteReference allocation,
                                                  int dim)
Specified by:
getInstanceKeyForMultiNewArray in interface InstanceKeyFactory
Returns:
the instance key that represents the array allocated as the dim_th dimension at a particular allocation

getInstanceKeyForConstant

public InstanceKey getInstanceKeyForConstant(TypeReference type,
                                             java.lang.Object S)
Specified by:
getInstanceKeyForConstant in interface InstanceKeyFactory
Returns:
the instance key that represents a constant with value S, when considered as a particular type

getInstanceKeyForPEI

public InstanceKey getInstanceKeyForPEI(CGNode node,
                                        ProgramCounter instr,
                                        TypeReference type)
Specified by:
getInstanceKeyForPEI in interface InstanceKeyFactory
Returns:
the instance key that represents the exception of type _type_ thrown by a particular PEI.

getInstanceKeyForClassObject

public InstanceKey getInstanceKeyForClassObject(TypeReference type)
Specified by:
getInstanceKeyForClassObject in interface InstanceKeyFactory
Returns:
the instance key that represents the class object of type _type_.