diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-10-21 14:11:04 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-10-21 14:11:04 +0000 |
commit | a36fd76bcaf2622cad0450467f31153ea5c5934c (patch) | |
tree | b28d9fad2a7ba6e4b719f3c2074cbab84b81c5f8 | |
parent | 4ba0451f1f65685a21a3bc399758e26c933e11c0 (diff) | |
download | ATCD-a36fd76bcaf2622cad0450467f31153ea5c5934c.tar.gz |
ChangeLogTag: Wed Oct 21 14:10:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
15 files changed, 63 insertions, 362 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog index 6d5c8833c62..db3ef05eec3 100644 --- a/modules/TAO/ChangeLog +++ b/modules/TAO/ChangeLog @@ -1,3 +1,37 @@ +Wed Oct 21 14:10:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/be/be_visitor_extended_port/extended_port_svs.cpp: + * TAO_IDL/be/be_visitor_extended_port/extended_port.cpp: + * TAO_IDL/be/be_visitor_extended_port/extended_port_svh.cpp: + * TAO_IDL/be_include/be_visitor_extended_port/extended_port_svs.h: + * TAO_IDL/be_include/be_visitor_extended_port/extended_port.h: + * TAO_IDL/be_include/be_visitor_extended_port/extended_port_svh.h: + + Removed these visitors, better use of polymorphism can be made + by just implementing their methods in the appropriate + component visitor. + + * TAO_IDL/be/be_visitor_component/facet_svh.cpp: + * TAO_IDL/be/be_visitor_component/facet_svs.cpp: + * TAO_IDL/be_include/be_visitor_component/facet_svh.h: + * TAO_IDL/be_include/be_visitor_component/facet_svs.h: + + Copied code from removed visitor methods above, and + removed visit_component() method. + + * TAO_IDL/be/be_visitor_component/component_svh.cpp: + * TAO_IDL/be/be_visitor_component/component_svs.cpp: + + Spawned facet visitors above with visit_component_scope() + call, eliminating the extra step of calling visit_component(). + + + * TAO_IDL/be_include/be_extended_port.h: + * TAO_IDL/be/be_extended_port.cpp: + + Overloaded port_type() method to return backend-specific + type, to eliminate many narrowing calls. + Tue Oct 20 22:55:25 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/be/be_visitor_component/component_scope.cpp: diff --git a/modules/TAO/TAO_IDL/be/be_extended_port.cpp b/modules/TAO/TAO_IDL/be/be_extended_port.cpp index 3cef181851a..f0c87f953cc 100644 --- a/modules/TAO/TAO_IDL/be/be_extended_port.cpp +++ b/modules/TAO/TAO_IDL/be/be_extended_port.cpp @@ -32,6 +32,14 @@ be_extended_port::~be_extended_port (void) { } +be_porttype * +be_extended_port::port_type (void) const +{ + return + be_porttype::narrow_from_decl ( + this->AST_Extended_Port::port_type ()); +} + void be_extended_port::destroy (void) { diff --git a/modules/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp b/modules/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp index 741cb10c475..c025672d119 100644 --- a/modules/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp +++ b/modules/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp @@ -47,7 +47,7 @@ be_visitor_component_svh::visit_component (be_component *node) // Generate the facet servant class declaration. be_visitor_facet_svh facet_visitor (this->ctx_); - if (facet_visitor.visit_component (node) == -1) + if (facet_visitor.visit_component_scope (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_component_svh::") diff --git a/modules/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp b/modules/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp index 3294483c1df..636b5fc4464 100644 --- a/modules/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp +++ b/modules/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp @@ -46,7 +46,7 @@ be_visitor_component_svs::visit_component (be_component *node) { be_visitor_facet_svs facet_visitor (this->ctx_); - if (facet_visitor.visit_component (node) == -1) + if (facet_visitor.visit_component_scope (node) == -1) { ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("be_visitor_component_svs::") diff --git a/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp b/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp index 5e8546f6643..be3fa5f04d9 100644 --- a/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp +++ b/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp @@ -29,21 +29,6 @@ be_visitor_facet_svh::~be_visitor_facet_svh (void) } int -be_visitor_facet_svh::visit_component (be_component *node) -{ - if (this->visit_scope (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_facet_svh::") - ACE_TEXT ("visit_component() - ") - ACE_TEXT ("visit_scope() failed\n")), - -1); - } - - return 0; -} - -int be_visitor_facet_svh::visit_provides (be_provides *node) { if (node->gen_facet_svnt_decl (os_) == -1) @@ -62,9 +47,7 @@ be_visitor_facet_svh::visit_provides (be_provides *node) int be_visitor_facet_svh::visit_extended_port (be_extended_port *node) { - be_visitor_extended_port_facet_svh visitor (this->ctx_); - - return visitor.visit_extended_port (node); + return this->visit_porttype (node->port_type ()); } int @@ -74,3 +57,9 @@ be_visitor_facet_svh::visit_mirror_port (be_mirror_port *) return 0; } +int +be_visitor_facet_svh::visit_porttype (be_porttype *node) +{ + return this->visit_scope (node); +} + diff --git a/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp b/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp index ce18fe211d2..bffaba45512 100644 --- a/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp +++ b/modules/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp @@ -29,21 +29,6 @@ be_visitor_facet_svs::~be_visitor_facet_svs (void) } int -be_visitor_facet_svs::visit_component (be_component *node) -{ - if (this->visit_scope (node) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_facet_svh::") - ACE_TEXT ("visit_component() - ") - ACE_TEXT ("visit_scope() failed\n")), - -1); - } - - return 0; -} - -int be_visitor_facet_svs::visit_provides (be_provides *node) { if (node->gen_facet_svnt_defn (os_) == -1) @@ -62,9 +47,7 @@ be_visitor_facet_svs::visit_provides (be_provides *node) int be_visitor_facet_svs::visit_extended_port (be_extended_port *node) { - be_visitor_extended_port_facet_svs visitor (this->ctx_); - - return visitor.visit_extended_port (node); + return this->visit_porttype (node->port_type ()); } int @@ -74,3 +57,9 @@ be_visitor_facet_svs::visit_mirror_port (be_mirror_port *) return 0; } +int +be_visitor_facet_svs::visit_porttype (be_porttype *node) +{ + return this->visit_scope (node); +} + diff --git a/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port.cpp b/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port.cpp deleted file mode 100644 index 2504968ab1d..00000000000 --- a/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// -// $Id$ -// - -// ============================================================================ -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// extended_port.cpp -// -// = DESCRIPTION -// Base class visitor generating code for extended ports. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -// ****************************************************** -// Base class extended port visitor -// ****************************************************** - -be_visitor_extended_port::be_visitor_extended_port ( - be_visitor_context *ctx) - : be_visitor_scope (ctx), - template_args_ (0), - port_type_ (0) -{ -} - -be_visitor_extended_port::~be_visitor_extended_port (void) -{ -} - diff --git a/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svh.cpp b/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svh.cpp deleted file mode 100644 index c8038cafbf1..00000000000 --- a/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svh.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// -// $Id$ -// - -// ============================================================================ -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// extended_port_svh.cpp -// -// = DESCRIPTION -// Visitor generating code for extended ports in the servant header. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -// ****************************************************** -// Extended port visitor for server header -// ****************************************************** - -be_visitor_extended_port_facet_svh::be_visitor_extended_port_facet_svh ( - be_visitor_context *ctx) - : be_visitor_extended_port (ctx) -{ -} - -be_visitor_extended_port_facet_svh::~be_visitor_extended_port_facet_svh ( - void) -{ -} - -int -be_visitor_extended_port_facet_svh::visit_extended_port ( - be_extended_port *node) -{ - be_porttype *pt = - be_porttype::narrow_from_decl (node->port_type ()); - - return this->visit_porttype (pt); -} - -int -be_visitor_extended_port_facet_svh::visit_porttype ( - be_porttype *node) -{ - return this->visit_scope (node); -} - -int -be_visitor_extended_port_facet_svh::visit_provides ( - be_provides *node) -{ - TAO_OutStream *os = this->ctx_->stream (); - - if (node->gen_facet_svnt_decl (*os) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_extended_port_facet_svh::") - ACE_TEXT ("visit_provides - ") - ACE_TEXT ("gen_facet_svnt_decl() failed\n")), - -1); - } - - return 0; -} - diff --git a/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svs.cpp b/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svs.cpp deleted file mode 100644 index 7a21808b2d3..00000000000 --- a/modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svs.cpp +++ /dev/null @@ -1,70 +0,0 @@ -// -// $Id$ -// - -// ============================================================================ -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// extended_port_svs.cpp -// -// = DESCRIPTION -// Visitor generating code for extended ports in the servant source. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -// ****************************************************** -// Extended port visitor for facets in server source. -// ****************************************************** - -be_visitor_extended_port_facet_svs::be_visitor_extended_port_facet_svs ( - be_visitor_context *ctx) - : be_visitor_extended_port (ctx) -{ -} - -be_visitor_extended_port_facet_svs::~be_visitor_extended_port_facet_svs ( - void) -{ -} - -int -be_visitor_extended_port_facet_svs::visit_extended_port ( - be_extended_port *node) -{ - be_porttype *pt = - be_porttype::narrow_from_decl (node->port_type ()); - - return this->visit_porttype (pt); -} - -int -be_visitor_extended_port_facet_svs::visit_porttype ( - be_porttype *node) -{ - return this->visit_scope (node); -} - -int -be_visitor_extended_port_facet_svs::visit_provides ( - be_provides *node) -{ - TAO_OutStream *os = this->ctx_->stream (); - - if (node->gen_facet_svnt_defn (*os) == -1) - { - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("be_visitor_extended_port_facet_svh::") - ACE_TEXT ("visit_provides - ") - ACE_TEXT ("gen_facet_svnt_defn() failed\n")), - -1); - } - - return 0; -} - diff --git a/modules/TAO/TAO_IDL/be_include/be_extended_port.h b/modules/TAO/TAO_IDL/be_include/be_extended_port.h index 615e7e87c3d..a2bdf9045ac 100644 --- a/modules/TAO/TAO_IDL/be_include/be_extended_port.h +++ b/modules/TAO/TAO_IDL/be_include/be_extended_port.h @@ -25,6 +25,7 @@ #include "ast_extended_port.h" #include "be_field.h" +#include "be_porttype.h" class be_visitor; @@ -46,6 +47,8 @@ public: virtual ~be_extended_port (void); + be_porttype *port_type (void) const; + virtual void destroy (void); virtual int accept (be_visitor *visitor); diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svh.h b/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svh.h index 40d703ce7a2..789823020db 100644 --- a/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svh.h +++ b/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svh.h @@ -39,10 +39,10 @@ public: ~be_visitor_facet_svh (void); - virtual int visit_component (be_component *node); virtual int visit_provides (be_provides *node); virtual int visit_extended_port (be_extended_port *node); virtual int visit_mirror_port (be_mirror_port *node); + virtual int visit_porttype (be_porttype *node); }; #endif /* _BE_COMPONENT_FACET_SVH_H_ */ diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svs.h b/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svs.h index 2a1d76382e7..31ec2093f48 100644 --- a/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svs.h +++ b/modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svs.h @@ -39,10 +39,10 @@ public: ~be_visitor_facet_svs (void); - virtual int visit_component (be_component *node); virtual int visit_provides (be_provides *node); virtual int visit_extended_port (be_extended_port *node); virtual int visit_mirror_port (be_mirror_port *node); + virtual int visit_porttype (be_porttype *node); }; #endif /* _BE_COMPONENT_FACET_SVS_H_ */ diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port.h b/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port.h deleted file mode 100644 index aa85d4ec558..00000000000 --- a/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// $Id$ -// -/* -*- c++ -*- */ -// ============================================================================ -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// extended_port.h -// -// = DESCRIPTION -// Base class visitor for the extended port node. -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_H_ -#define _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_H_ - -class be_visitor_extended_port - : public be_visitor_scope -{ - // - // = TITLE - // be_visitor_extended_port - // - // = DESCRIPTION - // This is a base class visitor for other extended port - // visitors. - // - // -protected: - be_visitor_extended_port (be_visitor_context *ctx); - - ~be_visitor_extended_port (void); - -protected: - AST_Template_Common::T_ARGLIST *template_args_; - be_porttype *port_type_; -}; - -#endif /* _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_H_ */ - - diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svh.h b/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svh.h deleted file mode 100644 index e8b23a71c19..00000000000 --- a/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svh.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// $Id$ -// -/* -*- c++ -*- */ -// ============================================================================ -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// extended_port_svh.h -// -// = DESCRIPTION -// Concrete visitor for the extended port node. -// This provides for code generation in the servant header -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_SVH_H_ -#define _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_SVH_H_ - -class be_visitor_extended_port_facet_svh - : public be_visitor_extended_port -{ - // - // = TITLE - // be_visitor_extended_port_facet_svh - // - // = DESCRIPTION - // This is a concrete visitor to generate the facet - // classes for an extended port. - // - // -public: - be_visitor_extended_port_facet_svh (be_visitor_context *ctx); - - ~be_visitor_extended_port_facet_svh (void); - - virtual int visit_extended_port (be_extended_port *node); - virtual int visit_porttype (be_porttype *node); - virtual int visit_provides (be_provides *node); -}; - -#endif /* _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_SVH_H_ */ - - diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svs.h b/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svs.h deleted file mode 100644 index 3699d703551..00000000000 --- a/modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svs.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// $Id$ -// -/* -*- c++ -*- */ -// ============================================================================ -// -// = LIBRARY -// TAO IDL -// -// = FILENAME -// extended_port_svs.h -// -// = DESCRIPTION -// Concrete visitor for the extended port node. -// This provides for code generation in the servant source -// -// = AUTHOR -// Jeff Parsons -// -// ============================================================================ - -#ifndef _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_SVS_H_ -#define _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_SVS_H_ - -class be_visitor_extended_port_facet_svs - : public be_visitor_extended_port -{ - // - // = TITLE - // be_visitor_extended_port_facet_svs - // - // = DESCRIPTION - // This is a concrete visitor to generate the facet - // class implementations for an extended port. - // - // -public: - be_visitor_extended_port_facet_svs (be_visitor_context *ctx); - - ~be_visitor_extended_port_facet_svs (void); - - virtual int visit_extended_port (be_extended_port *node); - virtual int visit_porttype (be_porttype *node); - virtual int visit_provides (be_provides *node); -}; - -#endif /* _BE_VISITOR_EXTENDED_PORT_EXTENEDED_PORT_SVS_H_ */ - - |