com.ibm.wala.cast.ipa.callgraph
Class CrossLanguageSSAPropagationCallGraphBuilder
java.lang.Object
com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder
com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder
com.ibm.wala.cast.ipa.callgraph.CrossLanguageSSAPropagationCallGraphBuilder
- All Implemented Interfaces:
- CallGraphBuilder, HeapModel, InstanceKeyFactory, PointerKeyFactory
public abstract class CrossLanguageSSAPropagationCallGraphBuilder
- extends AstSSAPropagationCallGraphBuilder
| 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, 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, 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 |
CrossLanguageSSAPropagationCallGraphBuilder
protected CrossLanguageSSAPropagationCallGraphBuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
PointerKeyFactory pointerKeyFactory)
makeMainVisitorSelector
protected abstract TargetLanguageSelector<SSAPropagationCallGraphBuilder.ConstraintVisitor,ExplicitCallGraph.ExplicitNode> makeMainVisitorSelector()
makeInterestingVisitorSelector
protected abstract TargetLanguageSelector<SSAPropagationCallGraphBuilder.InterestingVisitor,java.lang.Integer> makeInterestingVisitorSelector()
makePointerVisitorSelector
protected abstract TargetLanguageSelector<CrossLanguageSSAPropagationCallGraphBuilder.PointerVisitorFactory,CGNode> makePointerVisitorSelector(CrossLanguageSSAPropagationCallGraphBuilder.CrossLanguagePointerFlowGraph analysis)
makeImplicitVisitorSelector
protected abstract TargetLanguageSelector<AstSSAPropagationCallGraphBuilder.AstPointerAnalysisImpl.AstImplicitPointsToSetVisitor,LocalPointerKey> makeImplicitVisitorSelector(CrossLanguageSSAPropagationCallGraphBuilder.CrossLanguagePointerAnalysisImpl analysis)
makeRootNodeSelector
protected abstract TargetLanguageSelector<AbstractRootMethod,CrossLanguageCallGraph> makeRootNodeSelector()
createEmptyCallGraph
protected ExplicitCallGraph createEmptyCallGraph(IClassHierarchy cha,
AnalysisOptions options)
- Overrides:
createEmptyCallGraph in class AstSSAPropagationCallGraphBuilder
getLanguage
protected static Atom getLanguage(CGNode node)
makeInterestingVisitor
protected SSAPropagationCallGraphBuilder.InterestingVisitor makeInterestingVisitor(CGNode node,
int vn)
- Overrides:
makeInterestingVisitor in class AstSSAPropagationCallGraphBuilder
makeVisitor
protected SSAPropagationCallGraphBuilder.ConstraintVisitor makeVisitor(ExplicitCallGraph.ExplicitNode node)
- Overrides:
makeVisitor in class AstSSAPropagationCallGraphBuilder
- Returns:
- a visitor to examine instructions in the ir
getPointerFlowGraphFactory
public PointerFlowGraphFactory getPointerFlowGraphFactory()
- Specified by:
getPointerFlowGraphFactory in interface CallGraphBuilder- Overrides:
getPointerFlowGraphFactory in class AstSSAPropagationCallGraphBuilder
makeSystem
protected PropagationSystem makeSystem(AnalysisOptions options)
- Overrides:
makeSystem in class PropagationCallGraphBuilder
customInit
protected void customInit()
- Overrides:
customInit in class PropagationCallGraphBuilder