public abstract class AbstractRefinementPolicy extends Object implements RefinementPolicy
RefinementPolicy
implementation, delegating to some provided FieldRefinePolicy
and
CallGraphRefinePolicy
Modifier and Type | Field and Description |
---|---|
protected int[] |
budgetPerPass |
protected CallGraphRefinePolicy |
cgRefinePolicy |
protected static int |
DEFAULT_NUM_PASSES |
protected FieldRefinePolicy |
fieldRefinePolicy |
protected static int |
LONGER_PASS_BUDGET |
protected int |
numPasses |
Constructor and Description |
---|
AbstractRefinementPolicy(FieldRefinePolicy fieldRefinePolicy,
CallGraphRefinePolicy cgRefinePolicy) |
AbstractRefinementPolicy(FieldRefinePolicy fieldRefinePolicy,
CallGraphRefinePolicy cgRefinePolicy,
int numPasses,
int[] budgetPerPass) |
Modifier and Type | Method and Description |
---|---|
int |
getBudgetForPass(int passNum) |
CallGraphRefinePolicy |
getCallGraphRefinePolicy() |
FieldRefinePolicy |
getFieldRefinePolicy() |
int |
getNumPasses() |
boolean |
nextPass() |
protected static final int DEFAULT_NUM_PASSES
protected static final int LONGER_PASS_BUDGET
protected final FieldRefinePolicy fieldRefinePolicy
protected final CallGraphRefinePolicy cgRefinePolicy
protected final int numPasses
protected final int[] budgetPerPass
public AbstractRefinementPolicy(FieldRefinePolicy fieldRefinePolicy, CallGraphRefinePolicy cgRefinePolicy, int numPasses, int[] budgetPerPass)
public AbstractRefinementPolicy(FieldRefinePolicy fieldRefinePolicy, CallGraphRefinePolicy cgRefinePolicy)
public int getBudgetForPass(int passNum)
getBudgetForPass
in interface RefinementPolicy
passNum
public CallGraphRefinePolicy getCallGraphRefinePolicy()
getCallGraphRefinePolicy
in interface RefinementPolicy
public FieldRefinePolicy getFieldRefinePolicy()
getFieldRefinePolicy
in interface RefinementPolicy
public int getNumPasses()
getNumPasses
in interface RefinementPolicy
public boolean nextPass()
nextPass
in interface RefinementPolicy
true
if more refinement can be done, and hence
another pass can be attempted; false
otherwise