public abstract class CrossLanguageSSAPropagationCallGraphBuilder extends AstSSAPropagationCallGraphBuilder
Modifier and Type | Class and Description |
---|---|
protected static class |
CrossLanguageSSAPropagationCallGraphBuilder.CrossLanguagePointerAnalysisImpl |
AstSSAPropagationCallGraphBuilder.AstConstraintVisitor, AstSSAPropagationCallGraphBuilder.AstInterestingVisitor, AstSSAPropagationCallGraphBuilder.AstPointerAnalysisImpl
SSAPropagationCallGraphBuilder.ConstraintVisitor, SSAPropagationCallGraphBuilder.InterestingVisitor
PropagationCallGraphBuilder.ArrayLoadOperator, PropagationCallGraphBuilder.ArrayStoreOperator, PropagationCallGraphBuilder.FilterOperator, PropagationCallGraphBuilder.GetFieldOperator, PropagationCallGraphBuilder.InstanceArrayStoreOperator, PropagationCallGraphBuilder.InstancePutFieldOperator, PropagationCallGraphBuilder.InverseFilterOperator, PropagationCallGraphBuilder.MutableBoolean, PropagationCallGraphBuilder.PutFieldOperator, PropagationCallGraphBuilder.TypedPointerKey
DEBUG_PROPERTIES, DEBUG_TYPE_INFERENCE
monitor, PERIODIC_WIPE_SOFT_CACHES, SHORT_CIRCUIT_SINGLE_USES, WIPE_SOFT_CACHE_INTERVAL
assignOperator, callGraph, cha, contextSelector, DEBUG_GENERAL, entrypointCallSites, filterOperator, instanceKeyFactory, inverseFilterOperator, options, pointerKeyFactory, system
Modifier | Constructor and Description |
---|---|
protected |
CrossLanguageSSAPropagationCallGraphBuilder(IClassHierarchy cha,
AnalysisOptions options,
AnalysisCache cache,
PointerKeyFactory pointerKeyFactory) |
fieldKeyForUnknownWrites, getGlobalObject, hasNoInterestingUses, isUncataloguedField, makeDefaultContextInterpreters, sameMethod, useObjectCatalog
addBlockInstructionConstraints, addConstraintsFromNode, addNodeInstructionConstraints, addNodePassthruExceptionConstraints, contentsAreInvariant, contentsAreInvariant, getCaughtExceptionTypes, getCFAContextInterpreter, getIncomingPEIs, getInstanceKeyForPEI, getInstanceKeyForPEI, getInvariantContents, getInvariantContents, getTargetPointerKey, getTargetsForCall, getUniqueCatchKey, hasUniqueCatchBlock, isConstantRef, iterateCrossProduct, iteratePointerKeys, makeSolver, processCallingConstraints, unconditionallyAddConstraintsFromNode
addAssignmentsForCatchPointerKey, addConstraintsFromChangedNode, addConstraintsFromNewNodes, assignInstanceToCatch, catches, filterForClass, getAnalysisCache, getCallGraph, getClassHierarchy, getContextInterpreter, getContextSelector, getFilteredPointerKeyForLocal, getFilteredPointerKeyForLocal, getFilteredPointerKeyForLocal, getInstanceKeyForAllocation, getInstanceKeyForConstant, getInstanceKeyForMetadataObject, getInstanceKeyForMultiNewArray, getInstanceKeys, getInstanceKeysForClass, getJavaLangObject, getMutableInstanceKeysForClass, getOptions, getPointerAnalysis, getPointerKeyFactory, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField, getPropagationSystem, getSolver, getSystem, getTargetForCall, haveAlreadyVisited, isJavaLangObject, makeCallGraph, makeCallGraph, markAlreadyVisited, markChanged, markDiscovered, representsNullType, setContextInterpreter, setContextSelector, setInstanceKeys, setPointerKeyFactory, wasChanged
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getClassHierarchy
getInstanceKeyForAllocation, getInstanceKeyForConstant, getInstanceKeyForMetadataObject, getInstanceKeyForMultiNewArray
getFilteredPointerKeyForLocal, getPointerKeyForArrayContents, getPointerKeyForExceptionalReturnValue, getPointerKeyForInstanceField, getPointerKeyForLocal, getPointerKeyForReturnValue, getPointerKeyForStaticField
protected CrossLanguageSSAPropagationCallGraphBuilder(IClassHierarchy cha, AnalysisOptions options, AnalysisCache cache, PointerKeyFactory pointerKeyFactory)
protected abstract TargetLanguageSelector<SSAPropagationCallGraphBuilder.ConstraintVisitor,CGNode> makeMainVisitorSelector()
protected abstract TargetLanguageSelector<SSAPropagationCallGraphBuilder.InterestingVisitor,Integer> makeInterestingVisitorSelector()
protected abstract TargetLanguageSelector<AstSSAPropagationCallGraphBuilder.AstPointerAnalysisImpl.AstImplicitPointsToSetVisitor,LocalPointerKey> makeImplicitVisitorSelector(CrossLanguageSSAPropagationCallGraphBuilder.CrossLanguagePointerAnalysisImpl analysis)
protected abstract TargetLanguageSelector<AbstractRootMethod,CrossLanguageCallGraph> makeRootNodeSelector()
protected ExplicitCallGraph createEmptyCallGraph(IClassHierarchy cha, AnalysisOptions options)
createEmptyCallGraph
in class AstSSAPropagationCallGraphBuilder
protected SSAPropagationCallGraphBuilder.InterestingVisitor makeInterestingVisitor(CGNode node, int vn)
makeInterestingVisitor
in class AstSSAPropagationCallGraphBuilder
public SSAPropagationCallGraphBuilder.ConstraintVisitor makeVisitor(CGNode node)
makeVisitor
in class AstSSAPropagationCallGraphBuilder
protected PropagationSystem makeSystem(AnalysisOptions options)
makeSystem
in class AstSSAPropagationCallGraphBuilder
protected void customInit()
customInit
in class PropagationCallGraphBuilder