ROSE
0.9.6a
|
Structure Tree annotation. More...
#include <structure.h>
Public Types | |
enum | Operator { None, Arrow, Dot } |
Public Member Functions | |
structureTreeAnn (const parserID *name, structuretree_list *targets, Operator op, bool target_is_new) | |
Multiple targets constructor. More... | |
structureTreeAnn (const parserID *name, structureTreeAnn *target, Operator op, bool target_is_new) | |
Single target constructor. More... | |
~structureTreeAnn () | |
Destructor. More... | |
std::string & | name () |
structuretree_list * | targets () |
Operator | op () const |
bool | is_target_new () const |
bool | is_io () const |
void | print (int depth=0) const |
Print out. More... | |
Public Member Functions inherited from Ann | |
Ann (int line) | |
int | line () const |
Private Member Functions | |
structureTreeAnn (const structureTreeAnn &X) | |
Private Copy Constructor. More... | |
Private Attributes | |
std::string | _name |
structuretree_list * | _targets |
Operator | _operator |
bool | _target_is_new |
bool | _is_io |
Structure Tree annotation.
This class is used to construct an in-memory representation of on-entry and on-exit annotations. We post-process this tree structure into the list of pointer operations that is actually used during analysis.
The representation works like this: for A –> B, we create an object for A, with a single target for B; for B { ... }, we create an object for B with a list of the components. The operator indicates which situation we have (although we can never have an arrow with multiple targets.
Definition at line 31 of file structure.h.
Enumerator | |
---|---|
None | |
Arrow | |
Dot |
Definition at line 35 of file structure.h.
structureTreeAnn::structureTreeAnn | ( | const parserID * | name, |
structuretree_list * | targets, | ||
Operator | op, | ||
bool | target_is_new | ||
) |
Multiple targets constructor.
structureTreeAnn::structureTreeAnn | ( | const parserID * | name, |
structureTreeAnn * | target, | ||
Operator | op, | ||
bool | target_is_new | ||
) |
Single target constructor.
structureTreeAnn::~structureTreeAnn | ( | ) |
Destructor.
Recursively destroys the data structure
|
private |
Private Copy Constructor.
|
inline |
Definition at line 67 of file structure.h.
References _name.
|
inline |
Definition at line 68 of file structure.h.
References _targets.
|
inline |
Definition at line 69 of file structure.h.
References _operator.
|
inline |
Definition at line 70 of file structure.h.
References _target_is_new.
|
inline |
Definition at line 71 of file structure.h.
References _is_io.
void structureTreeAnn::print | ( | int | depth = 0 ) | const |
Print out.
|
private |
Definition at line 39 of file structure.h.
Referenced by name().
|
private |
Definition at line 40 of file structure.h.
Referenced by targets().
|
private |
Definition at line 41 of file structure.h.
Referenced by op().
|
private |
Definition at line 42 of file structure.h.
Referenced by is_target_new().
|
private |
Definition at line 43 of file structure.h.
Referenced by is_io().