public class AccrueOptionsHelper
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
boolean |
emptysetsigs |
polyglot.main.OptFlag.Switch |
emptySetSigsOptFlag |
polyglot.main.OptFlag.Switch |
flattenExpressionOptFlag |
boolean |
flattenExpressions |
polyglot.main.OptFlag.Switch |
noWarnMissingEdgesOptFlag |
boolean |
noWemptysetsigs |
java.lang.String |
pointsToEngineClass |
polyglot.main.OptFlag<java.lang.String> |
pointsToEngineClassOptFlag |
java.lang.Integer |
pointsToTimeout |
java.util.Collection<java.io.File> |
signatureSourcePath |
polyglot.main.OptFlag.PathFlag<java.io.File> |
sigSrcPathOptFlag |
polyglot.main.OptFlag<java.lang.String> |
startOptFlag |
java.lang.String |
startProcClass |
polyglot.main.OptFlag.Switch |
warnEmptySetSigsOptFlag |
Constructor and Description |
---|
AccrueOptionsHelper() |
Modifier and Type | Method and Description |
---|---|
HeapAbstractionFactory |
createHeapAbstractionFactory() |
static HeapAbstractionFactory |
createHeapAbstractionFactory(java.lang.String hafString)
create a HeapAbstractionFactory from a string.
|
PointsToEngine |
createPointsToEngine()
Create the PointsToEngine for performing pointer analysis.
|
boolean |
handleArg(polyglot.main.OptFlag.Arg<?> arg) |
void |
populateFlags(java.util.Set<polyglot.main.OptFlag<?>> flags) |
public java.lang.String startProcClass
public java.lang.String pointsToEngineClass
public java.lang.Integer pointsToTimeout
public boolean emptysetsigs
public boolean noWemptysetsigs
public boolean flattenExpressions
public java.util.Collection<java.io.File> signatureSourcePath
public polyglot.main.OptFlag<java.lang.String> startOptFlag
public polyglot.main.OptFlag<java.lang.String> pointsToEngineClassOptFlag
public polyglot.main.OptFlag.Switch noWarnMissingEdgesOptFlag
public polyglot.main.OptFlag.Switch emptySetSigsOptFlag
public polyglot.main.OptFlag.Switch flattenExpressionOptFlag
public polyglot.main.OptFlag.Switch warnEmptySetSigsOptFlag
public polyglot.main.OptFlag.PathFlag<java.io.File> sigSrcPathOptFlag
public void populateFlags(java.util.Set<polyglot.main.OptFlag<?>> flags)
public boolean handleArg(polyglot.main.OptFlag.Arg<?> arg) throws polyglot.main.UsageError
polyglot.main.UsageError
public PointsToEngine createPointsToEngine()
public HeapAbstractionFactory createHeapAbstractionFactory()
public static HeapAbstractionFactory createHeapAbstractionFactory(java.lang.String hafString)
facts ::= fact | "[" fact "|" fact "|" ... "]" fact ::= classname ["(" arg "," arg "," ... ")"] arg ::= int | stringwhere classname is a fully qualified classname of a heap abstraction, and the optional "(arg1, arg2, ...)" are zero or more integer or string literal arguments, which will be passed to the constructor for the heap abstraction. For convenience, classname may be abbreviated for several of the pointer analyses that come with Accrue, described as follows. Abbreviation : Fully qualified class name/factory full : accrue.analysis.pointer.analyses.FullObjSensitiveAnalysis type : accrue.analysis.pointer.analyses.TypeSensitive_nTmH_Analysis 2t1h : accrue.analysis.pointer.analyses.TypeSensitive_nTmH_Analysis(2,1) scs : accrue.analysis.pointer.analyses.StaticCallSiteContextSensitiveAnalaysis cs : accrue.analysis.pointer.analyses.CallSiteContextSensitiveAnalaysis distinguish : accrue.analysis.pointer.analyses.DistinguishClass Some example strings that are acceptable include: "full" "full(5)" "type(2,1)" "2t1h" "accrue.analysis.pointer.analyses.FullObjSensitiveAnalysis(2)" The following strings will create Cross product analyses "[2t1h | scs(2)]" "[2t1h | scs(2) | distinguish(mypackage.Foo)]"
hafString
-