Puma Reference Manual Puma: Puma::CT_PrimDeclSpec Class Reference



Puma::CT_PrimDeclSpec Class Reference

#include <Puma/CTree.h>

Inheritance diagram for Puma::CT_PrimDeclSpec:

Inheritance graph

List of all members.


Detailed Description

Tree node representing a primitive declaration specifier.


Public Types

enum  Type {
  PDS_FRIEND,
  PDS_TYPEDEF,
  PDS_AUTO,
  PDS_REGISTER,
  PDS_STATIC,
  PDS_EXTERN,
  PDS_MUTABLE,
  PDS_INLINE,
  PDS_VIRTUAL,
  PDS_EXPLICIT,
  PDS_CONST,
  PDS_VOLATILE,
  PDS_RESTRICT,
  PDS_CHAR,
  PDS_WCHAR_T,
  PDS_BOOL,
  PDS_SHORT,
  PDS_INT,
  PDS_LONG,
  PDS_SIGNED,
  PDS_UNSIGNED,
  PDS_FLOAT,
  PDS_DOUBLE,
  PDS_VOID,
  PDS_UNKNOWN_T,
  PDS_CDECL,
  PDS_STDCALL,
  PDS_FASTCALL,
  PDS_INT64,
  PDS_UNKNOWN,
  PDS_NUM
}
 Declaration specifier types. More...

Public Member Functions

 CT_PrimDeclSpec (CT_Token *t)
 Constructor.
 CT_PrimDeclSpec (Type t)
 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.
const char * SpecText () const
 Get the textual representation of the declaration specifier.
Type SpecType () const
 Get the declaration specifier type.
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.

Static Public Attributes

static const int NumTypes = PDS_NUM
 Number of declaration specifier types.


Member Enumeration Documentation

Declaration specifier types.

Enumerator:
PDS_FRIEND 
PDS_TYPEDEF  friend
PDS_AUTO  typedef
PDS_REGISTER  auto
PDS_STATIC  register
PDS_EXTERN  static
PDS_MUTABLE  extern
PDS_INLINE  mutable
PDS_VIRTUAL  inline
PDS_EXPLICIT  virtual
PDS_CONST  explicit
PDS_VOLATILE  const
PDS_RESTRICT  volatile
PDS_CHAR  restrict
PDS_WCHAR_T  char
PDS_BOOL  wchar_t
PDS_SHORT  bool
PDS_INT  short
PDS_LONG  int
PDS_SIGNED  long
PDS_UNSIGNED  signed
PDS_FLOAT  unsigned
PDS_DOUBLE  float
PDS_VOID  double
PDS_UNKNOWN_T  void
PDS_CDECL  unknown_t
PDS_STDCALL  __cdecl
PDS_FASTCALL  __stdcall
PDS_INT64  __fastcall
PDS_UNKNOWN  __int64
PDS_NUM  Unknown declaration specifier.

Number of declaration specifier types.


Constructor & Destructor Documentation

Puma::CT_PrimDeclSpec::CT_PrimDeclSpec ( CT_Token t  )  [inline]

Constructor.

Parameters:
t The token containing the declaration specifier.

Puma::CT_PrimDeclSpec::CT_PrimDeclSpec ( Type  t  )  [inline]

Constructor.

Parameters:
t The declaration specifier type.


Member Function Documentation

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

Get the identifier for this node type.

Can be compared with NodeName().

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

Get the name of the node.

Can be compared with NodeId().

Implements Puma::CTree.

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

Get the number of sons.

Implements Puma::CTree.

CTree* Puma::CT_PrimDeclSpec::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.

const char* Puma::CT_PrimDeclSpec::SpecText (  )  const [inline]

Get the textual representation of the declaration specifier.

Returns:
The string representation or " ".

Type Puma::CT_PrimDeclSpec::SpecType (  )  const [inline]

Get the declaration specifier type.

void Puma::CT_PrimDeclSpec::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.


Member Data Documentation

const int Puma::CT_PrimDeclSpec::NumTypes = PDS_NUM [static]

Number of declaration specifier types.




Puma Reference Manual. Created on 5 Nov 2008.