Puma Reference Manual | Puma::CT_Expression Class Reference |
Base class for all expression tree nodes. More...
#include <Puma/CTree.h>
Public Member Functions | |
CT_Expression () | |
Constructor. | |
const char * | NodeName () const |
Get the name of the node. | |
int | Sons () const |
Get the number of sons. | |
CTypeInfo * | Type () const |
Get the type of the expression. | |
CExprValue * | Value () const |
Get the value of the expression. | |
CSemValue * | SemValue () const |
Get the semantic value information of the expression. | |
virtual CT_Expression * | IsExpression () |
Get this. | |
Static Public Member Functions | |
static const char * | NodeId () |
Get the identifier for this node type. |
Base class for all expression tree nodes.
Puma::CT_Expression::CT_Expression | ( | ) | [inline] |
Constructor.
virtual CT_Expression* Puma::CT_Expression::IsExpression | ( | ) | [inline, virtual] |
Get this.
Reimplemented from Puma::CTree.
static const char* Puma::CT_Expression::NodeId | ( | ) | [static] |
Get the identifier for this node type.
Can be compared with NodeName().
Reimplemented in Puma::CT_MembInit, Puma::CT_MembDesignator, Puma::CT_IndexDesignator, Puma::CT_OffsetofExpr, Puma::CT_TypeTraitExpr, Puma::CT_AlignofExpr, Puma::CT_SizeofExpr, Puma::CT_TypeidExpr, Puma::CT_ImplicitCast, Puma::CT_DynamicCast, Puma::CT_ReintCast, Puma::CT_ConstCast, Puma::CT_StaticCast, Puma::CT_CastExpr, Puma::CT_CallExpr, Puma::CT_IndexExpr, Puma::CT_ThrowExpr, Puma::CT_ConstructExpr, Puma::CT_CmpdLiteral, Puma::CT_IfThenExpr, Puma::CT_NewExpr, Puma::CT_DeleteExpr, Puma::CT_DerefExpr, Puma::CT_AddrExpr, Puma::CT_PostfixExpr, Puma::CT_UnaryExpr, Puma::CT_MembRefExpr, Puma::CT_MembPtrExpr, Puma::CT_BinaryExpr, Puma::CT_BracedExpr, Puma::CT_Bool, Puma::CT_Float, Puma::CT_WideCharacter, Puma::CT_Character, Puma::CT_Integer, Puma::CT_ImplicitCall, Puma::CT_Call, and Puma::CT_GnuStatementExpr.
const char* Puma::CT_Expression::NodeName | ( | ) | const [inline, virtual] |
Get the name of the node.
Can be compared with NodeId().
Implements Puma::CTree.
Reimplemented in Puma::CT_MembInit, Puma::CT_MembDesignator, Puma::CT_IndexDesignator, Puma::CT_OffsetofExpr, Puma::CT_TypeTraitExpr, Puma::CT_AlignofExpr, Puma::CT_SizeofExpr, Puma::CT_TypeidExpr, Puma::CT_ImplicitCast, Puma::CT_DynamicCast, Puma::CT_ReintCast, Puma::CT_ConstCast, Puma::CT_StaticCast, Puma::CT_CastExpr, Puma::CT_CallExpr, Puma::CT_IndexExpr, Puma::CT_ThrowExpr, Puma::CT_ConstructExpr, Puma::CT_CmpdLiteral, Puma::CT_IfThenExpr, Puma::CT_NewExpr, Puma::CT_DeleteExpr, Puma::CT_DerefExpr, Puma::CT_AddrExpr, Puma::CT_PostfixExpr, Puma::CT_UnaryExpr, Puma::CT_MembRefExpr, Puma::CT_MembPtrExpr, Puma::CT_BinaryExpr, Puma::CT_BracedExpr, Puma::CT_Bool, Puma::CT_Float, Puma::CT_WideCharacter, Puma::CT_Character, Puma::CT_Integer, Puma::CT_ImplicitCall, Puma::CT_Call, and Puma::CT_GnuStatementExpr.
CSemValue* Puma::CT_Expression::SemValue | ( | ) | const [inline, virtual] |
Get the semantic value information of the expression.
Reimplemented from Puma::CTree.
Reimplemented in Puma::CT_BracedExpr.
int Puma::CT_Expression::Sons | ( | ) | const [inline, virtual] |
Get the number of sons.
Implements Puma::CTree.
Reimplemented in Puma::CT_MembInit, Puma::CT_MembDesignator, Puma::CT_IndexDesignator, Puma::CT_OffsetofExpr, Puma::CT_TypeTraitExpr, Puma::CT_AlignofExpr, Puma::CT_SizeofExpr, Puma::CT_TypeidExpr, Puma::CT_ImplicitCast, Puma::CT_StaticCast, Puma::CT_CastExpr, Puma::CT_CallExpr, Puma::CT_IndexExpr, Puma::CT_ThrowExpr, Puma::CT_ConstructExpr, Puma::CT_CmpdLiteral, Puma::CT_IfThenExpr, Puma::CT_NewExpr, Puma::CT_DeleteExpr, Puma::CT_UnaryExpr, Puma::CT_MembPtrExpr, Puma::CT_BinaryExpr, Puma::CT_BracedExpr, Puma::CT_Bool, Puma::CT_Float, Puma::CT_Character, Puma::CT_Integer, Puma::CT_ImplicitCall, and Puma::CT_GnuStatementExpr.
CTypeInfo* Puma::CT_Expression::Type | ( | ) | const [inline, virtual] |
Get the type of the expression.
Reimplemented from Puma::CTree.
CExprValue* Puma::CT_Expression::Value | ( | ) | const [inline, virtual] |