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 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
ConstructorDescriptionBasicRTABuilder
(IClassHierarchy cha, AnalysisOptions options, IAnalysisCacheView cache, ContextSelector contextSelector, SSAContextInterpreter contextInterpreter) -
Method Summary
Modifier and TypeMethodDescriptionprotected RTASelectorKey
getKeyForSelector
(Selector selector) protected PointerKey
protected UnaryOperator
<PointsToSetVariable> makeDispatchOperator
(CallSiteReference site, CGNode node) protected void
updateSetsForNewClass
(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 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:
updateSetsForNewClass
in classAbstractRTABuilder
-
getKeyForSite
- Specified by:
getKeyForSite
in classAbstractRTABuilder
-
getKeyForSelector
-
makeDispatchOperator
protected UnaryOperator<PointsToSetVariable> makeDispatchOperator(CallSiteReference site, CGNode node) - Specified by:
makeDispatchOperator
in classAbstractRTABuilder
-