Interface FieldRefinePolicy

All Known Implementing Classes:
AlwaysRefineFieldsPolicy, ContainersFieldPolicy, DelegatingFieldRefinePolicy, ManualFieldPolicy, NeverRefineFieldsPolicy, OnlyArraysPolicy, TunedFieldRefinementPolicy

public interface FieldRefinePolicy
Interface for specifying a policy for refinement of field access handling.
Author:
Manu Sridharan
  • Method Details

    • shouldRefine

      boolean shouldRefine(IField field, PointerKey basePtr, PointerKey val, IFlowLabel label, StateMachine.State state)
      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.
    • nextPass

      boolean nextPass()
      Returns:
      true if more refinement can be done, and hence another pass can be attempted; false otherwise