| 
    ROSE
    0.11.96.11
    
   | 
 
A pointer to a vertex of the static taint lattice.
The taint lattice is static, consisting of only the vertices defined by the Vertex enum. A TaintLattice object is slightly misnamed but follows existing convention: it's not really the whole lattice, but a pointer to one of the static latice's vertices.
Definition at line 57 of file taintAnalysis.h.
#include <taintAnalysis.h>


Public Types | |
| enum | Vertex {  VERTEX_BOTTOM, VERTEX_UNTAINTED, VERTEX_TAINTED }  | 
| The differet vertices of this static lattice.  More... | |
Public Member Functions | |
| TaintLattice () | |
| Default initializer makes this object point to the lattice's bottom vertex.  | |
| virtual void | initialize () override | 
| Same as default constructor.  | |
| virtual Lattice * | copy () const override | 
| Returns a new copy of this vertex pointer.  | |
| virtual void | copy (Lattice *other_) override | 
| Assignment-like operator.  More... | |
| virtual bool | operator== (Lattice *other_) override | 
| Equality predicate, sort of.  More... | |
| virtual std::string | str (std::string prefix) override | 
| String representation of the lattice vertex to which this object points.  More... | |
| std::string | to_string () const | 
| String representation of a lattice vertex.  More... | |
| virtual bool | meetUpdate (Lattice *other_) override | 
| Merges this lattice node with another and stores the result in this node.  More... | |
| Vertex | get_vertex () const | 
| Accessor for this node's vertex in the lattice.  More... | |
| bool | set_vertex (Vertex v) | 
| Accessor for this node's vertex in the lattice.  More... | |
  Public Member Functions inherited from FiniteLattice | |
| bool | finiteLattice () | 
| Check if this lattice is finite or not.  | |
  Public Member Functions inherited from Lattice | |
| virtual void | remapVars (const std::map< varID, varID > &varNameMap, const Function &newFunc) | 
| virtual void | incorporateVars (Lattice *that) | 
| virtual Lattice * | project (SgExpression *expr) | 
| virtual bool | unProject (SgExpression *expr, Lattice *exprState) | 
| bool | operator!= (Lattice *that) | 
| bool | operator== (Lattice &that) | 
| bool | operator!= (Lattice &that) | 
Protected Attributes | |
| Vertex | vertex | 
| The vertex of the static taint lattice to which this object points.  | |
| enum TaintLattice::Vertex | 
The differet vertices of this static lattice.
They're defined in a particular order so that the meetUpdate() method only needs to compute the maximum when merging two vertex pointers. A value is considered to be tainted if it points to the VERTEX_TAINTED or the VERTEX_TOP vertex of the static taint lattice.
| Enumerator | |
|---|---|
| VERTEX_BOTTOM | No information is known about the value of the variable.  | 
| VERTEX_UNTAINTED | Value is not tainted.  | 
| VERTEX_TAINTED | Value is tainted.  | 
Definition at line 65 of file taintAnalysis.h.
      
  | 
  inline | 
Accessor for this node's vertex in the lattice.
The set_level() mutator also returns true if the new value is different than the old value, and false if there was no change.
Definition at line 88 of file taintAnalysis.h.
| bool TaintLattice::set_vertex | ( | Vertex | v | ) | 
Accessor for this node's vertex in the lattice.
The set_level() mutator also returns true if the new value is different than the old value, and false if there was no change.
      
  | 
  overridevirtual | 
Assignment-like operator.
Makes this object point to the same lattice vertex as the other object. The other object must also be a TaintLattice object. 
Implements Lattice.
      
  | 
  overridevirtual | 
Equality predicate, sort of.
Beware that this is not true equality since it is not symmetric.
Implements Lattice.
      
  | 
  inlineoverridevirtual | 
String representation of the lattice vertex to which this object points.
The return value is the name of the vertex to which this object points, sans "VERTEX_" prefix, and converted to lower case. The prefix is prepended to the returned string. 
Implements printable.
Definition at line 118 of file taintAnalysis.h.
| std::string TaintLattice::to_string | ( | ) | const | 
String representation of a lattice vertex.
Returns the name of the taint lattice vertex to which this object points. The returned string is one of the Vertex enum constants sans the "VERTEX_" prefix and converted to lower case.
      
  | 
  overridevirtual | 
Merges this lattice node with another and stores the result in this node.
Returns true iff this node changed.
Implements Lattice.
 1.8.17