#include <PSDL_Node.h>
Inheritance diagram for TAO_PSDL_Member:
Public Member Functions | |
TAO_PSDL_Member (TAO_PSDL_Node *type_spec, TAO_PSDL_Node *declarators) | |
**************************************************************** | |
virtual | ~TAO_PSDL_Member (void) |
TAO_PSDL_Node * | type_spec (void) const |
Get the value. | |
TAO_PSDL_Node * | declarators (void) const |
int | accept (TAO_PSDL_Node_Visitor *visitor) |
= The Node methods. | |
Private Attributes | |
TAO_PSDL_Node * | type_spec_ |
The values. | |
TAO_PSDL_Node * | declarators_ |
Definition at line 1742 of file PSDL_Node.h.
TAO_PSDL_Member::TAO_PSDL_Member | ( | TAO_PSDL_Node * | type_spec, | |
TAO_PSDL_Node * | declarators | |||
) |
****************************************************************
Definition at line 2676 of file PSDL_Node.cpp.
References TAO_PSDL_Scope::add_member_decl(), TAO_PSDL_Scope::check_name_in_scope(), TAO_PSDL_Node::count_, TAO_PSDL_Node::predefined_type_, TAO_PSDL_Node::psdl_scope(), TAO_PSDL_Node::psdl_scope_visitor(), and TAO_PSDL_Scope_Visitor::visit_member().
02678 : type_spec_ (type_spec), 02679 declarators_ (declarators) 02680 { 02681 this->psdl_scope_visitor ()->visit_member (this); 02682 02683 if (this->predefined_type_) 02684 { 02685 // This is a predefined type. So, no need to check. But, reset the 02686 // value to the default value. 02687 this->predefined_type_ = 0; 02688 } 02689 else 02690 { 02691 // This is a user-defined type. So, check if it has already been 02692 // defined. 02693 this->psdl_scope ()->check_name_in_scope (this->identifiers_[0], 02694 this->psdl_scope ()); 02695 } 02696 02697 this->psdl_scope ()->add_member_decl (this->identifiers_[1], 02698 this->identifiers_[0]); 02699 02700 // We dont these values of the identifiers anymore as they have been 02701 // added to the corresponding AST. So, set count to 'zero' again. 02702 this->count_ = 0; 02703 }
TAO_PSDL_Member::~TAO_PSDL_Member | ( | void | ) | [virtual] |
Definition at line 2705 of file PSDL_Node.cpp.
References declarators_, and type_spec_.
02706 { 02707 delete this->type_spec_; 02708 delete this->declarators_; 02709 }
int TAO_PSDL_Member::accept | ( | TAO_PSDL_Node_Visitor * | visitor | ) | [virtual] |
= The Node methods.
Implements TAO_PSDL_Node.
Definition at line 2726 of file PSDL_Node.cpp.
References TAO_PSDL_Node_Visitor::visit_member().
02727 { 02728 return visitor->visit_member (this); 02729 }
TAO_PSDL_Node * TAO_PSDL_Member::declarators | ( | void | ) | const |
Definition at line 2719 of file PSDL_Node.cpp.
References declarators_.
Referenced by TAO_PSDL_Scope_Visitor::visit_member(), TAO_PSDL_Node_Visitor::visit_member(), and Dump_Visitor::visit_member().
02720 { 02721 return this->declarators_; 02722 }
TAO_PSDL_Node * TAO_PSDL_Member::type_spec | ( | void | ) | const |
Get the value.
Definition at line 2713 of file PSDL_Node.cpp.
References type_spec_.
Referenced by TAO_PSDL_Scope_Visitor::visit_member(), TAO_PSDL_Node_Visitor::visit_member(), and Dump_Visitor::visit_member().
02714 { 02715 return this->type_spec_; 02716 }
TAO_PSDL_Node* TAO_PSDL_Member::declarators_ [private] |
TAO_PSDL_Node* TAO_PSDL_Member::type_spec_ [private] |
The values.
Definition at line 1760 of file PSDL_Node.h.
Referenced by type_spec(), and ~TAO_PSDL_Member().