TAO_PSDL_Node Class Reference

#include <PSDL_Node.h>

Inheritance diagram for TAO_PSDL_Node:

Inheritance graph
[legend]
Collaboration diagram for TAO_PSDL_Node:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_PSDL_Node (void)
virtual ~TAO_PSDL_Node (void)
virtual int accept (TAO_PSDL_Node_Visitor *visitor)=0
virtual int type_of_node (void) const
ACE_CString get_identifier_type (void)
ACE_CString get_identifier_value (void)
void set_identifier (ACE_CString identifier)
void set_predefined_type (void)
TAO_PSDL_Scopepsdl_scope (void)
 Accessor methods.

TAO_PSDL_Scope_Visitorpsdl_scope_visitor (void)

Protected Attributes

int type_
ACE_Array_Base< ACE_CStringidentifiers_
CORBA::ULong count_
CORBA::Boolean predefined_type_
TAO_PSDL_Scopepsdl_scope_
 Pointer to psdl_scope_.

TAO_PSDL_Scope_Visitorpsdl_scope_visitor_

Constructor & Destructor Documentation

TAO_PSDL_Node::TAO_PSDL_Node void   ) 
 

Definition at line 15 of file PSDL_Node.cpp.

00016   : identifiers_ (),
00017     count_ (0),
00018     predefined_type_ (0),
00019     psdl_scope_ (0),
00020     psdl_scope_visitor_ (0)
00021 {
00022 }

TAO_PSDL_Node::~TAO_PSDL_Node void   )  [virtual]
 

Definition at line 24 of file PSDL_Node.cpp.

00025 {
00026 }


Member Function Documentation

virtual int TAO_PSDL_Node::accept TAO_PSDL_Node_Visitor visitor  )  [pure virtual]
 

Implemented in TAO_PSDL_Specification, TAO_PSDL_Definition, TAO_PSDL_Module, TAO_PSDL_Abstract_Storagetype, TAO_PSDL_Abstract_Storagetype_Dcl, TAO_PSDL_Abstract_Storagetype_Fwd_Dcl, TAO_PSDL_Abstract_Storagetype_Header, TAO_PSDL_Abstract_Storagetype_Body, TAO_PSDL_Abstract_Storagetype_Member, TAO_PSDL_Abstract_Storagetype_Inh_Spec, TAO_PSDL_Abstract_Storagetype_Name, TAO_PSDL_Psdl_State_Dcl, TAO_PSDL_Psdl_State_Type_Spec, TAO_PSDL_Abstract_Storagetype_Ref_Type, TAO_PSDL_Abstract_Storagehome, TAO_PSDL_Abstract_Storagehome_Fwd_Dcl, TAO_PSDL_Abstract_Storagehome_Dcl, TAO_PSDL_Abstract_Storagehome_Header, TAO_PSDL_Abstract_Storagehome_Body, TAO_PSDL_Abstract_Storagehome_Member, TAO_PSDL_Abstract_Storagehome_Inh_Spec, TAO_PSDL_Abstract_Storagehome_Name, TAO_PSDL_Local_Op_Dcl, TAO_PSDL_Key_Dcl, TAO_PSDL_Catalog, TAO_PSDL_Catalog_Inh_Spec, TAO_PSDL_Catalog_Name, TAO_PSDL_Catalog_Body, TAO_PSDL_Catalog_Member, TAO_PSDL_Provides_Dcl, TAO_PSDL_Storagetype, TAO_PSDL_Storagetype_Dcl, TAO_PSDL_Storagetype_Fwd_Dcl, TAO_PSDL_Storagetype_Header, TAO_PSDL_Storagetype_Body, TAO_PSDL_Storagetype_Member, TAO_PSDL_Storagetype_Inh_Spec, TAO_PSDL_Storagetype_Name, TAO_PSDL_Storagetype_Impl_Spec, TAO_PSDL_Storagetype_Ref_Type, TAO_PSDL_Storagehome_Scope, TAO_PSDL_Store_Directive, TAO_PSDL_Psdl_Concrete_State_Type, TAO_PSDL_Ref_Rep_Directive, TAO_PSDL_Storagehome, TAO_PSDL_Storagehome_Header, TAO_PSDL_Storagehome_Body, TAO_PSDL_Storagehome_Member, TAO_PSDL_Storagehome_Inh_Spec, TAO_PSDL_Storagehome_Name, TAO_PSDL_Storagehome_Impl_Spec, TAO_PSDL_Primary_Key_Dcl, TAO_PSDL_Identifier, TAO_PSDL_Type_Dcl, TAO_PSDL_Type_Declarator, TAO_PSDL_Type_Spec, TAO_PSDL_Simple_Type_Spec, TAO_PSDL_Base_Type_Spec, TAO_PSDL_Template_Type_Spec, TAO_PSDL_Constr_Type_Spec, TAO_PSDL_Declarators, TAO_PSDL_Declarator, TAO_PSDL_Simple_Declarator, TAO_PSDL_Simple_Declarator_List, TAO_PSDL_Complex_Declarator, TAO_PSDL_Predefined_Type, TAO_PSDL_Member_List, TAO_PSDL_Member, TAO_PSDL_Union_Type, TAO_PSDL_Switch_Type_Spec, TAO_PSDL_Switch_Body, TAO_PSDL_Case, TAO_PSDL_Case_Label, TAO_PSDL_Element_Spec, TAO_PSDL_Const_Dcl, TAO_PSDL_Const_Type, TAO_PSDL_Const_Exp, TAO_PSDL_Or_Expr, TAO_PSDL_Xor_Expr, TAO_PSDL_And_Expr, TAO_PSDL_Shift_Expr, TAO_PSDL_Add_Expr, TAO_PSDL_Mult_Expr, TAO_PSDL_Unary_Expr, TAO_PSDL_Primary_Expr, TAO_PSDL_Except_Dcl, TAO_PSDL_Op_Dcl, TAO_PSDL_Op_Type_Spec, TAO_PSDL_Parameter_Dcls, TAO_PSDL_Param_Dcl, TAO_PSDL_Raises_Expr, TAO_PSDL_Context_Expr, TAO_PSDL_Param_Type_Spec, TAO_PSDL_Fixed_Pt_Type, TAO_PSDL_Constr_Forward_Decl, TAO_PSDL_Interface, TAO_PSDL_Interface_Body, TAO_PSDL_Interface_Dcl, TAO_PSDL_Forward_Dcl, TAO_PSDL_Interface_Header, TAO_PSDL_Export_Dcl, TAO_PSDL_Interface_Inheritance_Spec, TAO_PSDL_Interface_Name, TAO_PSDL_Scoped_Name, TAO_PSDL_Value, TAO_PSDL_Value_Common_Base, TAO_PSDL_Value_Forward_Dcl, TAO_PSDL_Value_Box_Dcl, TAO_PSDL_Value_Abs_Dcl, TAO_PSDL_Value_Dcl, TAO_PSDL_Value_Header, TAO_PSDL_Value_Inheritance_Spec, TAO_PSDL_Value_Name, TAO_PSDL_Value_Element, TAO_PSDL_Array_Declarator, TAO_PSDL_Fixed_Array_Size, TAO_PSDL_Attr_Dcl, TAO_PSDL_Enumerator, TAO_PSDL_Literal, TAO_PSDL_State_Member, TAO_PSDL_Init_Dcl, TAO_PSDL_Init_Param_Decls, TAO_PSDL_Init_Param_Decl, TAO_PSDL_Positive_Int_Const, TAO_PSDL_Factory_Dcl, and TAO_PSDL_Factory_Parameters.

Referenced by main(), TAO_PSDL_Scope_Visitor::visit_attr_dcl(), Dump_Visitor::visit_attr_dcl(), TAO_PSDL_Scope_Visitor::visit_base_type_spec(), TAO_PSDL_Node_Visitor::visit_base_type_spec(), Dump_Visitor::visit_base_type_spec(), TAO_PSDL_Scope_Visitor::visit_complex_declarator(), Dump_Visitor::visit_complex_declarator(), TAO_PSDL_Scope_Visitor::visit_const_dcl(), Dump_Visitor::visit_const_dcl(), TAO_PSDL_Scope_Visitor::visit_const_type(), Dump_Visitor::visit_const_type(), TAO_PSDL_Scope_Visitor::visit_constr_forward_decl(), Dump_Visitor::visit_constr_forward_decl(), TAO_PSDL_Scope_Visitor::visit_context_expr(), Dump_Visitor::visit_context_expr(), TAO_PSDL_Struct_Visitor::visit_declarator(), TAO_PSDL_Scope_Visitor::visit_declarator(), TAO_PSDL_Node_Visitor::visit_declarator(), Dump_Visitor::visit_declarator(), TAO_PSDL_Scope_Visitor::visit_declarators(), TAO_PSDL_Node_Visitor::visit_declarators(), Dump_Visitor::visit_declarators(), TAO_PSDL_Scope_Visitor::visit_definition(), TAO_PSDL_Node_Visitor::visit_definition(), Dump_Visitor::visit_definition(), TAO_PSDL_Scope_Visitor::visit_enumerator(), TAO_PSDL_Enum_Type_Visitor::visit_enumerator(), Dump_Visitor::visit_enumerator(), TAO_PSDL_Scope_Visitor::visit_except_dcl(), TAO_PSDL_Exception_Visitor::visit_except_dcl(), Dump_Visitor::visit_except_dcl(), TAO_PSDL_Scope_Visitor::visit_export_dcl(), TAO_PSDL_Node_Visitor::visit_export_dcl(), Dump_Visitor::visit_export_dcl(), TAO_PSDL_Scope_Visitor::visit_fixed_pt_type(), Dump_Visitor::visit_fixed_pt_type(), TAO_PSDL_Scope_Visitor::visit_forward_dcl(), TAO_PSDL_Interface_Visitor::visit_forward_dcl(), Dump_Visitor::visit_forward_dcl(), TAO_PSDL_Scope_Visitor::visit_interface(), TAO_PSDL_Node_Visitor::visit_interface(), Dump_Visitor::visit_interface(), TAO_PSDL_Scope_Visitor::visit_interface_body(), TAO_PSDL_Node_Visitor::visit_interface_body(), Dump_Visitor::visit_interface_body(), TAO_PSDL_Scope_Visitor::visit_interface_dcl(), TAO_PSDL_Interface_Visitor::visit_interface_dcl(), Dump_Visitor::visit_interface_dcl(), TAO_PSDL_Scope_Visitor::visit_interface_header(), TAO_PSDL_Interface_Visitor::visit_interface_header(), Dump_Visitor::visit_interface_header(), TAO_PSDL_Scope_Visitor::visit_interface_inheritance_spec(), Dump_Visitor::visit_interface_inheritance_spec(), TAO_PSDL_Scope_Visitor::visit_interface_name(), Dump_Visitor::visit_interface_name(), TAO_PSDL_Scope_Visitor::visit_key_dcl(), Dump_Visitor::visit_key_dcl(), TAO_PSDL_Scope_Visitor::visit_local_op_dcl(), Dump_Visitor::visit_local_op_dcl(), TAO_PSDL_Scope_Visitor::visit_member(), TAO_PSDL_Node_Visitor::visit_member(), Dump_Visitor::visit_member(), TAO_PSDL_Scope_Visitor::visit_member_list(), TAO_PSDL_Node_Visitor::visit_member_list(), TAO_PSDL_Exception_Visitor::visit_member_list(), Dump_Visitor::visit_member_list(), TAO_PSDL_Scope_Visitor::visit_module(), TAO_PSDL_Module_Visitor::visit_module(), Dump_Visitor::visit_module(), TAO_PSDL_Scope_Visitor::visit_op_dcl(), Dump_Visitor::visit_op_dcl(), TAO_PSDL_Scope_Visitor::visit_op_type_spec(), Dump_Visitor::visit_op_type_spec(), TAO_PSDL_Scope_Visitor::visit_param_dcl(), Dump_Visitor::visit_param_dcl(), TAO_PSDL_Scope_Visitor::visit_param_type_spec(), Dump_Visitor::visit_param_type_spec(), TAO_PSDL_Scope_Visitor::visit_parameter_dcls(), Dump_Visitor::visit_parameter_dcls(), TAO_PSDL_Type_Dcl_Visitor::visit_predefined_type(), TAO_PSDL_Struct_Visitor::visit_predefined_type(), TAO_PSDL_Scope_Visitor::visit_predefined_type(), TAO_PSDL_Enum_Type_Visitor::visit_predefined_type(), Dump_Visitor::visit_predefined_type(), TAO_PSDL_Scope_Visitor::visit_primary_key_dcl(), Dump_Visitor::visit_primary_key_dcl(), TAO_PSDL_Scope_Visitor::visit_raises_expr(), Dump_Visitor::visit_raises_expr(), TAO_PSDL_Scope_Visitor::visit_scoped_name(), Dump_Visitor::visit_scoped_name(), TAO_PSDL_Scope_Visitor::visit_simple_declarator(), TAO_PSDL_Node_Visitor::visit_simple_declarator(), Dump_Visitor::visit_simple_declarator(), TAO_PSDL_Scope_Visitor::visit_simple_declarator_list(), Dump_Visitor::visit_simple_declarator_list(), TAO_PSDL_Scope_Visitor::visit_simple_type_spec(), TAO_PSDL_Node_Visitor::visit_simple_type_spec(), Dump_Visitor::visit_simple_type_spec(), TAO_PSDL_Scope_Visitor::visit_specification(), TAO_PSDL_Node_Visitor::visit_specification(), Dump_Visitor::visit_specification(), TAO_PSDL_Scope_Visitor::visit_storagehome(), Dump_Visitor::visit_storagehome(), TAO_PSDL_Scope_Visitor::visit_storagehome_body(), Dump_Visitor::visit_storagehome_body(), TAO_PSDL_Scope_Visitor::visit_storagehome_header(), Dump_Visitor::visit_storagehome_header(), TAO_PSDL_Scope_Visitor::visit_storagehome_impl_spec(), Dump_Visitor::visit_storagehome_impl_spec(), TAO_PSDL_Scope_Visitor::visit_storagehome_inh_spec(), Dump_Visitor::visit_storagehome_inh_spec(), TAO_PSDL_Scope_Visitor::visit_storagehome_member(), Dump_Visitor::visit_storagehome_member(), TAO_PSDL_Scope_Visitor::visit_storagehome_name(), Dump_Visitor::visit_storagehome_name(), TAO_PSDL_Scope_Visitor::visit_storagetype(), Dump_Visitor::visit_storagetype(), TAO_PSDL_Scope_Visitor::visit_storagetype_name(), Dump_Visitor::visit_storagetype_name(), TAO_PSDL_Scope_Visitor::visit_template_type_spec(), TAO_PSDL_Node_Visitor::visit_template_type_spec(), Dump_Visitor::visit_template_type_spec(), TAO_PSDL_Scope_Visitor::visit_type_dcl(), TAO_PSDL_Node_Visitor::visit_type_dcl(), Dump_Visitor::visit_type_dcl(), TAO_PSDL_Type_Dcl_Visitor::visit_type_declarator(), TAO_PSDL_Scope_Visitor::visit_type_declarator(), Dump_Visitor::visit_type_declarator(), TAO_PSDL_Struct_Visitor::visit_type_spec(), TAO_PSDL_Scope_Visitor::visit_type_spec(), TAO_PSDL_Node_Visitor::visit_type_spec(), and Dump_Visitor::visit_type_spec().

ACE_CString TAO_PSDL_Node::get_identifier_type void   ) 
 

Definition at line 53 of file PSDL_Node.cpp.

References identifiers_.

00054 {
00055   // We are going to save such that the first element is the type of the
00056   // identifier and the second element is the actual identifier
00057   return this->identifiers_[0];
00058 }

ACE_CString TAO_PSDL_Node::get_identifier_value void   ) 
 

Definition at line 61 of file PSDL_Node.cpp.

References identifiers_.

00062 {
00063   // We are going to save such as the first element is the type of the
00064   // identifier and
00065   // the second element is the actual identifier
00066   return this->identifiers_[1];
00067 }

TAO_PSDL_Scope * TAO_PSDL_Node::psdl_scope void   ) 
 

Accessor methods.

Definition at line 45 of file PSDL_Node.cpp.

References TAO_PSDL_Scope::instance(), TAO_PSDL_Scope::pop_top_scope(), and psdl_scope_.

Referenced by TAO_PSDL_Const_Dcl::TAO_PSDL_Const_Dcl(), TAO_PSDL_Member::TAO_PSDL_Member(), and TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl().

00046 {
00047   this->psdl_scope_ = TAO_PSDL_Scope::instance ()->pop_top_scope ();
00048 
00049   return this->psdl_scope_;
00050 }

TAO_PSDL_Scope_Visitor * TAO_PSDL_Node::psdl_scope_visitor void   ) 
 

Definition at line 36 of file PSDL_Node.cpp.

References psdl_scope_visitor_.

Referenced by TAO_PSDL_Const_Dcl::TAO_PSDL_Const_Dcl(), TAO_PSDL_Forward_Dcl::TAO_PSDL_Forward_Dcl(), TAO_PSDL_Member::TAO_PSDL_Member(), TAO_PSDL_Predefined_Type::TAO_PSDL_Predefined_Type(), TAO_PSDL_Raises_Expr::TAO_PSDL_Raises_Expr(), TAO_PSDL_Scoped_Name::TAO_PSDL_Scoped_Name(), and TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl().

00037 {
00038   if (this->psdl_scope_visitor_ == 0)
00039     this->psdl_scope_visitor_ = new TAO_PSDL_Scope_Visitor (this);
00040 
00041   return this->psdl_scope_visitor_;
00042 }

void TAO_PSDL_Node::set_identifier ACE_CString  identifier  ) 
 

Definition at line 70 of file PSDL_Node.cpp.

References identifiers_, and ACE_Array_Base< ACE_CString >::size().

Referenced by TAO_PSDL_Raises_Expr::TAO_PSDL_Raises_Expr(), TAO_PSDL_Scope_Visitor::visit_forward_dcl(), TAO_PSDL_Scope_Visitor::visit_identifier(), TAO_PSDL_Scope_Visitor::visit_op_type_spec(), TAO_PSDL_Scope_Visitor::visit_predefined_type(), TAO_PSDL_Scope_Visitor::visit_raises_expr(), and TAO_PSDL_Scope_Visitor::visit_type_dcl().

00071 {
00072   if (this->identifiers_.size () == 0)
00073     this->identifiers_.size (2);
00074 
00075   this->identifiers_[this->count_] = identifier;
00076   ++this->count_;
00077 }

void TAO_PSDL_Node::set_predefined_type void   ) 
 

Definition at line 80 of file PSDL_Node.cpp.

References predefined_type_.

Referenced by TAO_PSDL_Scope_Visitor::visit_forward_dcl(), TAO_PSDL_Scope_Visitor::visit_op_type_spec(), TAO_PSDL_Scope_Visitor::visit_predefined_type(), and TAO_PSDL_Scope_Visitor::visit_type_dcl().

00081 {
00082   this->predefined_type_ = 1;
00083 }

int TAO_PSDL_Node::type_of_node void   )  const [virtual]
 

Definition at line 29 of file PSDL_Node.cpp.

Referenced by TAO_PSDL_Node_Visitor::visit_module().

00030 {
00031   return this->type_;
00032 }


Member Data Documentation

CORBA::ULong TAO_PSDL_Node::count_ [protected]
 

Definition at line 83 of file PSDL_Node.h.

ACE_Array_Base<ACE_CString> TAO_PSDL_Node::identifiers_ [protected]
 

Definition at line 79 of file PSDL_Node.h.

Referenced by get_identifier_type(), get_identifier_value(), and set_identifier().

CORBA::Boolean TAO_PSDL_Node::predefined_type_ [protected]
 

Definition at line 90 of file PSDL_Node.h.

Referenced by set_predefined_type().

TAO_PSDL_Scope* TAO_PSDL_Node::psdl_scope_ [protected]
 

Pointer to psdl_scope_.

Definition at line 92 of file PSDL_Node.h.

Referenced by psdl_scope().

TAO_PSDL_Scope_Visitor* TAO_PSDL_Node::psdl_scope_visitor_ [protected]
 

Definition at line 95 of file PSDL_Node.h.

Referenced by psdl_scope_visitor().

int TAO_PSDL_Node::type_ [protected]
 

Reimplemented in TAO_PSDL_Switch_Type_Spec, TAO_PSDL_Case_Label, TAO_PSDL_Const_Type, TAO_PSDL_Shift_Expr, TAO_PSDL_Add_Expr, TAO_PSDL_Mult_Expr, TAO_PSDL_Op_Type_Spec, TAO_PSDL_Constr_Forward_Decl, TAO_PSDL_Forward_Dcl, and TAO_PSDL_Interface_Header.

Definition at line 75 of file PSDL_Node.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 14:09:31 2006 for TAO_PSS by doxygen 1.3.6