Puma Reference Manual Puma::CT_Intro Class Reference



Puma::CT_Intro Class Reference

Tree node representing an introduction advice declaration. More...

#include <Puma/ACTree.h>

Inheritance diagram for Puma::CT_Intro:
Inheritance graph

Public Member Functions

const char * NodeName () const
 Get the name of the node. More...
 
void AddNameIndex (int index)
 Add a name index. More...
 
void AddNameIndex (int index_from, int index_to)
 Add a name index. More...
 
void RollbackNameIndex (int pos)
 Roll back the name index to the given position. More...
 
int NameIndices () const
 Get the name indices. More...
 
int NameIndex (int i) const
 Get the start index of the name with the given index. More...
 
int NameToIndex (int i) const
 Get the end index for the name with the given index. More...
 
bool NameQual (int i) const
 Check if the name at the given index should be replaced by a qualified name. More...
 
- Public Member Functions inherited from Puma::CT_List
CT_List * IsList ()
 Get a pointer to this CT_List. More...
 
int Entries () const
 Get the number of list entries. More...
 
CTree * Entry (int n) const
 Get the n-th list entry. More...
 
int Sons () const
 Get the number of sons. More...
 
CTree * Son (int n) const
 Get the n-th son. More...
 
int Index (CTree *son)
 Get the index of the given son, or -1 if not found. More...
 
int GetProperties () const
 Get the list properties. More...
 
void AddProperties (int p)
 Add a list property. More...
 
void AddSon (CTree *s)
 Add a son. More...
 
void PrefixSon (CTree *s)
 Prepend a son. More...
 
void InsertSon (CTree *before, CTree *son)
 Insert a son before another son. More...
 
void ReplaceSon (CTree *old_son, CTree *new_son)
 Replace a son. More...
 
void RemoveSon (CTree *son)
 Remove a son. More...
 
void InsertSon (int idx, CTree *s)
 Insert a son at the given index. More...
 
void ReplaceSon (int idx, CTree *s)
 Replace the son at the given index. More...
 
void RemoveSon (int idx)
 Remove the son at the given index. More...
 
- Public Member Functions inherited from Puma::CTree
virtual ~CTree ()
 Destructor. 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 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_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...
 
- Public Member Functions inherited from Puma::CSemScope
 CSemScope ()
 Constructor. More...
 
void Scope (CStructure *s)
 Set the scope. More...
 
CStructure * Scope () const
 Get the scope. More...
 

Static Public Member Functions

static const char * NodeId ()
 Get the identifier for this node type. More...
 

Additional Inherited Members

- Public Types inherited from Puma::CT_List
enum  {
  OPEN = 1,
  CLOSE = 2,
  OPEN_CLOSE = 3,
  SEPARATORS = 4,
  FORCE_EMPTY = 8,
  END_SEP = 16,
  NO_LAST_SEP = 32,
  INTRO = 64
}
 List properties. More...
 
- Static Public Attributes inherited from Puma::CTree
static int alloc
 
static int release
 
- Protected Member Functions inherited from Puma::CT_List
 CT_List (int size=5, int incr=5, int props=0)
 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...
 

Detailed Description

Tree node representing an introduction advice declaration.

Example:

around()

Member Function Documentation

void Puma::CT_Intro::AddNameIndex ( int  index)
inline

Add a name index.

Parameters
indexThe name index.
void Puma::CT_Intro::AddNameIndex ( int  index_from,
int  index_to 
)
inline

Add a name index.

Parameters
index_fromStart index.
index_toEnd index.
int Puma::CT_Intro::NameIndex ( int  i) const
inline

Get the start index of the name with the given index.

Parameters
iThe index.
int Puma::CT_Intro::NameIndices ( ) const
inline

Get the name indices.

bool Puma::CT_Intro::NameQual ( int  i) const
inline

Check if the name at the given index should be replaced by a qualified name.

Parameters
iThe index.
int Puma::CT_Intro::NameToIndex ( int  i) const
inline

Get the end index for the name with the given index.

Parameters
iThe index.
static const char* Puma::CT_Intro::NodeId ( )
static

Get the identifier for this node type.

Can be compared with NodeName().

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

Get the name of the node.

Can be compared with NodeId().

Implements Puma::CTree.

void Puma::CT_Intro::RollbackNameIndex ( int  pos)
inline

Roll back the name index to the given position.

Parameters
posThe position up to which to roll back.



Puma Reference Manual. Created on Fri Aug 28 2015.