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, startProcAnalysisContextpublic 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()
AnalysisFactoryanalysisName in class AnalysisFactory<PCGAbsVal>public java.lang.String analysisReportName()
AnalysisFactoryanalysisReportName in class AnalysisFactory<PCGAbsVal>public PCGAbsVal startItem(AnalysisUtil<PCGAbsVal> autil, polyglot.ast.ProcedureDecl startProc) throws polyglot.types.SemanticException
AnalysisFactorystartItem 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)
AnalysisFactoryanalysisUtil in class AnalysisFactory<PCGAbsVal>wq - Analysis work queue of CodeInstanceaunit - Analysis unit that we are constructing the AnalysisUtil for.