summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-10-21 14:11:04 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-10-21 14:11:04 +0000
commita36fd76bcaf2622cad0450467f31153ea5c5934c (patch)
treeb28d9fad2a7ba6e4b719f3c2074cbab84b81c5f8
parent4ba0451f1f65685a21a3bc399758e26c933e11c0 (diff)
downloadATCD-a36fd76bcaf2622cad0450467f31153ea5c5934c.tar.gz
ChangeLogTag: Wed Oct 21 14:10:35 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog34
-rw-r--r--modules/TAO/TAO_IDL/be/be_extended_port.cpp8
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_component/component_svh.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_component/component_svs.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_component/facet_svh.cpp25
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_component/facet_svs.cpp25
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port.cpp36
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svh.cpp70
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor_extended_port/extended_port_svs.cpp70
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_extended_port.h3
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svh.h2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_visitor_component/facet_svs.h2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port.h48
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svh.h49
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_visitor_extended_port/extended_port_svs.h49
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_ */
-
-