public class CtlDepAnalysisFactory extends AnalysisFactory<CDAbsVal>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ANALYSIS_NAME |
static java.lang.String |
BRANCH_SOURCES
The set of EdgeIdentifiers the current node is control dependent on.
|
static java.lang.String |
BRANCH_TARGETS
The set of EdgeIdentifiers to nodes that are control dependent on the current node.
|
extInfo
Constructor and Description |
---|
CtlDepAnalysisFactory(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<CDAbsVal> |
analysisUtil(WorkQueue<CDAbsVal> wq,
AnalysisUnit aunit)
Get the object sensitive analysis utility class.
|
CDAbsVal |
startItem(AnalysisUtil<CDAbsVal> 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 BRANCH_SOURCES
public static final java.lang.String BRANCH_TARGETS
public CtlDepAnalysisFactory(AccrueExtensionInfo extInfo)
public java.lang.String analysisName()
AnalysisFactory
analysisName
in class AnalysisFactory<CDAbsVal>
public java.lang.String analysisReportName()
AnalysisFactory
analysisReportName
in class AnalysisFactory<CDAbsVal>
public AnalysisUtil<CDAbsVal> analysisUtil(WorkQueue<CDAbsVal> wq, AnalysisUnit aunit)
AnalysisFactory
analysisUtil
in class AnalysisFactory<CDAbsVal>
wq
- Analysis work queue of CodeInstance
aunit
- Analysis unit that we are constructing the AnalysisUtil for.public CDAbsVal startItem(AnalysisUtil<CDAbsVal> autil, polyglot.ast.ProcedureDecl startProc) throws polyglot.types.SemanticException
AnalysisFactory
startItem
in class AnalysisFactory<CDAbsVal>
autil
- Object sensitive analysis utilitystartProc
- Entry procedure for the analysispolyglot.types.SemanticException
- thrown if the start item cannot be computed due to a semantic
error