public class PreciseCallGraphAnalysisUtil extends AnalysisUtil<PCGAbsVal>
extInfo, instanceInitializersChecked, workQueue
Constructor and Description |
---|
PreciseCallGraphAnalysisUtil(WorkQueue<PCGAbsVal> workQueue,
AnalysisUnit currentAnalysisUnit,
AccrueExtensionInfo extInfo) |
Modifier and Type | Method and Description |
---|---|
ExitMap<PCGAbsVal> |
analyze(polyglot.ast.CodeNode n,
PCGAbsVal before)
Analyze the given code with the given current analysis results
|
ExitMap<PCGAbsVal> |
analyzeInitializers(polyglot.ast.ConstructorCall cc,
PCGAbsVal input) |
ExitMap<PCGAbsVal> |
analyzeInitializers(PCGAbsVal input)
Deprecated.
|
PCGAbsVal |
call(polyglot.types.ConstructorInstance ci,
polyglot.ast.Expr n) |
PCGAbsVal |
call(polyglot.types.MethodInstance mi,
polyglot.ast.Call n) |
boolean |
canTerminateNormally(polyglot.ast.Node n) |
PCGAbsVal |
constructorCall(polyglot.types.ConstructorInstance ci,
polyglot.ast.ConstructorCall n) |
protected void |
recordCallTargets(polyglot.ast.Term n,
java.util.Set<EdgeIdentifier> targets)
There is a many-to-many relationship between call sites and CodeDecls.
|
abstractLocations, abstractLocations, abstractLocations, abstractLocations, abstractLocations, abstractLocations, abstractLocations, abstractLocations, abstractLocations, abstractLocationsForArray, abstractLocationsForArray, abstractLocationsForArray, abstractLocationsImplicitTarget, analysisName, analyzeStaticInitializers, createExitMap, currentAnalysisUnit, currentClass, currentContext, extensionInfo, instanceInitializers, leq, maybeRecursiveCall, pointsTo, pointsTo, pointsTo, pointsTo, pointsTo, pointsTo, pointsTo, pointsTo, pointsTo, pointsToGraph, pointsToThis, process, recordMissingCode, typeSystem, upperBound, workQueue
public PreciseCallGraphAnalysisUtil(WorkQueue<PCGAbsVal> workQueue, AnalysisUnit currentAnalysisUnit, AccrueExtensionInfo extInfo)
public ExitMap<PCGAbsVal> analyze(polyglot.ast.CodeNode n, PCGAbsVal before) throws polyglot.types.SemanticException
AnalysisUtil
analyze
in class AnalysisUtil<PCGAbsVal>
n
- Code to analyzebefore
- analysis result before analyzing the given codepolyglot.types.SemanticException
- thrown if the analysis fails@Deprecated public ExitMap<PCGAbsVal> analyzeInitializers(PCGAbsVal input) throws polyglot.types.SemanticException
AnalysisUtil
analyzeInitializers
in class AnalysisUtil<PCGAbsVal>
input
- current analysis resultspolyglot.types.SemanticException
- thrown if the analysis failspublic ExitMap<PCGAbsVal> analyzeInitializers(polyglot.ast.ConstructorCall cc, PCGAbsVal input) throws polyglot.types.SemanticException
polyglot.types.SemanticException
public PCGAbsVal call(polyglot.types.MethodInstance mi, polyglot.ast.Call n)
public PCGAbsVal call(polyglot.types.ConstructorInstance ci, polyglot.ast.Expr n)
public PCGAbsVal constructorCall(polyglot.types.ConstructorInstance ci, polyglot.ast.ConstructorCall n)
public boolean canTerminateNormally(polyglot.ast.Node n)
protected void recordCallTargets(polyglot.ast.Term n, java.util.Set<EdgeIdentifier> targets)