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<InstanceKey>
TODO: refactor to eliminate more redundancy with SSACallGraphBuilder
-
Nested Class Summary
Nested classes/interfaces inherited from class 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 AbstractRTABuilder
allocatedClasses, clinitProcessed, clone2Assign, DEBUG, DEBUG_LEVELFields inherited from class PropagationCallGraphBuilder
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system -
Constructor Summary
ConstructorsConstructorDescriptionBasicRTABuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector contextSelector, SSAContextInterpreter contextInterpreter) -
Method Summary
Modifier and TypeMethodDescriptionprotected RTASelectorKeygetKeyForSelector(Selector selector) protected PointerKeyprotected 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 AbstractRTABuilder
addConstraintsFromNode, createEmptyCallGraph, customInit, getAllocatedTypes, getPointerAnalysis, getRTAContextInterpreter, makeContextInterpreter, makeContextSelector, makeSolver, makeSystem, processClassInitializer, unconditionallyAddConstraintsFromNode, visitInvoke, visitNewMethods inherited from class 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 Details
-
BasicRTABuilder
public BasicRTABuilder(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector contextSelector, SSAContextInterpreter contextInterpreter)
-
-
Method Details
-
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
- Specified by:
getKeyForSitein classAbstractRTABuilder
-
getKeyForSelector
-
makeDispatchOperator
protected UnaryOperator<PointsToSetVariable> makeDispatchOperator(CallSiteReference site, CGNode node) - Specified by:
makeDispatchOperatorin classAbstractRTABuilder
-