Class BasicRTABuilder
- java.lang.Object
-
- com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
-
- com.ibm.wala.ipa.callgraph.propagation.rta.AbstractRTABuilder
-
- com.ibm.wala.ipa.callgraph.propagation.rta.BasicRTABuilder
-
- All Implemented Interfaces:
CallGraphBuilder
public class BasicRTABuilder extends AbstractRTABuilder
TODO: refactor to eliminate more redundancy with SSACallGraphBuilder
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
PropagationCallGraphBuilder.ArrayLoadOperator, PropagationCallGraphBuilder.ArrayStoreOperator, PropagationCallGraphBuilder.FilterOperator, PropagationCallGraphBuilder.GetFieldOperator, PropagationCallGraphBuilder.InstanceArrayStoreOperator, PropagationCallGraphBuilder.InstancePutFieldOperator, PropagationCallGraphBuilder.InverseFilterOperator, PropagationCallGraphBuilder.MutableBoolean, PropagationCallGraphBuilder.PutFieldOperator, PropagationCallGraphBuilder.TypedPointerKey
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.rta.AbstractRTABuilder
allocatedClasses, clinitProcessed, clone2Assign, DEBUG, DEBUG_LEVEL
-
Fields inherited from class com.ibm.wala.ipa.callgraph.propagation.PropagationCallGraphBuilder
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system
-
-
Constructor Summary
Constructors Constructor Description BasicRTABuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, ContextSelector contextSelector, SSAContextInterpreter contextInterpreter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected RTASelectorKeygetKeyForSelector(Selector selector)protected PointerKeygetKeyForSite(CallSiteReference site)protected UnaryOperator<PointsToSetVariable>makeDispatchOperator(CallSiteReference site, CGNode node)protected voidupdateSetsForNewClass(IClass klass, InstanceKey iKey, CGNode node, NewSiteReference n)Perform needed bookkeeping when a new class is discovered.-
Methods inherited from class com.ibm.wala.ipa.callgraph.propagation.rta.AbstractRTABuilder
addConstraintsFromNode, createEmptyCallGraph, customInit, getAllocatedTypes, getPointerAnalysis, getRTAContextInterpreter, makeContextInterpreter, makeContextSelector, makeSolver, makeSystem, processClassInitializer, unconditionallyAddConstraintsFromNode, visitInvoke, visitNew
-
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, getInstanceKeyForConstant, getInstanceKeyForMetadataObject, getInstanceKeyForMultiNewArray, getInstanceKeys, getInstanceKeysForClass, getJavaLangObject, getMutableInstanceKeysForClass, getOptions, getPointerKeyFactory, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField, getPropagationSystem, getSolver, getSystem, getTargetForCall, haveAlreadyVisited, isJavaLangObject, makeCallGraph, makeCallGraph, markAlreadyVisited, markChanged, markDiscovered, representsNullType, setContextInterpreter, setContextSelector, setInstanceKeys, setPointerKeyFactory, wasChanged
-
-
-
-
Constructor Detail
-
BasicRTABuilder
public BasicRTABuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, ContextSelector contextSelector, SSAContextInterpreter contextInterpreter)
-
-
Method Detail
-
updateSetsForNewClass
protected void updateSetsForNewClass(IClass klass, InstanceKey iKey, CGNode node, NewSiteReference n)
Perform needed bookkeeping when a new class is discovered.- Specified by:
updateSetsForNewClassin classAbstractRTABuilder
-
getKeyForSite
protected PointerKey getKeyForSite(CallSiteReference site)
- Specified by:
getKeyForSitein classAbstractRTABuilder
-
getKeyForSelector
protected RTASelectorKey getKeyForSelector(Selector selector)
-
makeDispatchOperator
protected UnaryOperator<PointsToSetVariable> makeDispatchOperator(CallSiteReference site, CGNode node)
- Specified by:
makeDispatchOperatorin classAbstractRTABuilder
-
-