Puma Reference Manual Puma: Puma::CT_GnuTypeof Class Reference



Puma::CT_GnuTypeof Class Reference

#include <Puma/GnuCTree.h>

Inheritance diagram for Puma::CT_GnuTypeof:

Inheritance graph

List of all members.


Detailed Description

Tree node representing a typeof expression.

Example:

 typeof(a+b) 

Public Member Functions

 CT_GnuTypeof (CTree *k, CTree *o, CTree *t, CTree *c)
 Constructor.
 CT_GnuTypeof (CTree *k, CTree *e)
 Constructor.
const char * NodeName () const
 Get the name of the node.
int Sons () const
 Get the number of sons.
CTreeSon (int n) const
 Get the n-th son.
void ReplaceSon (CTree *old_son, CTree *new_son)
 Replace a son.
CTreeExpr () const
 Get the expression from which to get the type string.
CT_NamedTypeTypeName () const
 Get the type from which to get the type string.
CSemValueSemValue () const
 Get the semantic value information.
CTypeInfoType () const
 Get the resulting type.

Static Public Member Functions

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

Constructor & Destructor Documentation

Puma::CT_GnuTypeof::CT_GnuTypeof ( CTree k,
CTree o,
CTree t,
CTree c 
) [inline]

Constructor.

Parameters:
k The keyword 'typeof'.
o Left parenthesis before the type.
t The type from which to get the type string.
c Right parenthesis behind the type.

Puma::CT_GnuTypeof::CT_GnuTypeof ( CTree k,
CTree e 
) [inline]

Constructor.

Parameters:
k The keyword 'typeof'.
e The expression from which to get the type string.


Member Function Documentation

static const char* Puma::CT_GnuTypeof::NodeId (  )  [static]

Get the identifier for this node type.

Can be compared with NodeName().

const char* Puma::CT_GnuTypeof::NodeName (  )  const [inline, virtual]

Get the name of the node.

Can be compared with NodeId().

Implements Puma::CTree.

int Puma::CT_GnuTypeof::Sons (  )  const [inline, virtual]

Get the number of sons.

Implements Puma::CTree.

CTree* Puma::CT_GnuTypeof::Son ( int  n  )  const [inline, virtual]

Get the n-th son.

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

Reimplemented from Puma::CTree.

void Puma::CT_GnuTypeof::ReplaceSon ( CTree old_son,
CTree new_son 
) [inline, virtual]

Replace a son.

Parameters:
old_son The son to replace.
new_son The new son.

Reimplemented from Puma::CTree.

CTree* Puma::CT_GnuTypeof::Expr (  )  const [inline]

Get the expression from which to get the type string.

CT_NamedType* Puma::CT_GnuTypeof::TypeName (  )  const [inline]

Get the type from which to get the type string.

CSemValue* Puma::CT_GnuTypeof::SemValue (  )  const [inline, virtual]

Get the semantic value information.

Reimplemented from Puma::CTree.

CTypeInfo* Puma::CT_GnuTypeof::Type (  )  const [inline, virtual]

Get the resulting type.

Reimplemented from Puma::CTree.




Puma Reference Manual. Created on 11 Jul 2008.