|
decompiler
1.0.0
|
A jump-table starting range with two possible execution paths. More...
#include <jumptable.hh>
Public Member Functions | |
| void | setExtraValue (uintb val) |
| Set the extra value explicitly. | |
| void | setDefaultVn (Varnode *vn) |
| Set the associated start Varnode. | |
| void | setDefaultOp (PcodeOp *op) |
| Set the associated start PcodeOp. | |
| virtual uintb | getSize (void) const |
| Return the number of values the variables can take. | |
| virtual bool | contains (uintb val) const |
| Return true if the given value is in the set of possible values. | |
| virtual bool | initializeForReading (void) const |
| Initialize this for iterating over the set of possible values. More... | |
| virtual bool | next (void) const |
| Advance the iterator, return true if there is another value. | |
| virtual Varnode * | getStartVarnode (void) const |
| Get the Varnode associated with the current value. | |
| virtual PcodeOp * | getStartOp (void) const |
| Get the PcodeOp associated with the current value. | |
| virtual bool | isReversible (void) const |
| Return true if the current value can be reversed to get a label. | |
| virtual JumpValues * | clone (void) const |
| Clone this iterator. | |
Public Member Functions inherited from JumpValuesRange | |
| void | setRange (const CircleRange &rng) |
| Set the range of values explicitly. | |
| void | setStartVn (Varnode *vn) |
| Set the normalized switch Varnode explicitly. | |
| void | setStartOp (PcodeOp *op) |
| Set the starting PcodeOp explicitly. | |
| virtual void | truncate (int4 nm) |
| virtual uintb | getValue (void) const |
| Get the current value. | |
Private Attributes | |
| uintb | extravalue |
| The extra value. | |
| Varnode * | extravn |
| The starting Varnode associated with the extra value. | |
| PcodeOp * | extraop |
| The starting PcodeOp associated with the extra value. | |
| bool | lastvalue |
| true is the extra value has been visited by the iterator | |
Additional Inherited Members | |
Protected Attributes inherited from JumpValuesRange | |
| CircleRange | range |
| Acceptable range of values for the normalized switch variable. | |
| Varnode * | normqvn |
| Varnode representing the normalized switch variable. | |
| PcodeOp * | startop |
| First PcodeOp in the jump-table calculation. | |
| uintb | curval |
| The current value pointed to be the iterator. | |
A jump-table starting range with two possible execution paths.
This extends the basic JumpValuesRange having a single entry switch variable and adds a second entry point that takes only a single value. This value comes last in the iteration.
|
virtual |
Initialize this for iterating over the set of possible values.
Reimplemented from JumpValuesRange.
1.8.11