PUMA Library Reference Manual
Puma::CT_Declarator Class Referenceabstract

#include <Puma/CTree.h>

+ Inheritance diagram for Puma::CT_Declarator:

Description

Base class for all tree nodes representing declarators.

Public Member Functions

virtual CTreeDeclarator () const =0
 Get the declarator. More...
 
virtual CT_DeclaratorIsDeclarator ()
 Get this. More...
 
CT_SimpleNameName ()
 Get the declared name. More...
 
CT_SimpleNameName (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 CTreeSon (int n) const
 Get the n-th son. More...
 
virtual const char * NodeName () const =0
 Get the node name (node identifier). More...
 
virtual Tokentoken () const
 Get the first token of the syntactic construct represented by this sub-tree. More...
 
virtual Tokenend_token () const
 Get the last token of the syntactic construct represented by this sub-tree. More...
 
virtual CT_Tokentoken_node () const
 Get the CT_Token node of the first token of the syntactic construct represented by this sub-tree. More...
 
virtual CT_Tokenend_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 CTreeParent () const
 Get the parent node. More...
 
virtual CTypeInfoType () const
 Get the semantic type of the node. More...
 
virtual CExprValueValue () const
 Get the calculated value of the expression. More...
 
virtual CSemScopeSemScope () const
 Get the scope opened by the node. More...
 
virtual CSemValueSemValue () const
 Get the semantic value of the node. More...
 
virtual CSemObjectSemObject () const
 Get the semantic information of the node. More...
 
virtual CT_SimpleNameIsSimpleName ()
 Get a pointer to CT_SimpleName if the current node represents a name. More...
 
virtual CT_StringIsString ()
 Get a pointer to CT_String if the current node represents a string. More...
 
virtual CT_StatementIsStatement ()
 Get a pointer to CT_Statement if the current node represents a statement. More...
 
virtual CT_ExpressionIsExpression ()
 Get a pointer to CT_Expression if the current node represents a expression. More...
 
virtual CT_DeclIsDeclaration ()
 Get a pointer to CT_Decl if the current node represents a declaration. More...
 
virtual CT_CallIsCall ()
 Get a pointer to CT_Call if the current node represents a call expression. More...
 
virtual CT_ListIsList ()
 Get a pointer to CT_List if the current node represents a list. More...
 
virtual CT_DelayedParseIsDelayedParse ()
 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...
 

Protected Member Functions

 CT_Declarator ()
 Constructor. More...
 
- Protected Member Functions inherited from Puma::CTree
CTreeSon (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...
 

Additional Inherited Members

- Static Public Attributes inherited from Puma::CTree
static int alloc
 
static int release
 

Constructor & Destructor Documentation

◆ CT_Declarator()

Puma::CT_Declarator::CT_Declarator ( )
inlineprotected

Constructor.

Member Function Documentation

◆ Declarator()

◆ IsDeclarator()

virtual CT_Declarator* Puma::CT_Declarator::IsDeclarator ( )
inlinevirtual

Get this.

Reimplemented from Puma::CTree.

◆ Name() [1/2]

CT_SimpleName* Puma::CT_Declarator::Name ( )

Get the declared name.

◆ Name() [2/2]

CT_SimpleName* Puma::CT_Declarator::Name ( CT_Declarator *&  last_declarator)

Get the declared name and set last_declarator to the declarator containing the name.

Parameters
last_declaratorTo be set to the declarator containing the name.