public class BasicRTABuilder extends AbstractRTABuilder
PropagationCallGraphBuilder.ArrayLoadOperator, PropagationCallGraphBuilder.ArrayStoreOperator, PropagationCallGraphBuilder.FilterOperator, PropagationCallGraphBuilder.GetFieldOperator, PropagationCallGraphBuilder.InstanceArrayStoreOperator, PropagationCallGraphBuilder.InstancePutFieldOperator, PropagationCallGraphBuilder.InverseFilterOperator, PropagationCallGraphBuilder.MutableBoolean, PropagationCallGraphBuilder.PutFieldOperator, PropagationCallGraphBuilder.TypedPointerKey
allocatedClasses, clinitProcessed, clone2Assign, DEBUG, DEBUG_LEVEL
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system
Constructor and Description |
---|
BasicRTABuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
ContextSelector contextSelector,
SSAContextInterpreter contextInterpreter) |
Modifier and Type | Method and Description |
---|---|
protected RTASelectorKey |
getKeyForSelector(Selector selector) |
protected PointerKey |
getKeyForSite(CallSiteReference site) |
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.
|
addConstraintsFromNode, createEmptyCallGraph, customInit, getAllocatedTypes, getPointerAnalysis, getRTAContextInterpreter, makeContextInterpreter, makeContextSelector, makeSolver, makeSystem, processClassInitializer, unconditionallyAddConstraintsFromNode, visitInvoke, visitNew
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
public BasicRTABuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, ContextSelector contextSelector, SSAContextInterpreter contextInterpreter)
protected void updateSetsForNewClass(IClass klass, InstanceKey iKey, CGNode node, NewSiteReference n)
updateSetsForNewClass
in class AbstractRTABuilder
protected PointerKey getKeyForSite(CallSiteReference site)
getKeyForSite
in class AbstractRTABuilder
protected RTASelectorKey getKeyForSelector(Selector selector)
protected UnaryOperator<PointsToSetVariable> makeDispatchOperator(CallSiteReference site, CGNode node)
makeDispatchOperator
in class AbstractRTABuilder