public class PreciseCallGraphFactory extends AnalysisFactory<PCGAbsVal>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ANALYSIS_NAME |
static java.lang.String |
CALL_SOURCES
EdgeIdentifiers from code decls to call sites.
|
static java.lang.String |
CALL_TARGETS
EdgeIdentifiers from call sites to code decls.
|
static java.lang.String |
CATCH_SOURCES
EdgeIdentifiers from catch sites to throw sites.
|
static java.lang.String |
CATCH_TARGETS
EdgeIdentifiers from throw sites to catch sites.
|
static java.lang.String |
INIT_SOURCES
Backward edges between initializers.
|
static java.lang.String |
INIT_TARGETS
EdgeIdentifiers between initializers.
|
static java.lang.String |
RETURN_SOURCES
EdgeIdentifiers from call sites to return sites, including code blocks that return implicitly.
|
static java.lang.String |
RETURN_TARGETS
EdgeIdentifiers from return sites (including code blocks that return implicitly) to call sites.
|
extInfo
Constructor and Description |
---|
PreciseCallGraphFactory(AccrueExtensionInfo extInfo) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
analysisName()
Get the name of the analysis
|
java.lang.String |
analysisReportName()
Get the name of the analysis report
|
AnalysisUtil<PCGAbsVal> |
analysisUtil(WorkQueue<PCGAbsVal> wq,
AnalysisUnit aunit)
Get the object sensitive analysis utility class.
|
PCGAbsVal |
startItem(AnalysisUtil<PCGAbsVal> autil,
polyglot.ast.ProcedureDecl startProc)
Get the start item for the analysis
|
createAnalysisContext, emptyExitMap, reportTopics, startProcAnalysisContext
public static final java.lang.String ANALYSIS_NAME
public static final java.lang.String CALL_TARGETS
public static final java.lang.String CALL_SOURCES
public static final java.lang.String RETURN_TARGETS
public static final java.lang.String RETURN_SOURCES
public static final java.lang.String CATCH_TARGETS
public static final java.lang.String CATCH_SOURCES
public static final java.lang.String INIT_TARGETS
public static final java.lang.String INIT_SOURCES
public PreciseCallGraphFactory(AccrueExtensionInfo extInfo)
public java.lang.String analysisName()
AnalysisFactory
analysisName
in class AnalysisFactory<PCGAbsVal>
public java.lang.String analysisReportName()
AnalysisFactory
analysisReportName
in class AnalysisFactory<PCGAbsVal>
public PCGAbsVal startItem(AnalysisUtil<PCGAbsVal> autil, polyglot.ast.ProcedureDecl startProc) throws polyglot.types.SemanticException
AnalysisFactory
startItem
in class AnalysisFactory<PCGAbsVal>
autil
- Object sensitive analysis utilitystartProc
- Entry procedure for the analysispolyglot.types.SemanticException
- thrown if the start item cannot be computed due to a semantic
errorpublic AnalysisUtil<PCGAbsVal> analysisUtil(WorkQueue<PCGAbsVal> wq, AnalysisUnit aunit)
AnalysisFactory
analysisUtil
in class AnalysisFactory<PCGAbsVal>
wq
- Analysis work queue of CodeInstance
aunit
- Analysis unit that we are constructing the AnalysisUtil for.