#include <PSDL_Node.h>
Inheritance diagram for TAO_PSDL_Node:
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_Scope * | psdl_scope (void) |
Accessor methods. | |
TAO_PSDL_Scope_Visitor * | psdl_scope_visitor (void) |
Protected Attributes | |
int | type_ |
ACE_Array_Base< ACE_CString > | identifiers_ |
CORBA::ULong | count_ |
CORBA::Boolean | predefined_type_ |
TAO_PSDL_Scope * | psdl_scope_ |
Pointer to psdl_scope_. | |
TAO_PSDL_Scope_Visitor * | psdl_scope_visitor_ |
Definition at line 41 of file PSDL_Node.h.
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] |
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 count_, and identifiers_.
Referenced by TAO_PSDL_Raises_Expr::TAO_PSDL_Raises_Expr(), TAO_PSDL_Scope_Visitor::visit_identifier(), TAO_PSDL_Scope_Visitor::visit_predefined_type(), and TAO_PSDL_Scope_Visitor::visit_raises_expr().
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.
References type_.
Referenced by TAO_PSDL_Node_Visitor::visit_module().
00030 { 00031 return this->type_; 00032 }
CORBA::ULong TAO_PSDL_Node::count_ [protected] |
Definition at line 83 of file PSDL_Node.h.
Referenced by set_identifier(), TAO_PSDL_Const_Dcl::TAO_PSDL_Const_Dcl(), TAO_PSDL_Member::TAO_PSDL_Member(), and TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl().
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(), set_identifier(), and TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl().
CORBA::Boolean TAO_PSDL_Node::predefined_type_ [protected] |
Definition at line 90 of file PSDL_Node.h.
Referenced by set_predefined_type(), and TAO_PSDL_Member::TAO_PSDL_Member().
TAO_PSDL_Scope* TAO_PSDL_Node::psdl_scope_ [protected] |
TAO_PSDL_Scope_Visitor* TAO_PSDL_Node::psdl_scope_visitor_ [protected] |
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.
Referenced by TAO_PSDL_Module::TAO_PSDL_Module(), TAO_PSDL_Type_Dcl::TAO_PSDL_Type_Dcl(), and type_of_node().