![]() |
V-Gears 0
Free Final Fantasy VII engine.
|
Structure representing a group of instructions. More...
#include <Graph.h>
Public Member Functions | |
Group () | |
Parameterless constructor. More... | |
Group (GraphVertex vertex, InstIterator start, InstIterator end, GroupPtr prev) | |
Constructor. More... | |
Public Attributes | |
GraphVertex | vertex |
Vertex the group belongs to. More... | |
InstIterator | start |
First instruction in the group. More... | |
InstIterator | end |
Last instruction in the group. More... | |
int | stack_level |
Level of the stack upon entry. More... | |
GROUP_TYPE | type |
Type of the group. More... | |
bool | start_else |
Group is start of an else block. More... | |
ElseEnds | end_else |
Group is end of an else block. More... | |
Group * | prev |
Pointer to the previous group, when ordered by address. More... | |
Group * | next |
Pointer to the next group, when ordered by address. More... | |
std::vector< CodeLine > | code |
Decompiled lines of code. More... | |
bool | coalesced_else |
Indicates if an starting else coalesces with another block. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &output, GroupPtr group) |
Output a group to an stream as a graphviz label. More... | |
Additional Inherited Members | |
![]() | |
RefCounted () | |
virtual | ~RefCounted () |
Structure representing a group of instructions.
Group::Group | ( | ) |
Parameterless constructor.
Required for use with STL and Boost, should not be called manually.
Group::Group | ( | GraphVertex | vertex, |
InstIterator | start, | ||
InstIterator | end, | ||
GroupPtr | prev | ||
) |
Constructor.
[in] | vertex | The vertex the group belongs to. |
[in] | start | First instruction in the group. |
[in] | end | Last instruction in the group. |
[in] | prev | Pointer to the previous group, when ordered by address. |
|
friend |
Output a group to an stream as a graphviz label.
[out] | output | The stream to output to. |
[in] | group | The Group to output. |
bool Group::coalesced_else |
Indicates if an starting else coalesces with another block.
True if an else starting has been coalesced with another block (e.g. "else if"). If true, an else starting here should not be closed explicitly, but left to the other block.
std::vector<CodeLine> Group::code |
Decompiled lines of code.
InstIterator Group::end |
Last instruction in the group.
Group* Group::next |
Pointer to the next group, when ordered by address.
Group* Group::prev |
Pointer to the previous group, when ordered by address.
Used for short-circuit analysis.
int Group::stack_level |
Level of the stack upon entry.
InstIterator Group::start |
First instruction in the group.
bool Group::start_else |
Group is start of an else block.
GROUP_TYPE Group::type |
Type of the group.
GraphVertex Group::vertex |
Vertex the group belongs to.