PUMA Library Reference Manual
|
#include <Puma/CTree.h>
Tree node representing a reference declarator.
Example:
Public Member Functions | |
CT_RefDeclarator (CTree *r, CTree *d) | |
Constructor. More... | |
const char * | NodeName () const |
Get the name of the node. More... | |
int | Sons () const |
Get the number of sons. More... | |
CTree * | Son (int n) const |
Get the n-th son. More... | |
CTree * | Declarator () const |
Get the declarator. More... | |
void | ReplaceSon (CTree *old_son, CTree *new_son) |
Replace a son. More... | |
Public Member Functions inherited from Puma::CT_Declarator | |
virtual CTree * | Declarator () const =0 |
Get the declarator. More... | |
virtual CT_Declarator * | IsDeclarator () |
Get this. More... | |
CT_SimpleName * | Name () |
Get the declared name. More... | |
CT_SimpleName * | Name (CT_Declarator *&last_declarator) |
Get the declared name and set last_declarator to the declarator containing the name. More... | |
Public Member Functions inherited from Puma::CTree | |
virtual | ~CTree () |
Destructor. More... | |
virtual int | Sons () const =0 |
Get the number of sons. More... | |
virtual CTree * | Son (int n) const |
Get the n-th son. More... | |
virtual const char * | NodeName () const =0 |
Get the node name (node identifier). More... | |
virtual Token * | token () const |
Get the first token of the syntactic construct represented by this sub-tree. More... | |
virtual Token * | end_token () const |
Get the last token of the syntactic construct represented by this sub-tree. More... | |
virtual CT_Token * | token_node () const |
Get the CT_Token node of the first token of the syntactic construct represented by this sub-tree. More... | |
virtual CT_Token * | end_token_node () const |
Get the CT_Token node of the last token of the syntactic construct represented by this sub-tree. More... | |
virtual void | ReplaceSon (CTree *old_son, CTree *new_son) |
Replace a son. More... | |
virtual CTree * | Parent () const |
Get the parent node. More... | |
virtual CTypeInfo * | Type () const |
Get the semantic type of the node. More... | |
virtual CExprValue * | Value () const |
Get the calculated value of the expression. More... | |
virtual CSemScope * | SemScope () const |
Get the scope opened by the node. More... | |
virtual CSemValue * | SemValue () const |
Get the semantic value of the node. More... | |
virtual CSemObject * | SemObject () const |
Get the semantic information of the node. More... | |
virtual CT_SimpleName * | IsSimpleName () |
Get a pointer to CT_SimpleName if the current node represents a name. More... | |
virtual CT_String * | IsString () |
Get a pointer to CT_String if the current node represents a string. More... | |
virtual CT_Declarator * | IsDeclarator () |
Get a pointer to CT_Declarator if the current node represents a declarator. More... | |
virtual CT_Statement * | IsStatement () |
Get a pointer to CT_Statement if the current node represents a statement. More... | |
virtual CT_Expression * | IsExpression () |
Get a pointer to CT_Expression if the current node represents a expression. More... | |
virtual CT_Decl * | IsDeclaration () |
Get a pointer to CT_Decl if the current node represents a declaration. More... | |
virtual CT_Call * | IsCall () |
Get a pointer to CT_Call if the current node represents a call expression. More... | |
virtual CT_List * | IsList () |
Get a pointer to CT_List if the current node represents a list. More... | |
virtual CT_DelayedParse * | IsDelayedParse () |
Get a pointer to CT_DelayedParse if the current node represents a delayed code fragment. More... | |
bool | HasValueNull () const |
Return true if the tree has the constant value 0. More... | |
Static Public Member Functions | |
static const char * | NodeId () |
Get the identifier for this node type. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from Puma::CTree | |
static int | alloc |
static int | release |
Protected Member Functions inherited from Puma::CT_Declarator | |
CT_Declarator () | |
Constructor. More... | |
Protected Member Functions inherited from Puma::CTree | |
CTree * | Son (CTree *const *sons, int len, int n) const |
Get the n-th son from given sons array. More... | |
int | Sons (CTree *const *sons, int len) const |
Get the number of sons in the given sons array. More... | |
void | ReplaceSon (CTree **sons, int len, CTree *old_son, CTree *new_son) |
Replace a son. More... | |
void | ReplaceSon (CTree *&son, CTree *old_son, CTree *new_son) |
Replace a son if it equals the given son. More... | |
void | AddSon (CTree *&son, CTree *new_son) |
Add a new son. More... | |
void | SetParent (const CTree *parent) |
Set the parent tree node. More... | |
void | SetParent (CTree *node, const CTree *parent) |
Set the parent tree node of the given tree node. More... | |
CTree () | |
Default constructor. More... | |
Constructor.
r | The reference operator '&'. |
d | The declarator. |
|
inlinevirtual |
Get the declarator.
Implements Puma::CT_Declarator.
|
static |
Get the identifier for this node type.
Can be compared with NodeName().
|
inlinevirtual |
Replace a son.
old_son | The son to replace. |
new_son | The new son. |
Reimplemented from Puma::CTree.
|
inlinevirtual |
Get the n-th son.
n | The index of the son. |
Reimplemented from Puma::CTree.
|
inlinevirtual |
Get the number of sons.
Implements Puma::CTree.