public class DelegatingFieldRefinePolicy extends java.lang.Object implements FieldRefinePolicy
| Constructor and Description |
|---|
DelegatingFieldRefinePolicy(FieldRefinePolicy a,
FieldRefinePolicy b) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
nextPass() |
boolean |
shouldRefine(IField field,
PointerKey basePtr,
PointerKey val,
IFlowLabel label,
StateMachine.State state)
returns
true if A.shouldRefine(field) || B.shouldRefine(field). |
public DelegatingFieldRefinePolicy(FieldRefinePolicy a, FieldRefinePolicy b)
public boolean nextPass()
nextPass in interface FieldRefinePolicytrue if more refinement can be done, and hence another pass can be attempted;
false otherwisepublic boolean shouldRefine(IField field, PointerKey basePtr, PointerKey val, IFlowLabel label, StateMachine.State state)
true if A.shouldRefine(field) || B.shouldRefine(field). Note that if
A.shouldRefine(field) is true, B.shouldRefine(field) is not
called.shouldRefine in interface FieldRefinePolicyfield - the accessed fieldbasePtr - the base pointer of the accesstrue if match edges for the field access should be refined. Otherwise, false is returned, indicating that the field can be handled with match edges.