Package daikon.inv

Class Joiner

    • Method Detail

      • repr

        public abstract String repr​(@GuardSatisfied Joiner this)
        Description copied from class: Invariant
        For printing invariants, there are two interfaces: repr gives a low-level representation (Invariant.repr_prob() also prints the confidence), and Invariant.format() gives a high-level representation for user output.
        Overrides:
        repr in class Invariant
        Returns:
        a string representation of this
      • resurrect_done

        protected Invariant resurrect_done​(int[] permutation)
        Description copied from class: Invariant
        Called on the new invariant just before resurrect() returns it to allow subclasses to fix any information they might have cached from the old Ppt and VarInfos.
        Specified by:
        resurrect_done in class Invariant
        Parameters:
        permutation - the permutation
        Returns:
        the permuted invariant
      • isValidEscExpression

        @Pure
        public boolean isValidEscExpression()
        Description copied from class: Invariant
        Returns a conjuction of mapping the same function of our expresssions's VarInfos, in general. Subclasses may override if they are able to handle generally-inexpressible properties in special-case ways.
        Overrides:
        isValidEscExpression in class Invariant
        Returns:
        conjuction of mapping the same function of our expresssions's VarInfos
        See Also:
        VarInfo.isValidEscExpression()
      • isSameInvariant

        @Pure
        public boolean isSameInvariant​(Invariant other)
        Description copied from class: Invariant
        Returns true iff the argument is the "same" invariant as this. Same, in this case, means a matching type, formula, and variable names.
        Overrides:
        isSameInvariant in class Invariant
        Parameters:
        other - the other invariant to compare to this one
        Returns:
        true iff the argument is the "same" invariant as this
      • isSameFormula

        @Pure
        public boolean isSameFormula​(Invariant other)
        Description copied from class: Invariant
        Returns true iff the two invariants represent the same mathematical formula. Does not consider the context such as variable names, confidences, sample counts, value counts, or related quantities. As a rule of thumb, if two invariants format the same, this method returns true. Furthermore, in many cases, if an invariant does not involve computed constants (as "x>c" and "y=ax+b" do for constants a, b, and c), then this method vacuously returns true.
        Specified by:
        isSameFormula in class Invariant
        Parameters:
        other - the invariant to compare to this one
        Returns:
        true iff the two invariants represent the same mathematical formula. Does not consider