TAO_PSDL_Type_Dcl Class Reference

**************************************************************** More...

#include <PSDL_Node.h>

Inheritance diagram for TAO_PSDL_Type_Dcl:

Inheritance graph
[legend]
Collaboration diagram for TAO_PSDL_Type_Dcl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_PSDL_Type_Dcl (TAO_PSDL_Node *type_of_type_dcl)
 ****************************************************************
 TAO_PSDL_Type_Dcl (int key_word, TAO_PSDL_Node *type_of_type_dcl)
virtual ~TAO_PSDL_Type_Dcl (void)
int key_word (void) const
 Get the value.
TAO_PSDL_Nodetype_of_type_dcl (void) const
int accept (TAO_PSDL_Node_Visitor *visitor)
 = The Node methods.

Private Attributes

int key_word_
 The values.
TAO_PSDL_Nodetype_of_type_dcl_

Detailed Description

****************************************************************

Definition at line 1388 of file PSDL_Node.h.


Constructor & Destructor Documentation

TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl ( TAO_PSDL_Node type_of_type_dcl  ) 

****************************************************************

Definition at line 2058 of file PSDL_Node.cpp.

02059   : key_word_ (0),
02060     type_of_type_dcl_ (type_of_type_dcl)
02061 {
02062 }

TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl ( int  key_word,
TAO_PSDL_Node type_of_type_dcl 
)

Definition at line 2064 of file PSDL_Node.cpp.

References TAO_PSDL_Scope::add_typedef(), TAO_PSDL_Scope::check_name_in_scope(), TAO_PSDL_Node::count_, TAO_PSDL_Scope_Visitor::get_scoped_type(), TAO_PSDL_Node::identifiers_, TAO_PSDL_Node::psdl_scope(), TAO_PSDL_Node::psdl_scope_visitor(), ACE_OS::strcmp(), TAO_PSDL_TYPEDEF, TAO_PSDL_Node::type_, and TAO_PSDL_Scope_Visitor::visit_type_dcl().

02066   : key_word_ (key_word),
02067     type_of_type_dcl_ (type_of_type_dcl)
02068 {
02069   this->type_ = key_word;
02070 
02071   this->psdl_scope_visitor ()->visit_type_dcl (this);
02072 
02073   // @@ why this if loop
02074   if (ACE_OS::strcmp (this->identifiers_[0].c_str (), "") == 0)
02075     {
02076       this->identifiers_[0] = this->psdl_scope_visitor ()->get_scoped_type ();
02077     }
02078 
02079   if (key_word != TAO_PSDL_TYPEDEF)
02080     {
02081       this->psdl_scope ()->check_name_in_scope (this->identifiers_[0],
02082                                                 this->psdl_scope ());
02083     }
02084 
02085   this->psdl_scope ()->add_typedef (this->identifiers_[1],
02086                                     this->identifiers_[0]);
02087 
02088   // We dont these values of the identifiers anymore as they have been
02089   // added to the corresponding AST. So, set count to 'zero' again.
02090   this->count_ = 0;
02091 
02092 }

TAO_PSDL_Type_Dcl::~TAO_PSDL_Type_Dcl ( void   )  [virtual]

Definition at line 2094 of file PSDL_Node.cpp.

References type_of_type_dcl_.

02095 {
02096   delete this->type_of_type_dcl_;
02097 }


Member Function Documentation

int TAO_PSDL_Type_Dcl::accept ( TAO_PSDL_Node_Visitor visitor  )  [virtual]

= The Node methods.

Implements TAO_PSDL_Node.

Definition at line 2114 of file PSDL_Node.cpp.

References TAO_PSDL_Node_Visitor::visit_type_dcl().

02115 {
02116   return visitor->visit_type_dcl  (this);
02117 }

int TAO_PSDL_Type_Dcl::key_word ( void   )  const

Get the value.

Definition at line 2101 of file PSDL_Node.cpp.

References key_word_.

Referenced by TAO_PSDL_Scope_Visitor::visit_type_dcl(), and Dump_Visitor::visit_type_dcl().

02102 {
02103   return this->key_word_;
02104 }

TAO_PSDL_Node * TAO_PSDL_Type_Dcl::type_of_type_dcl ( void   )  const

Definition at line 2107 of file PSDL_Node.cpp.

References type_of_type_dcl_.

Referenced by TAO_PSDL_Scope_Visitor::visit_type_dcl(), TAO_PSDL_Node_Visitor::visit_type_dcl(), and Dump_Visitor::visit_type_dcl().

02108 {
02109   return this->type_of_type_dcl_;
02110 }


Member Data Documentation

int TAO_PSDL_Type_Dcl::key_word_ [private]

The values.

Definition at line 1408 of file PSDL_Node.h.

Referenced by key_word().

TAO_PSDL_Node* TAO_PSDL_Type_Dcl::type_of_type_dcl_ [private]

Definition at line 1409 of file PSDL_Node.h.

Referenced by type_of_type_dcl(), and ~TAO_PSDL_Type_Dcl().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:50:40 2010 for TAO_PSS by  doxygen 1.4.7