Puma Reference Manual | Puma::CT_ImplicitCall Class Reference |
Tree node representing implicit function calls detected by the semantic analysis. More...
#include <Puma/CTree.h>
Public Member Functions | |
CT_ImplicitCall (CTree *arg) | |
Constructor. | |
const char * | NodeName () const |
Get the name of the node. | |
int | Sons () const |
Get the number of sons. | |
CTree * | Son (int n) const |
Get the n-th son. | |
void | ReplaceSon (CTree *old_son, CTree *new_son) |
Replace a son. | |
Static Public Member Functions | |
static const char * | NodeId () |
Get the identifier for this node type. |
Tree node representing implicit function calls detected by the semantic analysis.
Example:
class Number { int _n; public: Number(int n) : _n(n) {} int operator+(const Number& n) { return n._n + _n; } }; Number one(1), two(2); one + two; // implicitely calls one.operator+(two)
Puma::CT_ImplicitCall::CT_ImplicitCall | ( | CTree * | arg | ) | [inline] |
Constructor.
arg | The call argument. |
static const char* Puma::CT_ImplicitCall::NodeId | ( | ) | [static] |
Get the identifier for this node type.
Can be compared with NodeName().
Reimplemented from Puma::CT_Call.
const char* Puma::CT_ImplicitCall::NodeName | ( | ) | const [inline, virtual] |
void Puma::CT_ImplicitCall::ReplaceSon | ( | CTree * | old_son, |
CTree * | new_son | ||
) | [inline, virtual] |
Replace a son.
old_son | The son to replace. |
new_son | The new son. |
Reimplemented from Puma::CTree.
CTree* Puma::CT_ImplicitCall::Son | ( | int | n | ) | const [inline, virtual] |
Get the n-th son.
n | The index of the son. |
Reimplemented from Puma::CTree.
int Puma::CT_ImplicitCall::Sons | ( | ) | const [inline, virtual] |
Get the number of sons.
Reimplemented from Puma::CT_Expression.