daikon.suppress
Class NISuppressee

Object
  extended by 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.


Field Summary
 Invariant sample_inv
           
 Class<? extends Invariant> sup_class
           
 int var_count
           
 
Constructor Summary
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
 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, Invariant[] 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.
 List<Invariant> instantiate_all(VarInfo[] vis, PptTopLevel ppt)
          Instantiates the suppressee invariant on all of the slices specified by vis in the specified ppt.
 Invariant instantiate(PptSlice slice)
          Instantiates the suppressee invariant on the specified slice.
 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()
           
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

sup_class

public Class<? extends Invariant> sup_class

var_count

public int var_count

sample_inv

public Invariant sample_inv
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 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 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.


instantiate_all

public List<Invariant> instantiate_all(VarInfo[] vis,
                                       PptTopLevel ppt)
Instantiates the suppressee invariant 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 an invariant created for each. @return a list of all of the created invariants.


find_all

public List<NIS.SupInv> find_all(VarInfo[] vis,
                                 PptTopLevel ppt,
                                 Invariant[] 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. @return a list describing all of the invariants The cinvs array is an array of the actual invariants that were found for each slot. It is used for for debug printing only.


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.


toString

public String toString()
Overrides:
toString in class Object