📄 psdl_node_visitor.cpp
字号:
// PSDL_Node_Visitor.cpp,v 1.3 2003/02/05 08:49:57 jwillemsen Exp
#include "PSDL_Node_Visitor.h"
#include "PSDL_Visitor_Factory.h"
#include "PSDL_Typecode_Defn.h"
#include "PSDL_y.h"
TAO_PSDL_Node_Visitor::TAO_PSDL_Node_Visitor ()
: identifiers_ (0),
predefined_type_ (0),
count_ (0),
node_visitor_ (0)
{
ACE_NEW (this->visitor_factory_,
TAO_PSDL_Visitor_Factory);
}
TAO_PSDL_Node_Visitor::~TAO_PSDL_Node_Visitor ()
{
}
int
TAO_PSDL_Node_Visitor::visit_specification (TAO_PSDL_Specification *specification)
{
if (specification->definition ()->accept (this) == -1)
return -1;
if (specification->specification () != 0)
{
if (specification->specification ()->accept (this) == -1)
return -1;
}
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_definition (TAO_PSDL_Definition *definition)
{
if (definition->definition_type ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_module (TAO_PSDL_Module *module)
{
this->node_visitor_ =
this->visitor_factory_->make_visitor (module->type_of_node ());
if (this->node_visitor_ != 0)
{
return this->node_visitor_->visit_module (module);
}
else
{
return -1;
}
}
int TAO_PSDL_Node_Visitor::visit_abstract_storagetype (TAO_PSDL_Abstract_Storagetype *)
{ return 0; }
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_dcl (TAO_PSDL_Abstract_Storagetype_Dcl *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_fwd_dcl (TAO_PSDL_Abstract_Storagetype_Fwd_Dcl *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_header (TAO_PSDL_Abstract_Storagetype_Header *)
{
return 0;
}
int TAO_PSDL_Node_Visitor::visit_abstract_storagetype_body (TAO_PSDL_Abstract_Storagetype_Body *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_member (TAO_PSDL_Abstract_Storagetype_Member *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_inh_spec (TAO_PSDL_Abstract_Storagetype_Inh_Spec *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_name (TAO_PSDL_Abstract_Storagetype_Name *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_psdl_state_dcl (TAO_PSDL_Psdl_State_Dcl *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_psdl_state_type_spec (TAO_PSDL_Psdl_State_Type_Spec *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagetype_ref_type (TAO_PSDL_Abstract_Storagetype_Ref_Type)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagehome (TAO_PSDL_Abstract_Storagehome *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagehome_fwd_dcl (TAO_PSDL_Abstract_Storagehome_Fwd_Dcl *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagehome_dcl (TAO_PSDL_Abstract_Storagehome_Dcl *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagehome_header (TAO_PSDL_Abstract_Storagehome_Header *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagehome_body (TAO_PSDL_Abstract_Storagehome_Body *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_abstract_storagehome_member (TAO_PSDL_Abstract_Storagehome_Member *)
{
return 0;
}
int TAO_PSDL_Node_Visitor::visit_abstract_storagehome_inh_spec (TAO_PSDL_Abstract_Storagehome_Inh_Spec *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_abstract_storagehome_name (TAO_PSDL_Abstract_Storagehome_Name *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_local_op_dcl (TAO_PSDL_Local_Op_Dcl *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_key_dcl (TAO_PSDL_Key_Dcl *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_catalog (TAO_PSDL_Catalog *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_catalog_inh_spec (TAO_PSDL_Catalog_Inh_Spec *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_catalog_name (TAO_PSDL_Catalog_Name *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_catalog_body (TAO_PSDL_Catalog_Body *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_catalog_member (TAO_PSDL_Catalog_Member *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagetype_member (TAO_PSDL_Storagetype_Member *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagetype_inh_spec (TAO_PSDL_Storagetype_Inh_Spec *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagetype_name (TAO_PSDL_Storagetype_Name *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagetype_impl_spec (TAO_PSDL_Storagetype_Impl_Spec *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagetype_ref_type (TAO_PSDL_Storagetype_Ref_Type *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_store_directive (TAO_PSDL_Store_Directive *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_psdl_concrete_state_type (TAO_PSDL_Psdl_Concrete_State_Type *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_ref_rep_directive (TAO_PSDL_Ref_Rep_Directive *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome (TAO_PSDL_Storagehome *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome_header (TAO_PSDL_Storagehome_Header *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome_body (TAO_PSDL_Storagehome_Body *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome_member (TAO_PSDL_Storagehome_Member *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome_inh_spec (TAO_PSDL_Storagehome_Inh_Spec *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome_name (TAO_PSDL_Storagehome_Name *) { return 0; }
int TAO_PSDL_Node_Visitor::visit_storagehome_impl_spec (TAO_PSDL_Storagehome_Impl_Spec *) { return 0; }
int
TAO_PSDL_Node_Visitor::visit_primary_key_dcl (TAO_PSDL_Primary_Key_Dcl *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_identifier (TAO_PSDL_Identifier *identifier)
{
if (this->identifiers_.size () == 0)
{
this->identifiers_.size (1);
this->count_ = 0;
}
this->identifiers_ [this->count_] = identifier->value ();
++this->count_;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_type_dcl (TAO_PSDL_Type_Dcl *type_dcl)
{
if (type_dcl->type_of_type_dcl ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_type_declarator (TAO_PSDL_Type_Declarator *type_declarator)
{
int type = TAO_PSDL_TYPEDEF;
this->node_visitor_ =
this->visitor_factory_->make_visitor (type);
// Generates code into the client header
if (this->node_visitor_ != 0)
return this->node_visitor_->visit_type_declarator (type_declarator);
else
return -1;
}
int
TAO_PSDL_Node_Visitor::visit_type_spec (TAO_PSDL_Type_Spec *type_spec)
{
if (type_spec->type_of_type_spec ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_simple_type_spec (TAO_PSDL_Simple_Type_Spec *simple_type_spec)
{
if (simple_type_spec->type_of_simple_type_spec ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_base_type_spec (TAO_PSDL_Base_Type_Spec *base_type_spec)
{
if (base_type_spec->type_of_base_type_spec ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_template_type_spec (TAO_PSDL_Template_Type_Spec *template_type_spec)
{
if (template_type_spec->type_of_template_type_spec ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_constr_type_spec (TAO_PSDL_Constr_Type_Spec *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_declarators (TAO_PSDL_Declarators *declarators)
{
if (declarators->declarator ()->accept (this) == -1)
return -1;
if (declarators->set_of_declarators () != 0)
{
if (declarators->set_of_declarators ()->accept (this) == -1)
return -1;
}
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_declarator (TAO_PSDL_Declarator *declarator)
{
if (declarator->type_of_declarator ()->accept (this) == -1)
return -1;
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_simple_declarator (TAO_PSDL_Simple_Declarator *simple_declarator)
{
if (simple_declarator->identifier ()->accept (this) == -1)
return -1;
if (simple_declarator->simple_declarator () != 0)
{
if (simple_declarator->simple_declarator ()->accept (this) == -1)
return -1;
}
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_simple_declarator_list (TAO_PSDL_Simple_Declarator_List *) { return 0; }
int
TAO_PSDL_Node_Visitor::visit_complex_declarator (TAO_PSDL_Complex_Declarator *)
{
return 0;
}
int
TAO_PSDL_Node_Visitor::visit_predefined_type (TAO_PSDL_Predefined_Type *predefined_type)
{
if (predefined_type->type_one () != 0)
{
// @@ mainly for case 291:struct as of now.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -