Class AlwaysRefineFieldsPolicy

  • All Implemented Interfaces:
    FieldRefinePolicy

    public class AlwaysRefineFieldsPolicy
    extends Object
    implements FieldRefinePolicy
    A policy that always refines handling of field accesses by checking for an alias path corresponding to each match edge.
    • Constructor Detail

      • AlwaysRefineFieldsPolicy

        public AlwaysRefineFieldsPolicy()
    • Method Detail

      • shouldRefine

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