|
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().