PUMA Library Reference Manual
Puma::CT_ArgDecl Class Reference

#include <Puma/CTree.h>

+ Inheritance diagram for Puma::CT_ArgDecl:

Description

Tree node representing the declaration of a function parameter.

Public Member Functions

 CT_ArgDecl (CTree *dsl, CTree *d)
 Constructor. More...
 
 CT_ArgDecl (CTree *ellipsis)
 Constructor. More...
 
const char * NodeName () const
 Get the name of the node. More...
 
int Sons () const
 Get the number of sons. More...
 
CTreeSon (int n) const
 Get the n-th son. More...
 
CT_DeclSpecSeqDeclSpecs () const
 Get the declaration specifier sequence. More...
 
CTreeDeclarator () const
 Get the function parameter declarator. More...
 
CT_ExprListInitializer () const
 Get the default argument. More...
 
CT_TokenEllipsis () const
 Get the variable argument list operator. More...
 
CSemObjectSemObject () const
 Get the semantic information about the function parameter. More...
 
CTypeInfoType () const
 Get the type of the function parameter. More...
 
CExprValueValue () const
 Get the value of the function parameter. More...
 
CSemValueSemValue () const
 Get the semantic value information of the function parameter. More...
 
void Initializer (CTree *i)
 Set the default argument. More...
 
void ReplaceSon (CTree *old_son, CTree *new_son)
 Replace a son. More...
 
- Public Member Functions inherited from Puma::CT_Decl
void Linkage (CT_LinkageSpec *l)
 Set the linkage of the declared entity. More...
 
CT_LinkageSpecLinkage () const
 Get the linkage specifiers. More...
 
virtual CT_DeclIsDeclaration ()
 Get this. More...
 
- Public Member Functions inherited from Puma::CTree
virtual ~CTree ()
 Destructor. 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 CTreeParent () const
 Get the parent node. More...
 
virtual CSemScopeSemScope () const
 Get the scope opened by 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_DeclaratorIsDeclarator ()
 Get a pointer to CT_Declarator if the current node represents a declarator. 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_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...
 
- Public Member Functions inherited from Puma::CSemObject
 CSemObject ()
 Constructor. More...
 
void Object (CObjectInfo *o)
 Set the semantic information object for the entity. More...
 
CObjectInfoObject () const
 Get the semantic information object. More...
 
- Public Member Functions inherited from Puma::CSemValue
 CSemValue ()
 Constructor. More...
 
virtual ~CSemValue ()
 Destructor. More...
 
void setValue (CExprValue *v)
 Set the semantic value information object. More...
 
void setValueRef (CExprValue *v)
 Set the semantic value information object as reference. More...
 
void setType (CTypeInfo *t)
 Set the type information object. More...
 
void setTypeRef (CTypeInfo *t)
 Set the type information object as reference. More...
 
CExprValuegetValue ()
 Get the semantic information about the value. More...
 
CTypeInfogetType ()
 Get the type of the value. 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_Decl
 CT_Decl ()
 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...
 
- Protected Attributes inherited from Puma::CSemValue
CExprValuevalue
 The semantic value information object. More...
 
CTypeInfotype
 The type information object. More...
 

Constructor & Destructor Documentation

◆ CT_ArgDecl() [1/2]

Puma::CT_ArgDecl::CT_ArgDecl ( CTree dsl,
CTree d 
)
inline

Constructor.

Parameters
dslThe declaration specifier sequence.
dThe parameter declarator.

◆ CT_ArgDecl() [2/2]

Puma::CT_ArgDecl::CT_ArgDecl ( CTree ellipsis)
inline

Constructor.

Parameters
ellipsisThe variable argument list operator "...".

Member Function Documentation

◆ Declarator()

CTree* Puma::CT_ArgDecl::Declarator ( ) const
inline

Get the function parameter declarator.

◆ DeclSpecs()

CT_DeclSpecSeq* Puma::CT_ArgDecl::DeclSpecs ( ) const
inline

Get the declaration specifier sequence.

◆ Ellipsis()

CT_Token* Puma::CT_ArgDecl::Ellipsis ( ) const
inline

Get the variable argument list operator.

◆ Initializer() [1/2]

CT_ExprList* Puma::CT_ArgDecl::Initializer ( ) const
inline

Get the default argument.

◆ Initializer() [2/2]

void Puma::CT_ArgDecl::Initializer ( CTree i)
inline

Set the default argument.

◆ NodeId()

static const char* Puma::CT_ArgDecl::NodeId ( )
static

Get the identifier for this node type.

Can be compared with NodeName().

◆ NodeName()

const char* Puma::CT_ArgDecl::NodeName ( ) const
inlinevirtual

Get the name of the node.

Can be compared with NodeId().

Implements Puma::CTree.

◆ ReplaceSon()

void Puma::CT_ArgDecl::ReplaceSon ( CTree old_son,
CTree new_son 
)
inlinevirtual

Replace a son.

Parameters
old_sonThe son to replace.
new_sonThe new son.

Reimplemented from Puma::CTree.

◆ SemObject()

CSemObject* Puma::CT_ArgDecl::SemObject ( ) const
inlinevirtual

Get the semantic information about the function parameter.

Reimplemented from Puma::CTree.

◆ SemValue()

CSemValue* Puma::CT_ArgDecl::SemValue ( ) const
inlinevirtual

Get the semantic value information of the function parameter.

Returns
The value object or NULL.

Reimplemented from Puma::CTree.

◆ Son()

CTree* Puma::CT_ArgDecl::Son ( int  n) const
inlinevirtual

Get the n-th son.

Parameters
nThe index of the son.
Returns
The n-th son or NULL.

Reimplemented from Puma::CTree.

◆ Sons()

int Puma::CT_ArgDecl::Sons ( ) const
inlinevirtual

Get the number of sons.

Implements Puma::CTree.

◆ Type()

CTypeInfo* Puma::CT_ArgDecl::Type ( ) const
inlinevirtual

Get the type of the function parameter.

Returns
The type information object or NULL.

Reimplemented from Puma::CTree.

◆ Value()

CExprValue* Puma::CT_ArgDecl::Value ( ) const
inlinevirtual

Get the value of the function parameter.

Returns
The value object or NULL.

Reimplemented from Puma::CTree.