diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-08-06 18:58:32 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2010-08-06 18:58:32 +0000 |
commit | 1b71e420a01d7f952cb59085ed1516afac7ce225 (patch) | |
tree | de26610e000e485c4b5a1198d8de34c6086c4ee9 | |
parent | 1bd6f324aade7d88c468fa318e667daf6f404644 (diff) | |
download | ATCD-1b71e420a01d7f952cb59085ed1516afac7ce225.tar.gz |
ChangeLogTag: Fri Aug 6 18:57:50 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
21 files changed, 432 insertions, 829 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 3b0e7a504e1..dccc987d133 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,38 @@ +Fri Aug 6 18:57:50 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_visitor_component/component_ss.cpp: + * TAO_IDL/be/be_visitor_component/component_sh.cpp: + * TAO_IDL/be/be_visitor_component/component_si.cpp: + * TAO_IDL/be_include/be_visitor_component/component_sh.h: + * TAO_IDL/be_include/be_visitor_component/component_si.h: + * TAO_IDL/be_include/be_visitor_component/component_ss.h: + + Removed these visitors, their functions are now taken + over by the corresponding interface visitors. + + * TAO_IDL/be/be_visitor_component.cpp: + * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: + * TAO_IDL/be/be_visitor_interface/interface_si.cpp: + * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: + * TAO_IDL/be/be_component.cpp: + * TAO_IDL/be/be_visitor_component/component.cpp: + * TAO_IDL/be/be_visitor_module/module.cpp: + * TAO_IDL/be/be_interface.cpp: + * TAO_IDL/be_include/be_interface.h: + * TAO_IDL/be_include/be_component.h: + * TAO_IDL/be_include/be_visitor_interface/interface_sh.h: + * TAO_IDL/be_include/be_visitor_interface/interface_si.h: + * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: + * TAO_IDL/be_include/be_visitor_component.h: + + - Refactored code from component and interface skeleton + visitors, to facilitate the removal of the former, + as described above. + + - Formatted ACE_ERROR macros to use ACE_TEXT. + + - Cosmetic changes. + Fri Aug 6 14:43:26 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu> * bin/tao_other_tests.lst: diff --git a/TAO/TAO_IDL/be/be_component.cpp b/TAO/TAO_IDL/be/be_component.cpp index ae98d54df43..b4e1a8171f5 100644 --- a/TAO/TAO_IDL/be/be_component.cpp +++ b/TAO/TAO_IDL/be/be_component.cpp @@ -313,6 +313,38 @@ be_component::gen_stub_inheritance (TAO_OutStream *os) *os << be_uidt; } +void +be_component::gen_skel_inheritance (TAO_OutStream *os) +{ + AST_Component *base = this->base_component (); + + if (base != 0) + { + *os << "public virtual POA_" << base->name (); + } + else + { + *os << "public virtual POA_Components::CCMObject"; + } + + long nsupports = this->n_inherits (); + AST_Type **supports = this->supports (); + AST_Type *supported = 0; + + for (long i = 0; i < nsupports; ++i) + { + supported = supports[i]; + + if (supported->is_abstract ()) + { + continue; + } + + *os << "," << be_nl; + *os << "public virtual POA_" << supported->name (); + } +} + int be_component::gen_is_a_ancestors (TAO_OutStream *os) { diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp index 5af079cbab3..bf414c03ce7 100644 --- a/TAO/TAO_IDL/be/be_interface.cpp +++ b/TAO/TAO_IDL/be/be_interface.cpp @@ -2983,6 +2983,42 @@ be_interface::gen_stub_inheritance (TAO_OutStream *os) } } +void +be_interface::gen_skel_inheritance (TAO_OutStream *os) +{ + long n_parents = this->n_inherits (); + AST_Type *parent = 0; + AST_Type **parents = this->inherits (); + bool has_concrete_parent = false; + + for (int i = 0; i < n_parents; ++i) + { + parent = parents[i]; + + if (parent->is_abstract ()) + { + continue; + } + + if (has_concrete_parent) + { + *os << "," << be_nl; + } + + *os << "public virtual " << "POA_" + << parent->name (); + + has_concrete_parent = true; + } + + if (! has_concrete_parent) + { + // We don't inherit from another user defined object, hence our + // base class is the ServantBase class. + *os << "public virtual PortableServer::ServantBase"; + } +} + int be_interface::gen_is_a_ancestors (TAO_OutStream *os) { diff --git a/TAO/TAO_IDL/be/be_visitor_component.cpp b/TAO/TAO_IDL/be/be_visitor_component.cpp index 431d788a5a4..c3646fb33d2 100644 --- a/TAO/TAO_IDL/be/be_visitor_component.cpp +++ b/TAO/TAO_IDL/be/be_visitor_component.cpp @@ -54,9 +54,6 @@ #include "be_extern.h" #include "be_visitor_component/component.cpp" -#include "be_visitor_component/component_sh.cpp" -#include "be_visitor_component/component_si.cpp" -#include "be_visitor_component/component_ss.cpp" #include "be_visitor_component/component_svh.cpp" #include "be_visitor_component/facet_svh.cpp" #include "be_visitor_component/context_svh.cpp" diff --git a/TAO/TAO_IDL/be/be_visitor_component/component.cpp b/TAO/TAO_IDL/be/be_visitor_component/component.cpp index eced41e3e8d..313280196b5 100644 --- a/TAO/TAO_IDL/be/be_visitor_component/component.cpp +++ b/TAO/TAO_IDL/be/be_visitor_component/component.cpp @@ -52,9 +52,9 @@ be_visitor_component::visit_attribute (be_attribute *node) if (node->accept (&visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_component::" - "visit_attribute - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_component::") + ACE_TEXT ("visit_attribute - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -129,9 +129,9 @@ be_visitor_component::visit_operation (be_operation *node) default: { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_component::" - "visit_operation - " - "Bad context state\n"), + ACE_TEXT ("be_visitor_component::") + ACE_TEXT ("visit_operation - ") + ACE_TEXT ("Bad context state\n")), -1); } } @@ -143,9 +143,9 @@ be_visitor_component::visit_operation (be_operation *node) else if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_component::" - "visit_operation - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_component::") + ACE_TEXT ("visit_operation - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -212,9 +212,9 @@ be_visitor_component::visit_structure (be_structure *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_component::" - "visit_structure - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_component::") + ACE_TEXT ("visit_structure - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -290,9 +290,9 @@ be_visitor_component::visit_typedef (be_typedef *node) default: { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_component::" - "visit_typedef - " - "Bad context state\n"), + ACE_TEXT ("be_visitor_component::") + ACE_TEXT ("visit_typedef - ") + ACE_TEXT ("Bad context state\n")), -1); } } @@ -300,9 +300,9 @@ be_visitor_component::visit_typedef (be_typedef *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_component::" - "visit_typedef - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_component::") + ACE_TEXT ("visit_typedef - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -310,9 +310,11 @@ be_visitor_component::visit_typedef (be_typedef *node) } int -be_visitor_component::visit_extended_port (be_extended_port *node) +be_visitor_component::visit_extended_port ( + be_extended_port *node) { - this->ctx_->port_prefix () = node->local_name ()->get_string (); + this->ctx_->port_prefix () = + node->local_name ()->get_string (); this->ctx_->port_prefix () += '_'; /// If the port visit traverses any attributes defined in the @@ -340,7 +342,8 @@ be_visitor_component::visit_extended_port (be_extended_port *node) int be_visitor_component::visit_mirror_port (be_mirror_port *node) { - this->ctx_->port_prefix () = node->local_name ()->get_string (); + this->ctx_->port_prefix () = + node->local_name ()->get_string (); this->ctx_->port_prefix () += '_'; /// If the port visit traverses any attributes defined in the diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_sh.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_sh.cpp deleted file mode 100644 index 17b2d24d429..00000000000 --- a/TAO/TAO_IDL/be/be_visitor_component/component_sh.cpp +++ /dev/null @@ -1,311 +0,0 @@ - -//============================================================================= -/** - * @file component_sh.cpp - * - * $Id$ - * - * Visitor generating code for Components in the server header. - * - * - * @author Jeff Parsons - */ -//============================================================================= - -// ****************************************************** -// Component visitor for server header -// ****************************************************** - -be_visitor_component_sh::be_visitor_component_sh (be_visitor_context *ctx) - : be_visitor_component (ctx) -{ -} - -be_visitor_component_sh::~be_visitor_component_sh (void) -{ -} - -int -be_visitor_component_sh::visit_component (be_component *node) -{ - if (node->srv_hdr_gen () - || node->imported () - || node->is_abstract ()) - { - return 0; - } - - if (be_global->gen_amh_classes ()) - { - be_visitor_amh_interface_sh amh_intf (this->ctx_); - - if (amh_intf.visit_interface (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_component_sh::" - "visit_component - " - "codegen for AMH classes failed\n"), - -1); - } - } - - if (this->generate_amh_classes (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_sh::" - "visit_interface - " - "codegen for AMH classes failed\n"), - -1); - } - - TAO_OutStream *os = this->ctx_->stream (); - ACE_CString class_name; - - // We shall have a POA_ prefix only if we are at the topmost level. - if (!node->is_nested ()) - { - // We are outermost. - class_name += "POA_"; - class_name += node->local_name (); - } - else - { - class_name += node->local_name (); - } - - *os << be_nl << be_nl - << "// TAO_IDL - Generated from" << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; - - // Generate the skeleton class name. - *os << "class " << class_name.c_str () << ";" << be_nl; - - // Generate the _ptr declaration. - *os << "typedef " << class_name.c_str () << " *" << class_name.c_str () - << "_ptr;" << be_nl << be_nl; - - if (be_global->gen_direct_collocation ()) - { - } - - if (be_global->gen_direct_collocation ()) - { - *os << "class " << node->direct_proxy_impl_name () - << ";" << be_nl - << "class " << node->strategized_proxy_broker_name () - << ";" << be_nl; - } - - *os << be_nl; - - // Now generate the class definition. - *os << "class " << be_global->skel_export_macro () - << " " << class_name.c_str () << be_idt_nl << ": " << be_idt; - - AST_Component *base = node->base_component (); - - if (base != 0) - { - *os << "public virtual POA_" << base->name (); - } - else - { - *os << "public virtual POA_Components::CCMObject"; - } - - long nsupports = node->n_inherits (); - AST_Type **supports = node->supports (); - AST_Type *supported = 0; - - for (long i = 0; i < nsupports; ++i) - { - supported = supports[i]; - - if (supported->is_abstract ()) - { - continue; - } - - *os << "," << be_nl; - *os << "public virtual POA_" << supported->name (); - } - - *os << be_uidt << be_uidt_nl - << "{" << be_nl - << "protected:" << be_idt_nl; - - // Default constructor. - *os << class_name.c_str () << " (void);" << be_uidt_nl << be_nl - << "public:" << be_idt_nl; - - // Some useful typedefs. - *os << "// Useful for template programming." << be_nl - << "typedef ::" << node->name () << " _stub_type;" << be_nl - << "typedef ::" << node->name () << "_ptr _stub_ptr_type;" << be_nl - << "typedef ::" << node->name () << "_var _stub_var_type;" - << be_nl << be_nl; - - // Copy constructor and destructor. - *os << class_name.c_str () << " (const " - << class_name.c_str () << "& rhs);" << be_nl - << "virtual ~" << class_name.c_str () << " (void);" << be_nl << be_nl; - - // _is_a - *os << "virtual ::CORBA::Boolean _is_a (const char* logical_type_id);" << be_nl << be_nl; - - // Add a skeleton for our _is_a method. - *os << "static void _is_a_skel (" << be_idt << be_idt_nl - << "TAO_ServerRequest &req," << be_nl - << "void *servant," << be_nl - << "void *servant_upcall);" << be_uidt - << be_uidt_nl << be_nl; - - if (!be_global->gen_minimum_corba ()) - { - // Add a skeleton for our _non_existent method. - *os << "static void _non_existent_skel (" << be_idt << be_idt_nl - << "TAO_ServerRequest &req," << be_nl - << "void *servant," << be_nl - << "void *servant_upcall);" << be_uidt - << be_uidt_nl << be_nl; - } - - if (!be_global->gen_corba_e () && !be_global->gen_minimum_corba ()) - { - // Add a skeleton for our _interface method. - *os << "static void _interface_skel (" << be_idt << be_idt_nl - << "TAO_ServerRequest &req," << be_nl - << "void *servant," << be_nl - << "void *servant_upcall);" << be_uidt - << be_uidt_nl << be_nl; - } - - if (!be_global->gen_corba_e () && !be_global->gen_minimum_corba ()) - { - // Add a skeleton for our _component method. - *os << "static void _component_skel (" << be_idt << be_idt_nl - << "TAO_ServerRequest &req," << be_nl - << "void *obj," << be_nl - << "void *servant_upcall);" << be_uidt - << be_uidt_nl << be_nl; - } - - if (!be_global->gen_minimum_corba ()) - { - // Add a skeleton for our _repository_id method. - *os << "static void _repository_id_skel (" << be_idt << be_idt_nl - << "TAO_ServerRequest &req," << be_nl - << "void *servant," << be_nl - << "void *servant_upcall);" << be_uidt - << be_uidt_nl << be_nl; - } - - // Add the dispatch method. - *os << "virtual void _dispatch (" << be_idt << be_idt_nl - << "TAO_ServerRequest &req," << be_nl - << "void *_servant_upcall);" << be_uidt - << be_uidt_nl << be_nl; - - // _this - *os << "::" << node->full_name () << " *_this (void);" - << be_nl; - - // _interface_repository_id - *os << "virtual const char* _interface_repository_id " - << "(void) const;"; - - // Generate code for elements in the scope (e.g., operations). - if (this->visit_scope (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_component_sh::" - "visit_component - " - "codegen for scope failed\n"), - -1); - } - - // Generate skeletons for operations of our base classes. These - // skeletons just cast the pointer to the appropriate type - // before invoking the call. - int status = - node->traverse_inheritance_graph ( - be_interface::gen_skel_helper, - os); - - if (status == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_component_sh::" - "visit_component - " - "inheritance graph traversal failed\n"), - -1); - } - - *os << be_uidt_nl << "};" << be_nl << be_nl; - - be_visitor_context ctx (*this->ctx_); - - if (be_global->gen_direct_collocation ()) - { - ctx = *this->ctx_; - // Generate strategized proxy broker. - be_visitor_interface_strategized_proxy_broker_sh ispb_visitor (&ctx); - - if (node->accept (&ispb_visitor) == -1) - { - ACE_ERROR_RETURN (( - LM_ERROR, - "be_visitor_component_sh::" - "visit_component - " - "codegen for collocated class failed\n" - ), - -1 - ); - } - } - - ctx = *this->ctx_; - - // Generate the collocated class. - - ctx = *this->ctx_; - - if (be_global->gen_direct_collocation ()) - { - ctx = *this->ctx_; - ctx.state (TAO_CodeGen::TAO_INTERFACE_DIRECT_PROXY_IMPL_SH); - be_visitor_interface_direct_proxy_impl_sh idpi_visitor (&ctx); - - if (node->accept (&idpi_visitor) == -1) - { - ACE_ERROR_RETURN (( - LM_ERROR, - "be_visitor_component_sh::" - "visit_component - " - "codegen for direct collocated class failed\n" - ), - -1 - ); - } - } - - return 0; -} - -int -be_visitor_component_sh::visit_connector (be_connector *node) -{ - return this->visit_component (node); -} - -int -be_visitor_component_sh::generate_amh_classes (be_component *node) -{ - if (be_global->gen_amh_classes ()) - { - be_visitor_amh_interface_sh amh_intf (this->ctx_); - return amh_intf.visit_interface (node); - } - - return 0; -} diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_si.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_si.cpp deleted file mode 100644 index f483e95ad4a..00000000000 --- a/TAO/TAO_IDL/be/be_visitor_component/component_si.cpp +++ /dev/null @@ -1,41 +0,0 @@ - -//============================================================================= -/** - * @file component_si.cpp - * - * $Id$ - * - * Visitor generating code for Components in the server inline. - * - * - * @author Jeff Parsons - */ -//============================================================================= - -// ****************************************************** -// Component visitor for server inline -// ****************************************************** - -be_visitor_component_si::be_visitor_component_si (be_visitor_context *ctx) - : be_visitor_component (ctx) -{ -} - -be_visitor_component_si::~be_visitor_component_si (void) -{ -} - -int -be_visitor_component_si::visit_component (be_component *node) -{ - be_visitor_context ctx (*this->ctx_); - be_visitor_interface_si visitor (&ctx); - return visitor.visit_interface (node); -} - -int -be_visitor_component_si::visit_connector (be_connector *node) -{ - return this->visit_component (node); -} - diff --git a/TAO/TAO_IDL/be/be_visitor_component/component_ss.cpp b/TAO/TAO_IDL/be/be_visitor_component/component_ss.cpp deleted file mode 100644 index 630ce78c0f7..00000000000 --- a/TAO/TAO_IDL/be/be_visitor_component/component_ss.cpp +++ /dev/null @@ -1,41 +0,0 @@ - -//============================================================================= -/** - * @file component_ss.cpp - * - * $Id$ - * - * Visitor generating code for Components in the server skeleton. - * - * - * @author Jeff Parsons - */ -//============================================================================= - -// ****************************************************** -// Component visitor for server skeleton -// ****************************************************** - -be_visitor_component_ss::be_visitor_component_ss (be_visitor_context *ctx) - : be_visitor_component (ctx) -{ -} - -be_visitor_component_ss::~be_visitor_component_ss (void) -{ -} - -int -be_visitor_component_ss::visit_component (be_component *node) -{ - be_visitor_context ctx (*this->ctx_); - be_visitor_interface_ss visitor (&ctx); - return visitor.visit_interface (node); -} - -int -be_visitor_component_ss::visit_connector (be_connector *node) -{ - return this->visit_component (node); -} - diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp index 340ff42c7b0..e4cc2609d0a 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - // ************************************************************ // Interface visitor for server header. // ************************************************************ @@ -52,9 +51,9 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (this->generate_amh_classes (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_sh::" - "visit_interface - " - "codegen for AMH classes failed\n"), + ACE_TEXT ("be_visitor_interface_sh::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for AMH classes failed\n")), -1); } @@ -73,8 +72,9 @@ be_visitor_interface_sh::visit_interface (be_interface *node) class_name += node->local_name (); } - *os << be_nl << be_nl - << "// TAO_IDL - Generated from" << be_nl + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from" << be_nl << "// " << __FILE__ << ":" << __LINE__; // Generate the skeleton class name. @@ -82,65 +82,42 @@ be_visitor_interface_sh::visit_interface (be_interface *node) << "class " << class_name.c_str () << ";" << be_nl; // Generate the _ptr declaration. - *os << "typedef " << class_name.c_str () << " *" << class_name.c_str () - << "_ptr;"; + *os << "typedef " << class_name.c_str () << " *" + << class_name.c_str () << "_ptr;"; if (be_global->gen_direct_collocation ()) { *os << be_nl << be_nl - << "class " << node->direct_proxy_impl_name () << ";" << be_nl - << "class " << node->strategized_proxy_broker_name () << ";"; + << "class " << node->direct_proxy_impl_name () + << ";" << be_nl + << "class " << node->strategized_proxy_broker_name () + << ";"; } // Now generate the class definition. *os << be_nl << be_nl << "class " << be_global->skel_export_macro () - << " " << class_name.c_str () << be_idt_nl << ": " << be_idt; - - long n_parents = node->n_inherits (); - AST_Type *parent = 0; - bool has_concrete_parent = false; - - for (int i = 0; i < n_parents; ++i) - { - parent = node->inherits ()[i]; - - if (parent->is_abstract ()) - { - continue; - } + << " " << class_name.c_str () << be_idt_nl + << ": " << be_idt; - if (has_concrete_parent) - { - *os << "," << be_nl; - } - - *os << "public virtual " << "POA_" - << parent->name (); - - has_concrete_parent = true; - } - - if (! has_concrete_parent) - { - // We don't inherit from another user defined object, hence our - // base class is the ServantBase class. - *os << "public virtual PortableServer::ServantBase"; - } + node->gen_skel_inheritance (os); *os << be_uidt << be_uidt_nl << "{" << be_nl << "protected:" << be_idt_nl; // Default constructor. - *os << class_name.c_str () << " (void);" << be_uidt_nl << be_nl + *os << class_name.c_str () << " (void);" + << be_uidt_nl << be_nl << "public:" << be_idt_nl; // Some useful typedefs. *os << "// Useful for template programming." << be_nl - << "typedef ::" << node->name () << " _stub_type;" << be_nl - << "typedef ::" << node->name () << "_ptr _stub_ptr_type;" << be_nl + << "typedef ::" << node->name () << " _stub_type;" + << be_nl + << "typedef ::" << node->name () << "_ptr _stub_ptr_type;" + << be_nl << "typedef ::" << node->name () << "_var _stub_var_type;" << be_nl << be_nl; @@ -162,7 +139,8 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (!be_global->gen_minimum_corba ()) { // Add a skeleton for our _non_existent method. - *os << "static void _non_existent_skel (" << be_idt << be_idt_nl + *os << "static void _non_existent_skel (" + << be_idt << be_idt_nl << "TAO_ServerRequest & req," << be_nl << "void * servant_upcall," << be_nl << "void * servant);" << be_uidt @@ -172,7 +150,8 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (!be_global->gen_corba_e () && !be_global->gen_minimum_corba ()) { // Add a skeleton for our _interface method. - *os << "static void _interface_skel (" << be_idt << be_idt_nl + *os << "static void _interface_skel (" + << be_idt << be_idt_nl << "TAO_ServerRequest & req," << be_nl << "void * servant_upcall," << be_nl << "void * servant);" << be_uidt @@ -192,7 +171,8 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (!be_global->gen_minimum_corba ()) { // Add a skeleton for our _repository_id method. - *os << "static void _repository_id_skel (" << be_idt << be_idt_nl + *os << "static void _repository_id_skel (" + << be_idt << be_idt_nl << "TAO_ServerRequest & req," << be_nl << "void * servant_upcall," << be_nl << "void * servant);" << be_uidt @@ -216,9 +196,9 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (this->visit_scope (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_sh::" - "visit_interface - " - "codegen for scope failed\n"), + ACE_TEXT ("be_visitor_interface_sh::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for scope failed\n")), -1); } @@ -233,9 +213,10 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_sh::" - "visit_interface - " - "inheritance graph traversal failed\n"), + ACE_TEXT ("be_visitor_interface_sh::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("inheritance graph ") + ACE_TEXT ("traversal failed\n")), -1); } @@ -251,39 +232,32 @@ be_visitor_interface_sh::visit_interface (be_interface *node) if (node->accept (&ispb_visitor) == -1) { - ACE_ERROR_RETURN (( - LM_ERROR, - "be_visitor_interface_sh::" - "visit_interface - " - "codegen for strategized proxy broker class failed\n" - ), - -1 - ); + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_interface_sh::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for strategized ") + ACE_TEXT ("proxy broker class failed\n")), + -1); } } - ctx = *this->ctx_; - // Generate the collocated class. ctx = *this->ctx_; if (be_global->gen_direct_collocation ()) { - ctx = *this->ctx_; ctx.state (TAO_CodeGen::TAO_INTERFACE_DIRECT_PROXY_IMPL_SH); be_visitor_interface_direct_proxy_impl_sh idpi_visitor (&ctx); if (node->accept (&idpi_visitor) == -1) { - ACE_ERROR_RETURN (( - LM_ERROR, - "be_visitor_interface_sh::" - "visit_interface - " - "codegen for direct collocated class failed\n" - ), - -1 - ); + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("be_visitor_interface_sh::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for direct ") + ACE_TEXT ("collocated class failed\n")), + -1); } } @@ -291,11 +265,22 @@ be_visitor_interface_sh::visit_interface (be_interface *node) } int +be_visitor_interface_sh::visit_component (be_component *node) +{ + return this->visit_interface (node); +} + +int +be_visitor_interface_sh::visit_connector (be_connector *node) +{ + return this->visit_interface (node); +} + +int be_visitor_interface_sh::gen_abstract_ops_helper ( - be_interface *node, - be_interface *base, - TAO_OutStream *os - ) + be_interface *node, + be_interface *base, + TAO_OutStream *os) { if (!base->is_abstract ()) { @@ -316,9 +301,9 @@ be_visitor_interface_sh::gen_abstract_ops_helper ( if (d == 0) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_interface_sh::" - "gen_abstract_ops_helper - " - "bad node in this scope\n"), + ACE_TEXT ("be_visitor_interface_sh::") + ACE_TEXT ("gen_abstract_ops_helper - ") + ACE_TEXT ("bad node in this scope\n")), -1); } @@ -371,7 +356,8 @@ be_visitor_interface_sh::this_method (be_interface *node) TAO_OutStream *os = this->ctx_->stream (); // Print out the _this() method. - *os << "::" << node->full_name () << " *_this (void);" << be_nl; + *os << "::" << node->full_name () << " *_this (void);" + << be_nl; } int diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp index a8392ed4e68..f3a13665ef4 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_si.cpp @@ -46,8 +46,10 @@ be_visitor_interface_si::visit_interface (be_interface *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_si::visit_interface " - "error determining mult inheritance\n"), + ACE_TEXT ("be_visitor_interface_si::") + ACE_TEXT ("visit_interface ") + ACE_TEXT ("error determining mult ") + ACE_TEXT ("inheritance\n")), -1); } @@ -59,9 +61,10 @@ be_visitor_interface_si::visit_interface (be_interface *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_interface_si::" - "visit_interface - " - "codegen for base class skeletons failed\n"), + ACE_TEXT ("be_visitor_interface_si::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for base ") + ACE_TEXT ("class skeletons failed\n")), -1); } @@ -81,10 +84,10 @@ be_visitor_interface_si::visit_interface (be_interface *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_interface_si::" - "visit_interface - " - "codegen for collocated base class " - "skeletons failed\n"), + ACE_TEXT ("be_visitor_interface_si::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for collocated base ") + ACE_TEXT ("class skeletons failed\n")), -1); } } @@ -93,6 +96,18 @@ be_visitor_interface_si::visit_interface (be_interface *node) } int +be_visitor_interface_si::visit_component (be_component *node) +{ + return this->visit_interface (node); +} + +int +be_visitor_interface_si::visit_connector (be_connector *node) +{ + return this->visit_interface (node); +} + +int be_visitor_interface_si::generate_amh_classes (be_interface *node) { // We have to check for an abstract ancestor until AMH is integrated diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp index 9ee88e31d86..e3e186606f3 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ss.cpp @@ -12,7 +12,6 @@ */ //============================================================================= - #include "global_extern.h" #include "ast_generator.h" #include "ast_string.h" @@ -33,7 +32,9 @@ be_visitor_interface_ss::~be_visitor_interface_ss (void) int be_visitor_interface_ss::visit_interface (be_interface *node) { - if (node->srv_skel_gen () || node->imported () || node->is_abstract ()) + if (node->srv_skel_gen () + || node->imported () + || node->is_abstract ()) { return 0; } @@ -72,25 +73,30 @@ be_visitor_interface_ss::visit_interface (be_interface *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::" - "visit_interface - " - "codegen for operation table failed\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for operation ") + ACE_TEXT ("table failed\n")), -1); } if (this->generate_proxy_classes (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::" - "visit_interface - " - "codegen for proxy classes\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for proxy classes\n")), -1); } TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl << be_nl << "// TAO_IDL - Generated from " << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from " << be_nl + << "// " << __FILE__ << ":" << __LINE__; + + *os << be_nl << be_nl; // Find if we are at the top scope or inside some module, // pre-compute the prefix that must be added to the local name in @@ -115,13 +121,15 @@ be_visitor_interface_ss::visit_interface (be_interface *node) // Default constructor body. *os << "{" << be_idt_nl - << "this->optable_ = &tao_" << flat_name << "_optable;" << be_uidt_nl + << "this->optable_ = &tao_" << flat_name + << "_optable;" << be_uidt_nl << "}" << be_nl << be_nl; // find if we are at the top scope or inside some module *os << full_skel_name << "::" << local_name_prefix << node_local_name << " (" - << "const " << local_name_prefix << node_local_name << "& rhs)"; + << "const " << local_name_prefix + << node_local_name << "& rhs)"; *os << be_idt_nl << ": TAO_Abstract_ServantBase (rhs)," << be_nl @@ -130,8 +138,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node) if (this->generate_copy_ctor (node, os) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::visit_interface - " - " copy ctor generation failed\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT (" copy ctor generation failed\n")), -1); } @@ -149,14 +158,18 @@ be_visitor_interface_ss::visit_interface (be_interface *node) if (this->visit_scope (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::" - "visit_interface - " - "codegen for scope failed\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for scope failed\n")), -1); } - *os << be_nl << be_nl << "// TAO_IDL - Generated from " << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from " << be_nl + << "// " << __FILE__ << ":" << __LINE__; + + *os << be_nl << be_nl; // Generate code for the _is_a skeleton. { @@ -202,8 +215,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "::_is_a_skel (" << be_idt << be_idt_nl << "TAO_ServerRequest & server_request, " << be_nl << "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl - << "void * servant)" << be_uidt << be_uidt_nl; - *os << "{" << be_idt; + << "void * servant)" << be_uidt << be_uidt_nl + << "{" << be_idt; // Generate exception list. be_visitor_operation_exceptlist_ss exception_list (this->ctx_); @@ -240,7 +253,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) // Upcall_Command instantiation. *os << be_nl - << is_a_upcall_command_name.c_str() << " command (" << be_idt_nl + << is_a_upcall_command_name.c_str() + << " command (" << be_idt_nl << "impl"; if (!is_a.void_return_type () @@ -297,7 +311,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node) non_existent.set_defined_in (node); ACE_CString non_exist_upcall_command_name = - "_non_existent_" + ACE_CString (node_local_name) + "_Upcall_Command" ; + "_non_existent_" + + ACE_CString (node_local_name) + + "_Upcall_Command"; be_visitor_operation_upcall_command_ss upcall_command_visitor (this->ctx_); upcall_command_visitor.visit (&non_existent, @@ -309,8 +325,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "::_non_existent_skel (" << be_idt << be_idt_nl << "TAO_ServerRequest & server_request, " << be_nl << "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl - << "void * servant)" << be_uidt << be_uidt_nl; - *os << "{" << be_idt; + << "void * servant)" << be_uidt << be_uidt_nl + << "{" << be_idt; // Generate exception list. be_visitor_operation_exceptlist_ss exception_list (this->ctx_); @@ -346,7 +362,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) // Upcall_Command instantiation. *os << be_nl - << non_exist_upcall_command_name.c_str() << " command (" << be_idt_nl + << non_exist_upcall_command_name.c_str() + << " command (" << be_idt_nl << "impl"; if (!non_existent.void_return_type () @@ -408,7 +425,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node) repository_id.set_defined_in (node); ACE_CString repository_id_upcall_command_name = - "_repository_id_" + ACE_CString (node_local_name) + "_Upcall_Command" ; + "_repository_id_" + + ACE_CString (node_local_name) + + "_Upcall_Command" ; be_visitor_operation_upcall_command_ss upcall_command_visitor (this->ctx_); upcall_command_visitor.visit (&repository_id, @@ -420,8 +439,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "::_repository_id_skel (" << be_idt << be_idt_nl << "TAO_ServerRequest & server_request, " << be_nl << "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl - << "void * servant)" << be_uidt << be_uidt_nl; - *os << "{" << be_idt; + << "void * servant)" << be_uidt << be_uidt_nl + << "{" << be_idt; // Generate exception list. be_visitor_operation_exceptlist_ss exception_list (this->ctx_); @@ -457,8 +476,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node) // Upcall_Command instantiation. *os << be_nl - << repository_id_upcall_command_name.c_str() << " command (" - << be_idt_nl << "impl"; + << repository_id_upcall_command_name.c_str() + << " command (" << be_idt_nl + << "impl"; if (!repository_id.void_return_type () || repository_id.argument_count () > 0) @@ -496,9 +516,12 @@ be_visitor_interface_ss::visit_interface (be_interface *node) s.get ()->destroy (); } - if (!be_global->gen_corba_e () && !be_global->gen_minimum_corba ()) + if (!be_global->gen_corba_e () + && !be_global->gen_minimum_corba ()) { - *os << be_nl << be_nl << "// TAO_IDL - Generated from " << be_nl + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from " << be_nl << "// " << __FILE__ << ":" << __LINE__; *os << be_nl << be_nl @@ -511,7 +534,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) *os << "TAO_IFR_Client_Adapter *_tao_adapter =" << be_idt_nl << "ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (" << be_idt << be_idt_nl - << "TAO_ORB_Core::ifr_client_adapter_name ()" << be_uidt_nl + << "TAO_ORB_Core::ifr_client_adapter_name ()" + << be_uidt_nl << ");" << be_uidt_nl << be_uidt_nl; *os << "if (!_tao_adapter)" << be_idt_nl << "{" << be_idt_nl @@ -533,7 +557,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "::CORBA::Boolean const _tao_result =" << be_idt_nl << "_tao_adapter->interfacedef_cdr_insert (_tao_out, _tao_retval);" << be_uidt_nl << be_nl - << "_tao_adapter->dispose (_tao_retval);" << be_nl << be_nl; + << "_tao_adapter->dispose (_tao_retval);" + << be_nl << be_nl; *os << "if (!_tao_result)" << be_idt_nl << "{" << be_idt_nl @@ -566,7 +591,9 @@ be_visitor_interface_ss::visit_interface (be_interface *node) get_component.set_defined_in (node); ACE_CString get_component_upcall_command_name = - "_get_component_" + ACE_CString (node_local_name) + "_Upcall_Command" ; + "_get_component_" + + ACE_CString (node_local_name) + + "_Upcall_Command" ; be_visitor_operation_upcall_command_ss upcall_command_visitor (this->ctx_); upcall_command_visitor.visit (&get_component, @@ -579,8 +606,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) << "TAO_ServerRequest & server_request, " << be_nl << "void * TAO_INTERCEPTOR (servant_upcall)," << be_nl << "void * servant" << be_uidt_nl - << ")" << be_uidt_nl; - *os << "{" << be_idt; + << ")" << be_uidt_nl + << "{" << be_idt; // Generate exception list. be_visitor_operation_exceptlist_ss exception_list (this->ctx_); @@ -662,9 +689,10 @@ be_visitor_interface_ss::visit_interface (be_interface *node) if (node->traverse_inheritance_graph (be_interface::is_a_helper, os) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::" - "visit_interface - " - "traversal of inhertance graph failed\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("traversal of inhertance ") + ACE_TEXT ("graph failed\n")), -1); } @@ -678,7 +706,8 @@ be_visitor_interface_ss::visit_interface (be_interface *node) *os << " ||" << be_uidt_nl << "!ACE_OS::strcmp (" << be_idt << be_idt_nl << "(char *)value," << be_nl - << "\"IDL:omg.org/CORBA/AbstractBase:1.0\"" << be_uidt_nl + << "\"IDL:omg.org/CORBA/AbstractBase:1.0\"" + << be_uidt_nl << ")"; } @@ -709,9 +738,10 @@ be_visitor_interface_ss::visit_interface (be_interface *node) if (node->accept (&visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::" - "visit_interface - " - "codegen for TIE class failed\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("codegen for TIE ") + ACE_TEXT ("class failed\n")), -1); } @@ -723,9 +753,22 @@ be_visitor_interface_ss::visit_interface (be_interface *node) } int -be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node, - be_interface *base, - TAO_OutStream *os) +be_visitor_interface_ss::visit_component (be_component *node) +{ + return this->visit_interface (node); +} + +int +be_visitor_interface_ss::visit_connector (be_connector *node) +{ + return this->visit_interface (node); +} + +int +be_visitor_interface_ss::gen_abstract_ops_helper ( + be_interface *node, + be_interface *base, + TAO_OutStream *os) { if (!base->is_abstract ()) { @@ -746,9 +789,9 @@ be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node, if (d == 0) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_interface_ss::" - "gen_abstract_ops_helper - " - "bad node in this scope\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("gen_abstract_ops_helper - ") + ACE_TEXT ("bad node in this scope\n")), -1); } @@ -794,7 +837,8 @@ be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node, } else if (AST_Decl::NT_attr == nt) { - AST_Attribute *attr = AST_Attribute::narrow_from_decl (d); + AST_Attribute *attr = + AST_Attribute::narrow_from_decl (d); be_attribute new_attr (attr->readonly (), attr->field_type (), 0, @@ -803,14 +847,16 @@ be_visitor_interface_ss::gen_abstract_ops_helper (be_interface *node, new_attr.set_defined_in (node); new_attr.set_name (new_name); - UTL_ExceptList *get_exceptions = attr->get_get_exceptions (); + UTL_ExceptList *get_exceptions = + attr->get_get_exceptions (); if (0 != get_exceptions) { new_attr.be_add_get_exceptions (get_exceptions->copy ()); } - UTL_ExceptList *set_exceptions = attr->get_set_exceptions (); + UTL_ExceptList *set_exceptions = + attr->get_set_exceptions (); if (0 != set_exceptions) { @@ -832,10 +878,14 @@ be_visitor_interface_ss::this_method (be_interface *node) { TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from" << be_nl + << "// " << __FILE__ << ":" << __LINE__; + + *os << be_nl << be_nl; - // the _this () operation. + // The _this () operation. *os << node->full_name () << " *" << be_nl << node->full_skel_name () << "::_this (void)" << be_nl @@ -851,7 +901,8 @@ be_visitor_interface_ss::this_method (be_interface *node) if (be_global->gen_direct_collocation() || be_global->gen_thru_poa_collocation ()) { - *os << "::CORBA::Boolean const _tao_opt_colloc =" << be_idt_nl + *os << "::CORBA::Boolean const _tao_opt_colloc =" + << be_idt_nl << "stub->servant_orb_var ()->orb_core ()->" << "optimize_collocation_objects ();" << be_uidt_nl << be_nl; } @@ -859,7 +910,8 @@ be_visitor_interface_ss::this_method (be_interface *node) << "tmp," << be_nl << "::CORBA::Object (stub, "; - if (be_global->gen_direct_collocation() || be_global->gen_thru_poa_collocation ()) + if (be_global->gen_direct_collocation() + || be_global->gen_thru_poa_collocation ()) { *os << "_tao_opt_colloc"; } @@ -874,13 +926,15 @@ be_visitor_interface_ss::this_method (be_interface *node) *os << "::CORBA::Object_var obj = tmp;" << be_nl << "(void) safe_stub.release ();" << be_nl << be_nl - << "typedef ::" << node->name () << " STUB_SCOPED_NAME;" << be_nl + << "typedef ::" << node->name () << " STUB_SCOPED_NAME;" + << be_nl << "return" << be_idt_nl << "TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (" << be_idt << be_idt_nl << "obj.in ()," << be_nl; - if (be_global->gen_direct_collocation() || be_global->gen_thru_poa_collocation ()) + if (be_global->gen_direct_collocation() + || be_global->gen_thru_poa_collocation ()) { *os << node->flat_client_enclosing_scope () << node->base_proxy_broker_name () @@ -906,8 +960,12 @@ be_visitor_interface_ss::dispatch_method (be_interface *node) { TAO_OutStream *os = this->ctx_->stream (); - *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl - << "// " << __FILE__ << ":" << __LINE__ << be_nl << be_nl; + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from" << be_nl + << "// " << __FILE__ << ":" << __LINE__; + + *os << be_nl << be_nl; *os << "void " << node->full_skel_name () << "::_dispatch (TAO_ServerRequest & req, void * servant_upcall)" @@ -954,17 +1012,20 @@ be_visitor_interface_ss::generate_proxy_classes (be_interface *node) if (node->accept (&ispb_visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_ss::" - "generate_proxy_classes - " - "codegen for Base Proxy Broker " - "class failed\n"), + ACE_TEXT ("be_visitor_interface_ss::") + ACE_TEXT ("generate_proxy_classes - ") + ACE_TEXT ("codegen for Base Proxy Broker ") + ACE_TEXT ("class failed\n")), -1); } } - if (be_global->gen_direct_collocation() || be_global->gen_thru_poa_collocation ()) + if (be_global->gen_direct_collocation() + || be_global->gen_thru_poa_collocation ()) { - *os << be_nl << be_nl << "// TAO_IDL - Generated from" << be_nl + *os << be_nl << be_nl; + + *os << "// TAO_IDL - Generated from" << be_nl << "// " << __FILE__ << ":" << __LINE__; // Proxy Broker Factory Function. @@ -972,7 +1033,8 @@ be_visitor_interface_ss::generate_proxy_classes (be_interface *node) << "TAO::Collocation_Proxy_Broker *" << be_nl << node->flat_client_enclosing_scope () << node->base_proxy_broker_name () - << "_Factory_function ( ::CORBA::Object_ptr)" << be_nl + << "_Factory_function ( ::CORBA::Object_ptr)" + << be_nl << "{" << be_idt_nl << "return"; @@ -1024,7 +1086,8 @@ be_visitor_interface_ss::generate_proxy_classes (be_interface *node) *os << "static int" << be_nl << node->flat_client_enclosing_scope () << node->base_proxy_broker_name () - << "_Stub_Factory_Initializer_Scarecrow =" << be_idt_nl + << "_Stub_Factory_Initializer_Scarecrow =" + << be_idt_nl << node->flat_client_enclosing_scope () << node->base_proxy_broker_name () << "_Factory_Initializer (" << be_idt << be_idt_nl @@ -1045,9 +1108,10 @@ be_visitor_interface_ss::generate_proxy_classes (be_interface *node) if (node->accept (&idpi_visitor) == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "be_visitor_interface_cs::" - "generate_proxy_classes - " - "codegen for Base Proxy Broker class failed\n"), + ACE_TEXT ("be_visitor_interface_cs::") + ACE_TEXT ("generate_proxy_classes - ") + ACE_TEXT ("codegen for Base Proxy ") + ACE_TEXT ("Broker class failed\n")), -1); } } diff --git a/TAO/TAO_IDL/be/be_visitor_module/module.cpp b/TAO/TAO_IDL/be/be_visitor_module/module.cpp index f3e3c751599..d380b0ad4f6 100644 --- a/TAO/TAO_IDL/be/be_visitor_module/module.cpp +++ b/TAO/TAO_IDL/be/be_visitor_module/module.cpp @@ -75,9 +75,9 @@ be_visitor_module::visit_constant (be_constant *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_constant - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_constant - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -108,9 +108,9 @@ be_visitor_module::visit_native (be_native *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::::" - "visit_native - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::::") + ACE_TEXT ("visit_native - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -183,9 +183,9 @@ be_visitor_module::visit_enum (be_enum *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_enum - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_enum - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -258,9 +258,9 @@ be_visitor_module::visit_exception (be_exception *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_exception - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_exception - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -381,9 +381,9 @@ be_visitor_module::visit_interface (be_interface *node) default: { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_interface - " - "Bad context state\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("Bad context state\n")), -1); } } @@ -395,9 +395,9 @@ be_visitor_module::visit_interface (be_interface *node) else if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_interface - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_interface - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -446,9 +446,9 @@ be_visitor_module::visit_interface_fwd (be_interface_fwd *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_interface_fwd - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_interface_fwd - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -521,9 +521,9 @@ be_visitor_module::visit_valuebox (be_valuebox *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_valuebox - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_valuebox - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -614,9 +614,9 @@ be_visitor_module::visit_valuetype (be_valuetype *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_valuetype - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_valuetype - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -664,9 +664,9 @@ be_visitor_module::visit_valuetype_fwd (be_valuetype_fwd *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_valuetype_fwd - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_valuetype_fwd - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -696,77 +696,26 @@ be_visitor_module::visit_component (be_component *node) switch (this->ctx_->state ()) { + // These cases all behave like interfaces. case TAO_CodeGen::TAO_ROOT_CH: - { - be_visitor_interface_ch visitor (&ctx); - // So we can pick up the abstract ops helpers. - ctx.state (TAO_CodeGen::TAO_INTERFACE_CH); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_CI: - { - be_visitor_interface_ci visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_CS: - { - be_visitor_interface_cs visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_CDR_OP_CH: - { - be_visitor_interface_cdr_op_ch visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_CDR_OP_CS: - { - be_visitor_interface_cdr_op_cs visitor (&ctx); - status = node->accept (&visitor); - break; - } - case TAO_CodeGen::TAO_ROOT_SERIALIZER_OP_CH: - case TAO_CodeGen::TAO_ROOT_SERIALIZER_OP_CS: - { - return 0; // nothing to be done for DCPS - break; - } case TAO_CodeGen::TAO_ROOT_ANY_OP_CH: - { - be_visitor_interface_any_op_ch visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_ANY_OP_CS: - { - be_visitor_interface_any_op_cs visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_SH: - { - be_visitor_component_sh visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_SI: - { - be_visitor_component_si visitor (&ctx); - status = node->accept (&visitor); - break; - } case TAO_CodeGen::TAO_ROOT_SS: - { - be_visitor_component_ss visitor (&ctx); - status = node->accept (&visitor); - break; - } - // Nothing for these with components, they have the executor. + return this->visit_interface (node); + + // Nothing for these with components. + case TAO_CodeGen::TAO_ROOT_SERIALIZER_OP_CH: + case TAO_CodeGen::TAO_ROOT_SERIALIZER_OP_CS: case TAO_CodeGen::TAO_ROOT_IH: case TAO_CodeGen::TAO_ROOT_IS: + case TAO_CodeGen::TAO_ROOT_CNH: + case TAO_CodeGen::TAO_ROOT_CNS: break; case TAO_CodeGen::TAO_ROOT_SVH: { @@ -798,15 +747,12 @@ be_visitor_module::visit_component (be_component *node) status = node->accept (&visitor); break; } - case TAO_CodeGen::TAO_ROOT_CNH: - case TAO_CodeGen::TAO_ROOT_CNS: - break; default: { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_component - " - "Bad context state\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_component - ") + ACE_TEXT ("Bad context state\n")), -1); } } @@ -814,9 +760,9 @@ be_visitor_module::visit_component (be_component *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_component - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_component - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -859,9 +805,9 @@ be_visitor_module::visit_component_fwd (be_component_fwd *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_component_fwd - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_component_fwd - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -931,9 +877,9 @@ be_visitor_module::visit_home (be_home *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_home - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_home - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -1076,9 +1022,9 @@ be_visitor_module::visit_structure (be_structure *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_structure - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_structure - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -1109,9 +1055,9 @@ be_visitor_module::visit_structure_fwd (be_structure_fwd *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_structure_fwd - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_structure_fwd - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -1190,9 +1136,9 @@ be_visitor_module::visit_union (be_union *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_union - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_union - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -1223,9 +1169,9 @@ be_visitor_module::visit_union_fwd (be_union_fwd *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_union_fwd - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_union_fwd - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } @@ -1304,9 +1250,9 @@ be_visitor_module::visit_typedef (be_typedef *node) if (status == -1) { ACE_ERROR_RETURN ((LM_ERROR, - "(%N:%l) be_visitor_module::" - "visit_typedef - " - "failed to accept visitor\n"), + ACE_TEXT ("be_visitor_module::") + ACE_TEXT ("visit_typedef - ") + ACE_TEXT ("failed to accept visitor\n")), -1); } diff --git a/TAO/TAO_IDL/be_include/be_component.h b/TAO/TAO_IDL/be_include/be_component.h index 32ab8f5a009..4c49b12f4a8 100644 --- a/TAO/TAO_IDL/be_include/be_component.h +++ b/TAO/TAO_IDL/be_include/be_component.h @@ -73,6 +73,9 @@ public: /// Generate the "public virtual" entries in the stub header. virtual void gen_stub_inheritance (TAO_OutStream *os); + /// Generate the "public virtual" entries in the skel header. + virtual void gen_skel_inheritance (TAO_OutStream *os); + /// Generate the string compares for ancestors in _is_a(). virtual int gen_is_a_ancestors (TAO_OutStream *os); diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h index 098d9e2b65b..72b5b0027f7 100644 --- a/TAO/TAO_IDL/be_include/be_interface.h +++ b/TAO/TAO_IDL/be_include/be_interface.h @@ -343,6 +343,9 @@ public: /// Generate the "public virtual" entries in the stub header. virtual void gen_stub_inheritance (TAO_OutStream *os); + /// Generate the "public virtual" entries in the skel header. + virtual void gen_skel_inheritance (TAO_OutStream *os); + /// Generate the string compares for ancestors in _is_a(). virtual int gen_is_a_ancestors (TAO_OutStream *os); diff --git a/TAO/TAO_IDL/be_include/be_visitor_component.h b/TAO/TAO_IDL/be_include/be_visitor_component.h index 4f7e30736f7..481302dced0 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_component.h +++ b/TAO/TAO_IDL/be_include/be_visitor_component.h @@ -20,9 +20,6 @@ #include "be_visitor_component_scope.h" #include "be_visitor_component/component.h" -#include "be_visitor_component/component_sh.h" -#include "be_visitor_component/component_si.h" -#include "be_visitor_component/component_ss.h" #include "be_visitor_component/component_svh.h" #include "be_visitor_component/facet_svh.h" #include "be_visitor_component/context_svh.h" diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/component_sh.h b/TAO/TAO_IDL/be_include/be_visitor_component/component_sh.h deleted file mode 100644 index d03948c064d..00000000000 --- a/TAO/TAO_IDL/be_include/be_visitor_component/component_sh.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- c++ -*- */ -//============================================================================= -/** - * @file component_sh.h - * - * $Id$ - * - * Concrete visitor for the Component node. - * This provides for code generation in the server header - * - * - * @author Jeff Parsons - */ -//============================================================================= - -#ifndef _BE_COMPONENT_COMPONENT_SH_H_ -#define _BE_COMPONENT_COMPONENT_SH_H_ - -/** - * @class be_visitor_component_sh - * - * @brief be_visitor_component_sh - * - * This is a concrete visitor to generate the server header for component. - */ -class be_visitor_component_sh : public be_visitor_component -{ -public: - be_visitor_component_sh (be_visitor_context *ctx); - ~be_visitor_component_sh (void); - - virtual int visit_component (be_component *node); - virtual int visit_connector (be_connector *node); - -protected: - virtual int generate_amh_classes (be_component *node); -}; - -#endif /* _BE_COMPONENT_COMPONENT_SH_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/component_si.h b/TAO/TAO_IDL/be_include/be_visitor_component/component_si.h deleted file mode 100644 index 42f46d52726..00000000000 --- a/TAO/TAO_IDL/be_include/be_visitor_component/component_si.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- c++ -*- */ -//============================================================================= -/** - * @file component_si.h - * - * $Id$ - * - * Concrete visitor for the Component node. - * This provides for code generation in the server inline - * - * - * @author Jeff Parsons - */ -//============================================================================= - -#ifndef _BE_COMPONENT_COMPONENT_SI_H_ -#define _BE_COMPONENT_COMPONENT_SI_H_ - -/** - * @class be_visitor_component_si - * - * @brief be_visitor_component_sh - * - * This is a concrete visitor to generate the server header for component. - */ -class be_visitor_component_si : public be_visitor_component -{ -public: - be_visitor_component_si (be_visitor_context *ctx); - ~be_visitor_component_si (void); - - virtual int visit_component (be_component *node); - virtual int visit_connector (be_connector *node); -}; - -#endif /* _BE_COMPONENT_COMPONENT_SI_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_component/component_ss.h b/TAO/TAO_IDL/be_include/be_visitor_component/component_ss.h deleted file mode 100644 index 17968be0fef..00000000000 --- a/TAO/TAO_IDL/be_include/be_visitor_component/component_ss.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- c++ -*- */ -//============================================================================= -/** - * @file component_ss.h - * - * $Id$ - * - * Concrete visitor for the Component node. - * This provides for code generation in the server skeleton - * - * - * @author Jeff Parsons - */ -//============================================================================= - -#ifndef _BE_COMPONENT_COMPONENT_SS_H_ -#define _BE_COMPONENT_COMPONENT_SS_H_ - -/** - * @class be_visitor_component_ss - * - * @brief be_visitor_component_ss - * - * This is a concrete visitor to generate - * the server skeleton for component. - */ -class be_visitor_component_ss : public be_visitor_component -{ -public: - be_visitor_component_ss (be_visitor_context *ctx); - ~be_visitor_component_ss (void); - - virtual int visit_component (be_component *node); - virtual int visit_connector (be_connector *node); -}; - -#endif /* _BE_COMPONENT_COMPONENT_SS_H_ */ diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_sh.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_sh.h index 6e180cbea9e..995c09314af 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_sh.h +++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_sh.h @@ -13,7 +13,6 @@ */ //============================================================================= - #ifndef _BE_INTERFACE_INTERFACE_SH_H_ #define _BE_INTERFACE_INTERFACE_SH_H_ @@ -27,14 +26,12 @@ class be_visitor_interface_sh : public be_visitor_interface { public: - /// constructor be_visitor_interface_sh (be_visitor_context *ctx); - - /// destructor ~be_visitor_interface_sh (void); - /// set the right context and make a visitor virtual int visit_interface (be_interface *node); + virtual int visit_component (be_component *node); + virtual int visit_connector (be_connector *node); /// Helper to generate the declarations for the operations /// of any abstract parents we may have. diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_si.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_si.h index 93269de40a4..cbf85d0f780 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_si.h +++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_si.h @@ -13,7 +13,6 @@ */ //============================================================================= - #ifndef _BE_INTERFACE_INTERFACE_SI_H_ #define _BE_INTERFACE_INTERFACE_SI_H_ @@ -27,14 +26,12 @@ class be_visitor_interface_si : public be_visitor_interface { public: - /// constructor be_visitor_interface_si (be_visitor_context *ctx); - - /// destructor ~be_visitor_interface_si (void); - /// set the right context and make a visitor virtual int visit_interface (be_interface *node); + virtual int visit_component (be_component *node); + virtual int visit_connector (be_connector *node); protected: virtual int generate_amh_classes (be_interface *node); diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h index 7c35a33e681..f86a68aa722 100644 --- a/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h +++ b/TAO/TAO_IDL/be_include/be_visitor_interface/interface_ss.h @@ -15,7 +15,6 @@ */ //============================================================================= - #ifndef _BE_INTERFACE_INTERFACE_SS_H_ #define _BE_INTERFACE_INTERFACE_SS_H_ @@ -30,14 +29,12 @@ class be_visitor_interface_ss : public be_visitor_interface { public: - /// constructor be_visitor_interface_ss (be_visitor_context *ctx); - - /// destructor ~be_visitor_interface_ss (void); - /// set the right context and make a visitor virtual int visit_interface (be_interface *node); + virtual int visit_component (be_component *node); + virtual int visit_connector (be_connector *node); /// Helper to generate the declarations for the operations /// of any abstract parents we may have. |