My Project
|
A range of values attached to a Varnode within a data-flow subsystem. More...
#include <rangeutil.hh>
Classes | |
class | Equation |
An external that can be applied to a ValueSet. More... | |
Public Member Functions | |
int4 | getCount (void) const |
Get the current iteration count. | |
const CircleRange * | getLandMark (void) const |
Get any landmark range. More... | |
int4 | getTypeCode (void) const |
Return '0' for normal constant, '1' for spacebase relative. | |
Varnode * | getVarnode (void) const |
Get the Varnode attached to this ValueSet. | |
const CircleRange & | getRange (void) const |
Get the actual range of values. | |
bool | isLeftStable (void) const |
Return true if the left boundary hasn't been changing. | |
bool | isRightStable (void) const |
Return true if the right boundary hasn't been changing. | |
void | printRaw (ostream &s) const |
Write a text description of to the given stream. More... | |
Static Public Attributes | |
static const int4 | MAX_STEP = 32 |
Friends | |
class | ValueSetSolver |
A range of values attached to a Varnode within a data-flow subsystem.
This class acts as both the set of values for the Varnode and as a node in a sub-graph overlaying the full data-flow of the function containing the Varnode. The values are stored in the CircleRange field and can be interpreted either as absolute values (if typeCode is 0) or as values relative to a stack pointer or some other register (if typeCode is non-zero).
const CircleRange * ValueSet::getLandMark | ( | void | ) | const |
Get any landmark range.
If a landmark was associated with this value set, return its range, otherwise return null.
void ValueSet::printRaw | ( | ostream & | s | ) | const |
Write a text description of to the given stream.
s | is the stream to print to |
|
static |
Maximum step inferred for a value set