Class DelegatingFieldRefinePolicy

  • All Implemented Interfaces:
    FieldRefinePolicy

    public class DelegatingFieldRefinePolicy
    extends java.lang.Object
    implements FieldRefinePolicy
    A field refine policy that first checks with A, then delegates to B
    • Method Detail

      • nextPass

        public boolean nextPass()
        Specified by:
        nextPass in interface FieldRefinePolicy
        Returns:
        true if more refinement can be done, and hence another pass can be attempted; false otherwise
      • shouldRefine

        public boolean shouldRefine​(IField field,
                                    PointerKey basePtr,
                                    PointerKey val,
                                    IFlowLabel label,
                                    StateMachine.State state)
        returns true if A.shouldRefine(field) || B.shouldRefine(field). Note that if A.shouldRefine(field) is true, B.shouldRefine(field) is not called.
        Specified by:
        shouldRefine in interface FieldRefinePolicy
        Parameters:
        field - the accessed field
        basePtr - the base pointer of the access
        Returns:
        true if match edges for the field access should be refined. Otherwise, false is returned, indicating that the field can be handled with match edges.