Package daikon.suppress
Class NISuppressee
- Object
-
- NISuppressee
-
public class NISuppressee extends Object
Defines a suppressee for non-instantiating suppression. A suppressee consists only of the class at this point since ternary invariants only require the class to define them fully (permutations are built into the class name). When binary invariants are suppressed additional information will need to be included.
-
-
Constructor Summary
Constructors Constructor Description NISuppressee(Class<? extends Invariant> cls, boolean swap)
Define a binary suppressee on the specified class with the specified variable order.NISuppressee(Class<? extends Invariant> cls, int var_count)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InvariantStatus
check(ValueTuple vt, VarInfo[] vis)
Checks this invariant against the specified sample and returns the status.List<NIS.SupInv>
find_all(VarInfo[] vis, PptTopLevel ppt, @Nullable Invariant @Nullable [] cinvs)
Finds the suppressee invariants on all of the slices specified by vis in the specified ppt.boolean
get_swap()
Returns the swap variable setting for the suppressee.@Nullable Invariant
instantiate(PptSlice slice)
Instantiates the suppressee invariant on the specified slice.@Nullable Invariant
instantiate(VarInfo[] vis, PptTopLevel ppt)
Instantiates the suppressee invariant on the slice specified by vis in the specified ppt.NISuppressee
swap()
Returns a new suppressee that is the same as this one except that its variables are swapped.String
toString()
-
-
-
Constructor Detail
-
NISuppressee
public NISuppressee(Class<? extends Invariant> cls, int var_count)
-
NISuppressee
public NISuppressee(Class<? extends Invariant> cls, boolean swap)
Define a binary suppressee on the specified class with the specified variable order.
-
-
Method Detail
-
instantiate
public @Nullable Invariant instantiate(PptSlice slice)
Instantiates the suppressee invariant on the specified slice.
-
check
public InvariantStatus check(ValueTuple vt, VarInfo[] vis)
Checks this invariant against the specified sample and returns the status.
-
instantiate
public @Nullable Invariant instantiate(VarInfo[] vis, PptTopLevel ppt)
Instantiates the suppressee invariant on the slice specified by vis in the specified ppt. If the slice is not currently there, it will be created.
-
find_all
@RequiresNonNull("#2.equality_view") public List<NIS.SupInv> find_all(VarInfo[] vis, PptTopLevel ppt, @Nullable Invariant @Nullable [] cinvs)
Finds the suppressee invariants on all of the slices specified by vis in the specified ppt. Multiple slices can be specified by vis if a slot in vis is null. The slot will be filled by all leaders that can correctly fill the slot and SupInv created for each.- Parameters:
cinvs
- an array of the actual invariants that were found for each slot. It is used for for debug printing only.- Returns:
- a list describing all of the invariants
-
get_swap
public boolean get_swap()
Returns the swap variable setting for the suppressee. Returns false if the suppressee is not a binary invariant, is symmetric, or permutes by changing classes.
-
swap
public NISuppressee swap()
Returns a new suppressee that is the same as this one except that its variables are swapped.
-
-