com.ibm.wala.cast.ipa.callgraph
Class AstSSAPropagationCallGraphBuilder
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder
com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder
- All Implemented Interfaces:
- CallGraphBuilder, HeapModel, InstanceKeyFactory, PointerKeyFactory
- Direct Known Subclasses:
- AstJavaSSAPropagationCallGraphBuilder, CrossLanguageSSAPropagationCallGraphBuilder, JSSSAPropagationCallGraphBuilder
public abstract class AstSSAPropagationCallGraphBuilder
- extends SSAPropagationCallGraphBuilder
| Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder |
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system, THROWABLE_SET |
| Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder |
addBlockInstructionConstraints, addConstraintsFromNode, addNodeInstructionConstraints, addNodePassthruExceptionConstraints, contentsAreInvariant, getCaughtExceptionTypes, getCFAContextInterpreter, getIncomingPEIs, getInstanceKeyForPEI, getInstanceKeyForPEI, getInvariantContents, getInvariantContents, getUniqueCatchKey, hasUniqueCatchBlock, isConstantRef, iteratePointerKeys, makeSolver, unconditionallyAddConstraintsFromNode |
| Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder |
addAssignmentsForCatchPointerKey, addConstraintsFromChangedNode, addConstraintsFromNewNodes, assignInstanceToCatch, catches, customInit, filterForClass, getAnalysisCache, getCallGraph, getClassHierarchy, getContextInterpreter, getContextSelector, getFilteredPointerKeyForLocal, getFilteredPointerKeyForLocal, getFilteredPointerKeyForLocal, getInstanceKeyForAllocation, getInstanceKeyForClassObject, getInstanceKeyForConstant, getInstanceKeyForMultiNewArray, getInstanceKeys, getInstanceKeysForClass, getJavaLangObject, getJavaLangThrowable, getMutableInstanceKeysForClass, getOptions, getPointerAnalysis, getPointerKeyFactory, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField, getPropagationSystem, getSolver, getTargetForCall, haveAlreadyVisited, isJavaLangObject, makeCallGraph, makeSystem, markAlreadyVisited, markChanged, markDiscovered, representsNullType, setContextInterpreter, setContextSelector, setInstanceKeys, wasChanged |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEBUG_TYPE_INFERENCE
public static final boolean DEBUG_TYPE_INFERENCE
- See Also:
- Constant Field Values
DEBUG_PROPERTIES
public static final boolean DEBUG_PROPERTIES
- See Also:
- Constant Field Values
AstSSAPropagationCallGraphBuilder
protected AstSSAPropagationCallGraphBuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
PointerKeyFactory pointerKeyFactory)
useObjectCatalog
protected abstract boolean useObjectCatalog()
makeDefaultContextInterpreters
public SSAContextInterpreter makeDefaultContextInterpreters(SSAContextInterpreter appContextInterpreter,
AnalysisOptions options,
IClassHierarchy cha,
ReflectionSpecification reflect)
getPointerFlowGraphFactory
public PointerFlowGraphFactory getPointerFlowGraphFactory()
- Specified by:
getPointerFlowGraphFactory in interface CallGraphBuilder- Overrides:
getPointerFlowGraphFactory in class PropagationCallGraphBuilder
createEmptyCallGraph
protected ExplicitCallGraph createEmptyCallGraph(IClassHierarchy cha,
AnalysisOptions options)
- Overrides:
createEmptyCallGraph in class PropagationCallGraphBuilder
makeInterestingVisitor
protected SSAPropagationCallGraphBuilder.InterestingVisitor makeInterestingVisitor(CGNode node,
int vn)
- Overrides:
makeInterestingVisitor in class SSAPropagationCallGraphBuilder
hasNoInterestingUses
public boolean hasNoInterestingUses(CGNode node,
int vn,
DefUse du)
- Overrides:
hasNoInterestingUses in class SSAPropagationCallGraphBuilder
makeVisitor
protected SSAPropagationCallGraphBuilder.ConstraintVisitor makeVisitor(ExplicitCallGraph.ExplicitNode node)
- Overrides:
makeVisitor in class SSAPropagationCallGraphBuilder
- Returns:
- a visitor to examine instructions in the ir