summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-17 19:06:27 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-17 19:06:27 +0000
commit781222ed1a2288359330a54d400c957c0ef75939 (patch)
treeb45cb080bbdc4662d1bd38cf0641c0f3637e30ff
parent38032177c0847fd602cca8f85517ed2b219eadab (diff)
downloadATCD-781222ed1a2288359330a54d400c957c0ef75939.tar.gz
ChangeLogTag: Fri Jul 17 19:03:02 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog48
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_attribute.cpp4
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_consumes.cpp47
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_decl.cpp10
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_emits.cpp47
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_field.cpp34
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_provides.cpp47
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_publishes.cpp47
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_uses.cpp49
-rw-r--r--modules/TAO/TAO_IDL/be/be_consumes.cpp39
-rw-r--r--modules/TAO/TAO_IDL/be/be_emits.cpp39
-rw-r--r--modules/TAO/TAO_IDL/be/be_provides.cpp39
-rw-r--r--modules/TAO/TAO_IDL/be/be_publishes.cpp39
-rw-r--r--modules/TAO/TAO_IDL/be/be_uses.cpp41
-rw-r--r--modules/TAO/TAO_IDL/be/be_visitor.cpp30
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_consumes.h34
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_emits.h34
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_provides.h34
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_publishes.h34
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_uses.h35
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_visitor.h89
-rw-r--r--modules/TAO/TAO_IDL/include/ast_component.h3
-rw-r--r--modules/TAO/TAO_IDL/include/ast_consumes.h37
-rw-r--r--modules/TAO/TAO_IDL/include/ast_decl.h5
-rw-r--r--modules/TAO/TAO_IDL/include/ast_emits.h37
-rw-r--r--modules/TAO/TAO_IDL/include/ast_field.h6
-rw-r--r--modules/TAO/TAO_IDL/include/ast_provides.h37
-rw-r--r--modules/TAO/TAO_IDL/include/ast_publishes.h37
-rw-r--r--modules/TAO/TAO_IDL/include/ast_template_interface.h2
-rw-r--r--modules/TAO/TAO_IDL/include/ast_uses.h37
-rw-r--r--modules/TAO/TAO_IDL/include/ast_visitor.h95
-rw-r--r--modules/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp30
-rw-r--r--modules/TAO/orbsvcs/IFR_Service/ifr_visitor.h92
33 files changed, 972 insertions, 266 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index ddd42cf5197..4d14b659983 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,3 +1,51 @@
+Fri Jul 17 19:03:02 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/include/ast_provides.h:
+ * TAO_IDL/include/ast_uses.h:
+ * TAO_IDL/include/ast_consumes.h:
+ * TAO_IDL/include/ast_publishes.h:
+ * TAO_IDL/include/ast_emits.h:
+ * TAO_IDL/be/be_provides.cpp:
+ * TAO_IDL/be/be_consumes.cpp:
+ * TAO_IDL/be/be_uses.cpp:
+ * TAO_IDL/be/be_emits.cpp:
+ * TAO_IDL/be/be_publishes.cpp:
+ * TAO_IDL/ast/ast_provides.cpp:
+ * TAO_IDL/ast/ast_consumes.cpp:
+ * TAO_IDL/ast/ast_publishes.cpp:
+ * TAO_IDL/ast/ast_emits.cpp:
+ * TAO_IDL/ast/ast_uses.cpp:
+ * TAO_IDL/be_include/be_publishes.h:
+ * TAO_IDL/be_include/be_uses.h:
+ * TAO_IDL/be_include/be_emits.h:
+ * TAO_IDL/be_include/be_provides.h:
+ * TAO_IDL/be_include/be_consumes.h:
+
+ New files, making component and porttype
+ port declarations full-fledged nodes in
+ the AST. Formerly they were stored as
+ a list of info structs.
+
+ * TAO_IDL/include/ast_decl.h:
+ * TAO_IDL/include/ast_template_interface.h:
+ * TAO_IDL/include/ast_field.h:
+ * TAO_IDL/include/ast_visitor.h:
+ * TAO_IDL/include/ast_component.h:
+ * TAO_IDL/be/be_visitor.cpp:
+ * TAO_IDL/ast/ast_attribute.cpp:
+ * TAO_IDL/ast/ast_decl.cpp:
+ * TAO_IDL/ast/ast_field.cpp:
+ * TAO_IDL/be_include/be_visitor.h:
+
+ Changes corresponding to the new nodes
+ above, and cosmetic changes.
+
+ * orbsvcs/IFR_Service/ifr_visitor.h:
+ * orbsvcs/IFR_Service/ifr_visitor.cpp:
+
+ Added new visit_* methods corresponding to the new
+ nodes.
+
Fri Jul 17 15:07:49 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/fe/idl.yy:
diff --git a/modules/TAO/TAO_IDL/ast/ast_attribute.cpp b/modules/TAO/TAO_IDL/ast/ast_attribute.cpp
index c80f7a06748..45cab3b2a3c 100644
--- a/modules/TAO/TAO_IDL/ast/ast_attribute.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_attribute.cpp
@@ -124,7 +124,7 @@ AST_Attribute::dump (ACE_OSTREAM_TYPE &o)
{
this->dump_i (o, (this->pd_readonly == true ?
"readonly attribute " : "attribute "));
- AST_Field::dump (o);
+ this->AST_Field::dump (o);
}
int
@@ -318,6 +318,4 @@ AST_Attribute::fe_add_set_exceptions (UTL_NameList *t)
return t;
}
-
-
IMPL_NARROW_FROM_DECL(AST_Attribute)
diff --git a/modules/TAO/TAO_IDL/ast/ast_consumes.cpp b/modules/TAO/TAO_IDL/ast/ast_consumes.cpp
new file mode 100644
index 00000000000..be09e325a3a
--- /dev/null
+++ b/modules/TAO/TAO_IDL/ast/ast_consumes.cpp
@@ -0,0 +1,47 @@
+// $Id$
+
+#include "ast_consumes.h"
+#include "ast_eventtype.h"
+#include "ast_visitor.h"
+
+AST_Consumes::AST_Consumes (UTL_ScopedName *n,
+ AST_EventType *consumes_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_consumes,
+ n),
+ AST_Field (AST_Decl::NT_consumes,
+ consumes_type,
+ n)
+{
+}
+
+AST_Consumes::~AST_Consumes (void)
+{
+}
+
+AST_EventType *
+AST_Consumes::consumes_type (void) const
+{
+ return AST_EventType::narrow_from_decl (this->field_type ());
+}
+
+void
+AST_Consumes::dump (ACE_OSTREAM_TYPE &o)
+{
+ this->dump_i (o, "consumes ");
+ this->AST_Field::dump (o);
+}
+
+int
+AST_Consumes::ast_accept (ast_visitor *visitor)
+{
+ return visitor->visit_consumes (this);
+}
+
+void
+AST_Consumes::destroy (void)
+{
+ this->AST_Field::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(AST_Consumes)
diff --git a/modules/TAO/TAO_IDL/ast/ast_decl.cpp b/modules/TAO/TAO_IDL/ast/ast_decl.cpp
index 838916a89b9..1552945b531 100644
--- a/modules/TAO/TAO_IDL/ast/ast_decl.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_decl.cpp
@@ -786,6 +786,16 @@ AST_Decl::node_type_to_string (NodeType nt)
return "fixed";
case NT_porttype:
return "porttype";
+ case NT_provides:
+ return "provides";
+ case NT_uses:
+ return "uses";
+ case NT_publishes:
+ return "publishes";
+ case NT_emits:
+ return "emits";
+ case NT_consumes:
+ return "consumes";
// No useful output for these.
case NT_enum_val:
case NT_field:
diff --git a/modules/TAO/TAO_IDL/ast/ast_emits.cpp b/modules/TAO/TAO_IDL/ast/ast_emits.cpp
new file mode 100644
index 00000000000..b9f2b1b040d
--- /dev/null
+++ b/modules/TAO/TAO_IDL/ast/ast_emits.cpp
@@ -0,0 +1,47 @@
+// $Id$
+
+#include "ast_emits.h"
+#include "ast_eventtype.h"
+#include "ast_visitor.h"
+
+AST_Emits::AST_Emits (UTL_ScopedName *n,
+ AST_EventType *emits_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_emits,
+ n),
+ AST_Field (AST_Decl::NT_emits,
+ emits_type,
+ n)
+{
+}
+
+AST_Emits::~AST_Emits (void)
+{
+}
+
+AST_EventType *
+AST_Emits::emits_type (void) const
+{
+ return AST_EventType::narrow_from_decl (this->field_type ());
+}
+
+void
+AST_Emits::dump (ACE_OSTREAM_TYPE &o)
+{
+ this->dump_i (o, "emits ");
+ this->AST_Field::dump (o);
+}
+
+int
+AST_Emits::ast_accept (ast_visitor *visitor)
+{
+ return visitor->visit_emits (this);
+}
+
+void
+AST_Emits::destroy (void)
+{
+ this->AST_Field::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(AST_Emits)
diff --git a/modules/TAO/TAO_IDL/ast/ast_field.cpp b/modules/TAO/TAO_IDL/ast/ast_field.cpp
index dd3f10a3a06..bcdd73b68d1 100644
--- a/modules/TAO/TAO_IDL/ast/ast_field.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_field.cpp
@@ -79,13 +79,15 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "ast_visitor.h"
#include "utl_identifier.h"
-ACE_RCSID (ast, ast_field, "$Id$")
+ACE_RCSID (ast,
+ ast_field,
+ "$Id$")
AST_Field::AST_Field (void)
: COMMON_Base (),
AST_Decl (),
- pd_field_type (0),
- pd_visibility (vis_NA),
+ ref_type_ (0),
+ visibility_ (vis_NA),
anonymous_type_ (false)
{
}
@@ -97,8 +99,8 @@ AST_Field::AST_Field (AST_Type *ft,
: COMMON_Base (),
AST_Decl (AST_Decl::NT_field,
n),
- pd_field_type (ft),
- pd_visibility (vis),
+ ref_type_ (ft),
+ visibility_ (vis),
anonymous_type_ (false)
{
AST_Decl::NodeType fnt = ft->node_type ();
@@ -117,8 +119,8 @@ AST_Field::AST_Field (AST_Decl::NodeType nt,
: COMMON_Base (),
AST_Decl (nt,
n),
- pd_field_type (ft),
- pd_visibility (vis),
+ ref_type_ (ft),
+ visibility_ (vis),
anonymous_type_ (false)
{
AST_Decl::NodeType fnt = ft->node_type ();
@@ -137,7 +139,7 @@ AST_Field::~AST_Field (void)
void
AST_Field::dump (ACE_OSTREAM_TYPE &o)
{
- switch (this->pd_visibility)
+ switch (this->visibility_)
{
case vis_PRIVATE:
this->dump_i (o, "private ");
@@ -151,7 +153,7 @@ AST_Field::dump (ACE_OSTREAM_TYPE &o)
break;
}
- this->pd_field_type->local_name ()->dump (o);
+ this->ref_type_->local_name ()->dump (o);
this->dump_i (o, " ");
@@ -169,9 +171,9 @@ AST_Field::destroy (void)
{
if (this->anonymous_type_)
{
- this->pd_field_type->destroy ();
- delete this->pd_field_type;
- this->pd_field_type = 0;
+ this->ref_type_->destroy ();
+ delete this->ref_type_;
+ this->ref_type_ = 0;
}
this->AST_Decl::destroy ();
@@ -180,21 +182,19 @@ AST_Field::destroy (void)
AST_Type *
AST_Field::field_type (void) const
{
- return this->pd_field_type;
+ return this->ref_type_;
}
AST_Field::Visibility
AST_Field::visibility (void)
{
- return this->pd_visibility;
+ return this->visibility_;
}
int
AST_Field::contains_wstring (void)
{
- return this->pd_field_type->contains_wstring ();
+ return this->ref_type_->contains_wstring ();
}
-
-
IMPL_NARROW_FROM_DECL(AST_Field)
diff --git a/modules/TAO/TAO_IDL/ast/ast_provides.cpp b/modules/TAO/TAO_IDL/ast/ast_provides.cpp
new file mode 100644
index 00000000000..b2a756d215d
--- /dev/null
+++ b/modules/TAO/TAO_IDL/ast/ast_provides.cpp
@@ -0,0 +1,47 @@
+// $Id$
+
+#include "ast_provides.h"
+#include "ast_interface.h"
+#include "ast_visitor.h"
+
+AST_Provides::AST_Provides (UTL_ScopedName *n,
+ AST_Interface *provides_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_provides,
+ n),
+ AST_Field (AST_Decl::NT_provides,
+ provides_type,
+ n)
+{
+}
+
+AST_Provides::~AST_Provides (void)
+{
+}
+
+AST_Interface *
+AST_Provides::provides_type (void) const
+{
+ return AST_Interface::narrow_from_decl (this->field_type ());
+}
+
+void
+AST_Provides::dump (ACE_OSTREAM_TYPE &o)
+{
+ this->dump_i (o, "provides ");
+ this->AST_Field::dump (o);
+}
+
+int
+AST_Provides::ast_accept (ast_visitor *visitor)
+{
+ return visitor->visit_provides (this);
+}
+
+void
+AST_Provides::destroy (void)
+{
+ this->AST_Field::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(AST_Provides)
diff --git a/modules/TAO/TAO_IDL/ast/ast_publishes.cpp b/modules/TAO/TAO_IDL/ast/ast_publishes.cpp
new file mode 100644
index 00000000000..6fb1f7add33
--- /dev/null
+++ b/modules/TAO/TAO_IDL/ast/ast_publishes.cpp
@@ -0,0 +1,47 @@
+// $Id$
+
+#include "ast_publishes.h"
+#include "ast_eventtype.h"
+#include "ast_visitor.h"
+
+AST_Publishes::AST_Publishes (UTL_ScopedName *n,
+ AST_EventType *publishes_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_publishes,
+ n),
+ AST_Field (AST_Decl::NT_publishes,
+ publishes_type,
+ n)
+{
+}
+
+AST_Publishes::~AST_Publishes (void)
+{
+}
+
+AST_EventType *
+AST_Publishes::publishes_type (void) const
+{
+ return AST_EventType::narrow_from_decl (this->field_type ());
+}
+
+void
+AST_Publishes::dump (ACE_OSTREAM_TYPE &o)
+{
+ this->dump_i (o, "publishes ");
+ this->AST_Field::dump (o);
+}
+
+int
+AST_Publishes::ast_accept (ast_visitor *visitor)
+{
+ return visitor->visit_publishes (this);
+}
+
+void
+AST_Publishes::destroy (void)
+{
+ this->AST_Field::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(AST_Publishes)
diff --git a/modules/TAO/TAO_IDL/ast/ast_uses.cpp b/modules/TAO/TAO_IDL/ast/ast_uses.cpp
new file mode 100644
index 00000000000..bce4af2ab81
--- /dev/null
+++ b/modules/TAO/TAO_IDL/ast/ast_uses.cpp
@@ -0,0 +1,49 @@
+// $Id$
+
+#include "ast_uses.h"
+#include "ast_interface.h"
+#include "ast_visitor.h"
+
+AST_Uses::AST_Uses (UTL_ScopedName *n,
+ AST_Interface *uses_type,
+ bool is_multiple)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_uses,
+ n),
+ AST_Field (AST_Decl::NT_uses,
+ uses_type,
+ n),
+ is_multiple_ (is_multiple)
+{
+}
+
+AST_Uses::~AST_Uses (void)
+{
+}
+
+AST_Interface *
+AST_Uses::uses_type (void) const
+{
+ return AST_Interface::narrow_from_decl (this->field_type ());
+}
+
+void
+AST_Uses::dump (ACE_OSTREAM_TYPE &o)
+{
+ this->dump_i (o, "uses ");
+ this->AST_Field::dump (o);
+}
+
+int
+AST_Uses::ast_accept (ast_visitor *visitor)
+{
+ return visitor->visit_uses (this);
+}
+
+void
+AST_Uses::destroy (void)
+{
+ this->AST_Field::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(AST_Uses)
diff --git a/modules/TAO/TAO_IDL/be/be_consumes.cpp b/modules/TAO/TAO_IDL/be/be_consumes.cpp
new file mode 100644
index 00000000000..4417ab37d4d
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be/be_consumes.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "be_consumes.h"
+#include "be_eventtype.h"
+#include "be_visitor.h"
+
+be_consumes::be_consumes (UTL_ScopedName *n,
+ be_eventtype *consumes_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_consumes,
+ n),
+ AST_Field (AST_Decl::NT_consumes,
+ consumes_type,
+ n),
+ AST_Consumes (n,
+ consumes_type),
+ be_decl (AST_Decl::NT_consumes,
+ n)
+{
+}
+
+be_consumes::~be_consumes (void)
+{
+}
+
+int
+be_consumes::accept (be_visitor *visitor)
+{
+ return visitor->visit_consumes (this);
+}
+
+void
+be_consumes::destroy (void)
+{
+ this->AST_Consumes::destroy ();
+ this->be_decl::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(be_consumes)
diff --git a/modules/TAO/TAO_IDL/be/be_emits.cpp b/modules/TAO/TAO_IDL/be/be_emits.cpp
new file mode 100644
index 00000000000..5271e8b9257
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be/be_emits.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "be_emits.h"
+#include "be_eventtype.h"
+#include "be_visitor.h"
+
+be_emits::be_emits (UTL_ScopedName *n,
+ be_eventtype *emits_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_emits,
+ n),
+ AST_Field (AST_Decl::NT_emits,
+ emits_type,
+ n),
+ AST_Emits (n,
+ emits_type),
+ be_decl (AST_Decl::NT_emits,
+ n)
+{
+}
+
+be_emits::~be_emits (void)
+{
+}
+
+int
+be_emits::accept (be_visitor *visitor)
+{
+ return visitor->visit_emits (this);
+}
+
+void
+be_emits::destroy (void)
+{
+ this->AST_Emits::destroy ();
+ this->be_decl::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(be_emits)
diff --git a/modules/TAO/TAO_IDL/be/be_provides.cpp b/modules/TAO/TAO_IDL/be/be_provides.cpp
new file mode 100644
index 00000000000..8219ef022ce
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be/be_provides.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "be_provides.h"
+#include "be_interface.h"
+#include "be_visitor.h"
+
+be_provides::be_provides (UTL_ScopedName *n,
+ be_interface *provides_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_provides,
+ n),
+ AST_Field (AST_Decl::NT_provides,
+ provides_type,
+ n),
+ AST_Provides (n,
+ provides_type),
+ be_decl (AST_Decl::NT_provides,
+ n)
+{
+}
+
+be_provides::~be_provides (void)
+{
+}
+
+int
+be_provides::accept (be_visitor *visitor)
+{
+ return visitor->visit_provides (this);
+}
+
+void
+be_provides::destroy (void)
+{
+ this->AST_Provides::destroy ();
+ this->be_decl::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(be_provides)
diff --git a/modules/TAO/TAO_IDL/be/be_publishes.cpp b/modules/TAO/TAO_IDL/be/be_publishes.cpp
new file mode 100644
index 00000000000..e4cadb283e9
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be/be_publishes.cpp
@@ -0,0 +1,39 @@
+// $Id$
+
+#include "be_publishes.h"
+#include "be_eventtype.h"
+#include "be_visitor.h"
+
+be_publishes::be_publishes (UTL_ScopedName *n,
+ be_eventtype *publishes_type)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_publishes,
+ n),
+ AST_Field (AST_Decl::NT_publishes,
+ publishes_type,
+ n),
+ AST_Publishes (n,
+ publishes_type),
+ be_decl (AST_Decl::NT_publishes,
+ n)
+{
+}
+
+be_publishes::~be_publishes (void)
+{
+}
+
+int
+be_publishes::accept (be_visitor *visitor)
+{
+ return visitor->visit_publishes (this);
+}
+
+void
+be_publishes::destroy (void)
+{
+ this->AST_Publishes::destroy ();
+ this->be_decl::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(be_publishes)
diff --git a/modules/TAO/TAO_IDL/be/be_uses.cpp b/modules/TAO/TAO_IDL/be/be_uses.cpp
new file mode 100644
index 00000000000..6dd81cade00
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be/be_uses.cpp
@@ -0,0 +1,41 @@
+// $Id$
+
+#include "be_uses.h"
+#include "be_interface.h"
+#include "be_visitor.h"
+
+be_uses::be_uses (UTL_ScopedName *n,
+ be_interface *uses_type,
+ bool is_multiple)
+ : COMMON_Base (),
+ AST_Decl (AST_Decl::NT_uses,
+ n),
+ AST_Field (AST_Decl::NT_uses,
+ uses_type,
+ n),
+ AST_Uses (n,
+ uses_type,
+ is_multiple),
+ be_decl (AST_Decl::NT_uses,
+ n)
+{
+}
+
+be_uses::~be_uses (void)
+{
+}
+
+int
+be_uses::accept (be_visitor *visitor)
+{
+ return visitor->visit_uses (this);
+}
+
+void
+be_uses::destroy (void)
+{
+ this->AST_Uses::destroy ();
+ this->be_decl::destroy ();
+}
+
+IMPL_NARROW_FROM_DECL(be_uses)
diff --git a/modules/TAO/TAO_IDL/be/be_visitor.cpp b/modules/TAO/TAO_IDL/be/be_visitor.cpp
index a372c499f79..66382a62e3c 100644
--- a/modules/TAO/TAO_IDL/be/be_visitor.cpp
+++ b/modules/TAO/TAO_IDL/be/be_visitor.cpp
@@ -117,6 +117,36 @@ int be_visitor::visit_porttype (be_porttype *)
return 0;
}
+int
+be_visitor::visit_provides (be_provides *)
+{
+ return 0;
+}
+
+int
+be_visitor::visit_uses (be_uses *)
+{
+ return 0;
+}
+
+int
+be_visitor::visit_publishes (be_publishes *)
+{
+ return 0;
+}
+
+int
+be_visitor::visit_emits (be_emits *)
+{
+ return 0;
+}
+
+int
+be_visitor::visit_consumes (be_consumes *)
+{
+ return 0;
+}
+
int be_visitor::visit_home (be_home *)
{
return 0;
diff --git a/modules/TAO/TAO_IDL/be_include/be_consumes.h b/modules/TAO/TAO_IDL/be_include/be_consumes.h
new file mode 100644
index 00000000000..6ca19c19cff
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be_include/be_consumes.h
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef BE_CONSUMES_H
+#define BE_CONSUMES_H
+
+#include "ast_consumes.h"
+
+#include "be_decl.h"
+
+class be_eventtype;
+class be_visitor;
+
+class be_consumes : public virtual AST_Consumes,
+ public virtual be_decl
+{
+public:
+ be_consumes (UTL_ScopedName *n,
+ be_eventtype *consumes_type);
+
+ virtual ~be_consumes (void);
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(be_consumes);
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // BE_CONSUMES_H
+
diff --git a/modules/TAO/TAO_IDL/be_include/be_emits.h b/modules/TAO/TAO_IDL/be_include/be_emits.h
new file mode 100644
index 00000000000..9b9f6a3c154
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be_include/be_emits.h
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef BE_EMITS_H
+#define BE_EMITS_H
+
+#include "ast_emits.h"
+
+#include "be_decl.h"
+
+class be_eventtype;
+class be_visitor;
+
+class be_emits : public virtual AST_Emits,
+ public virtual be_decl
+{
+public:
+ be_emits (UTL_ScopedName *n,
+ be_eventtype *emits_type);
+
+ virtual ~be_emits (void);
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(be_emits);
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // BE_EMITS_H
+
diff --git a/modules/TAO/TAO_IDL/be_include/be_provides.h b/modules/TAO/TAO_IDL/be_include/be_provides.h
new file mode 100644
index 00000000000..743893935fc
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be_include/be_provides.h
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef BE_PROVIDES_H
+#define BE_PROVIDES_H
+
+#include "ast_provides.h"
+
+#include "be_decl.h"
+
+class be_interface;
+class be_visitor;
+
+class be_provides : public virtual AST_Provides,
+ public virtual be_decl
+{
+public:
+ be_provides (UTL_ScopedName *n,
+ be_interface *provides_type);
+
+ virtual ~be_provides (void);
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(be_provides);
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // BE_PROVIDES_H
+
diff --git a/modules/TAO/TAO_IDL/be_include/be_publishes.h b/modules/TAO/TAO_IDL/be_include/be_publishes.h
new file mode 100644
index 00000000000..90a6dde390f
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be_include/be_publishes.h
@@ -0,0 +1,34 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef BE_PUBLISHES_H
+#define BE_PUBLISHES_H
+
+#include "ast_publishes.h"
+
+#include "be_decl.h"
+
+class be_eventtype;
+class be_visitor;
+
+class be_publishes : public virtual AST_Publishes,
+ public virtual be_decl
+{
+public:
+ be_publishes (UTL_ScopedName *n,
+ be_eventtype *publishes_type);
+
+ virtual ~be_publishes (void);
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(be_publishes);
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // BE_PUBLISHES_H
+
diff --git a/modules/TAO/TAO_IDL/be_include/be_uses.h b/modules/TAO/TAO_IDL/be_include/be_uses.h
new file mode 100644
index 00000000000..9a53c32bffe
--- /dev/null
+++ b/modules/TAO/TAO_IDL/be_include/be_uses.h
@@ -0,0 +1,35 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef BE_USES_H
+#define BE_USES_H
+
+#include "ast_uses.h"
+
+#include "be_decl.h"
+
+class be_interface;
+class be_visitor;
+
+class be_uses : public virtual AST_Uses,
+ public virtual be_decl
+{
+public:
+ be_uses (UTL_ScopedName *n,
+ be_interface *uses_type,
+ bool is_multiple);
+
+ virtual ~be_uses (void);
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(be_uses);
+
+ // Visiting.
+ virtual int accept (be_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // BE_USES_H
+
diff --git a/modules/TAO/TAO_IDL/be_include/be_visitor.h b/modules/TAO/TAO_IDL/be_include/be_visitor.h
index 3cbd86de877..839f8853489 100644
--- a/modules/TAO/TAO_IDL/be_include/be_visitor.h
+++ b/modules/TAO/TAO_IDL/be_include/be_visitor.h
@@ -41,6 +41,11 @@ class be_eventtype_fwd;
class be_component;
class be_component_fwd;
class be_porttype;
+class be_provides;
+class be_uses;
+class be_publishes;
+class be_emits;
+class be_consumes;
class be_home;
class be_factory;
class be_structure;
@@ -84,125 +89,53 @@ public:
virtual ~be_visitor (void);
virtual int visit_decl (be_decl *d);
- // Visit a decl node.
-
virtual int visit_scope (be_scope *node);
- // Visit the scope.
-
virtual int visit_type (be_type *node);
- // Visit the type.
-
virtual int visit_predefined_type (be_predefined_type *node);
- // Visit the predefined type.
-
virtual int visit_module (be_module *node);
- // Visit module.
-
virtual int visit_interface (be_interface *node);
- // Visit interface.
-
virtual int visit_interface_fwd (be_interface_fwd *node);
- // Visit interface_fwd.
-
virtual int visit_template_interface (be_template_interface *node);
- // Visit template interface.
-
virtual int visit_valuebox (be_valuebox *node);
- // Visit valuebox.
-
virtual int visit_valuetype (be_valuetype *node);
- // Visit valuetype.
-
virtual int visit_valuetype_fwd (be_valuetype_fwd *node);
- // Visit valuetype_fwd.
-
virtual int visit_eventtype (be_eventtype *node);
- // Visit eventtype.
-
virtual int visit_eventtype_fwd (be_eventtype_fwd *node);
- // Visit eventtype_fwd.
-
virtual int visit_component (be_component *node);
- // Visit component.
-
virtual int visit_component_fwd (be_component_fwd *node);
- // Visit component_fwd.
-
virtual int visit_porttype (be_porttype *node);
- // Visit porttype.
-
+ virtual int visit_provides (be_provides *node);
+ virtual int visit_uses (be_uses *node);
+ virtual int visit_publishes (be_publishes *node);
+ virtual int visit_emits (be_emits *node);
+ virtual int visit_consumes (be_consumes *node);
virtual int visit_home (be_home *node);
- // Visit component home.
-
virtual int visit_factory (be_factory *node);
- // Visit a OBV factory construct.
-
virtual int visit_structure (be_structure *node);
- // Visit a structure.
-
virtual int visit_structure_fwd (be_structure_fwd *node);
- // Visit a structure.
-
virtual int visit_exception (be_exception *node);
- // Visit exception.
-
virtual int visit_expression (be_expression *node);
- // Visit expression.
-
virtual int visit_enum (be_enum *node);
- // Visit an enum.
-
virtual int visit_operation (be_operation *node);
- // Visit an operation.
-
virtual int visit_field (be_field *node);
- // Visit a field.
-
virtual int visit_argument (be_argument *node);
- // Visit argument.
-
virtual int visit_attribute (be_attribute *node);
- // Visit an attribute.
-
virtual int visit_union (be_union *node);
- // Visit union.
-
virtual int visit_union_fwd (be_union_fwd *node);
- // Visit union.
-
virtual int visit_union_branch (be_union_branch *node);
- // Visit union branch.
-
virtual int visit_union_label (be_union_label *node);
- // Visit union label.
-
virtual int visit_constant (be_constant *node);
- // Visit a constant.
-
virtual int visit_enum_val (be_enum_val *node);
- // Visit enum val.
-
virtual int visit_array (be_array *node);
- // Visit an array.
-
virtual int visit_sequence (be_sequence *node);
- // Visit a sequence.
-
virtual int visit_string (be_string *node);
- // Visit a string.
-
virtual int visit_typedef (be_typedef *node);
- // Visit a typedef.
-
virtual int visit_root (be_root *node);
- // Visit a root.
-
virtual int visit_native (be_native *node);
- // Visit a native.
protected:
+ // Not abstract but we want to force subclassing anyway.
be_visitor (void);
- // Constructor is protected.
};
#endif // TAO_BE_VISITOR_H
diff --git a/modules/TAO/TAO_IDL/include/ast_component.h b/modules/TAO/TAO_IDL/include/ast_component.h
index c77bdf6dd5c..42ee6c769ac 100644
--- a/modules/TAO/TAO_IDL/include/ast_component.h
+++ b/modules/TAO/TAO_IDL/include/ast_component.h
@@ -7,7 +7,8 @@
#include "ast_interface.h"
#include "ace/Unbounded_Queue.h"
-class TAO_IDL_FE_Export AST_Component : public virtual AST_Interface
+class TAO_IDL_FE_Export AST_Component
+ : public virtual AST_Interface
{
public:
AST_Component (void);
diff --git a/modules/TAO/TAO_IDL/include/ast_consumes.h b/modules/TAO/TAO_IDL/include/ast_consumes.h
new file mode 100644
index 00000000000..0e25f8321a3
--- /dev/null
+++ b/modules/TAO/TAO_IDL/include/ast_consumes.h
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef AST_CONSUMES_H
+#define AST_CONSUMES_H
+
+#include "ast_field.h"
+
+class AST_EventType;
+class AST_Visitor;
+
+class TAO_IDL_FE_Export AST_Consumes : public virtual AST_Field
+{
+public:
+ AST_Consumes (UTL_ScopedName *n,
+ AST_EventType *consumes_type);
+
+ virtual ~AST_Consumes (void);
+
+ // Data Accessor.
+ AST_EventType *consumes_type (void) const;
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(AST_Consumes);
+
+ // AST Dumping.
+ virtual void dump (ACE_OSTREAM_TYPE &o);
+
+ // Visiting.
+ virtual int ast_accept (ast_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // AST_CONSUMES_H
+
diff --git a/modules/TAO/TAO_IDL/include/ast_decl.h b/modules/TAO/TAO_IDL/include/ast_decl.h
index 5a1a50247ce..6321b31bd74 100644
--- a/modules/TAO/TAO_IDL/include/ast_decl.h
+++ b/modules/TAO/TAO_IDL/include/ast_decl.h
@@ -162,6 +162,11 @@ public:
, NT_type // Template interface parameter
, NT_fixed // Denotes (unsupported) fixed type
, NT_porttype // Denotes a port type
+ , NT_provides // Denotes a facet
+ , NT_uses // Denotes a receptacle
+ , NT_publishes // Denotes an event source
+ , NT_emits // Denotes a one-to-one event source
+ , NT_consumes // Denotes an event sink
};
// Operations.
diff --git a/modules/TAO/TAO_IDL/include/ast_emits.h b/modules/TAO/TAO_IDL/include/ast_emits.h
new file mode 100644
index 00000000000..f7e4d6a0b8a
--- /dev/null
+++ b/modules/TAO/TAO_IDL/include/ast_emits.h
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef AST_EMITS_H
+#define AST_EMITS_H
+
+#include "ast_field.h"
+
+class AST_EventType;
+class AST_Visitor;
+
+class TAO_IDL_FE_Export AST_Emits : public virtual AST_Field
+{
+public:
+ AST_Emits (UTL_ScopedName *n,
+ AST_EventType *emits_type);
+
+ virtual ~AST_Emits (void);
+
+ // Data Accessor.
+ AST_EventType *emits_type (void) const;
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(AST_Emits);
+
+ // AST Dumping.
+ virtual void dump (ACE_OSTREAM_TYPE &o);
+
+ // Visiting.
+ virtual int ast_accept (ast_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // AST_EMITS_H
+
diff --git a/modules/TAO/TAO_IDL/include/ast_field.h b/modules/TAO/TAO_IDL/include/ast_field.h
index 16898525203..e03487c0699 100644
--- a/modules/TAO/TAO_IDL/include/ast_field.h
+++ b/modules/TAO/TAO_IDL/include/ast_field.h
@@ -1,4 +1,4 @@
-// This may look like C, but it's really -*- C++ -*-
+// -*- C++ -*-
// $Id$
/*
@@ -136,10 +136,10 @@ public:
private:
// Data.
- AST_Type *pd_field_type;
+ AST_Type *ref_type_;
// Base type for field.
- Visibility pd_visibility;
+ Visibility visibility_;
// Used with valuetype and eventtype fields.
bool anonymous_type_;
diff --git a/modules/TAO/TAO_IDL/include/ast_provides.h b/modules/TAO/TAO_IDL/include/ast_provides.h
new file mode 100644
index 00000000000..b3be49e3b65
--- /dev/null
+++ b/modules/TAO/TAO_IDL/include/ast_provides.h
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef AST_PROVIDES_H
+#define AST_PROVIDES_H
+
+#include "ast_field.h"
+
+class AST_Interface;
+class AST_Visitor;
+
+class TAO_IDL_FE_Export AST_Provides : public virtual AST_Field
+{
+public:
+ AST_Provides (UTL_ScopedName *n,
+ AST_Interface *provides_type);
+
+ virtual ~AST_Provides (void);
+
+ // Data Accessor.
+ AST_Interface *provides_type (void) const;
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(AST_Provides);
+
+ // AST Dumping.
+ virtual void dump (ACE_OSTREAM_TYPE &o);
+
+ // Visiting.
+ virtual int ast_accept (ast_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // AST_PROVIDES_H
+
diff --git a/modules/TAO/TAO_IDL/include/ast_publishes.h b/modules/TAO/TAO_IDL/include/ast_publishes.h
new file mode 100644
index 00000000000..f10c99a235a
--- /dev/null
+++ b/modules/TAO/TAO_IDL/include/ast_publishes.h
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef AST_PUBLISHES_H
+#define AST_PUBLISHES_H
+
+#include "ast_field.h"
+
+class AST_EventType;
+class AST_Visitor;
+
+class TAO_IDL_FE_Export AST_Publishes : public virtual AST_Field
+{
+public:
+ AST_Publishes (UTL_ScopedName *n,
+ AST_EventType *publishes_type);
+
+ virtual ~AST_Publishes (void);
+
+ // Data Accessor.
+ AST_EventType *publishes_type (void) const;
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(AST_Publishes);
+
+ // AST Dumping.
+ virtual void dump (ACE_OSTREAM_TYPE &o);
+
+ // Visiting.
+ virtual int ast_accept (ast_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // AST_PUBLISHES_H
+
diff --git a/modules/TAO/TAO_IDL/include/ast_template_interface.h b/modules/TAO/TAO_IDL/include/ast_template_interface.h
index 1c3dfaf9122..524456115a9 100644
--- a/modules/TAO/TAO_IDL/include/ast_template_interface.h
+++ b/modules/TAO/TAO_IDL/include/ast_template_interface.h
@@ -1,4 +1,4 @@
-// This may look like C, but it's really -*- C++ -*-
+// -*- C++ -*-
// $Id$
#ifndef AST_TEMPLATE_INTERFACE_H
diff --git a/modules/TAO/TAO_IDL/include/ast_uses.h b/modules/TAO/TAO_IDL/include/ast_uses.h
new file mode 100644
index 00000000000..d483ae7504d
--- /dev/null
+++ b/modules/TAO/TAO_IDL/include/ast_uses.h
@@ -0,0 +1,37 @@
+// -*- C++ -*-
+// $Id$
+
+#ifndef AST_USES_H
+#define AST_USES_H
+
+#include "ast_field.h"
+
+class AST_Interface;
+class AST_Visitor;
+
+class TAO_IDL_FE_Export AST_Uses : public virtual AST_Field
+{
+public:
+ AST_Uses (UTL_ScopedName *n,
+ AST_Interface *uses_type);
+
+ virtual ~AST_Uses (void);
+
+ // Data Accessor.
+ AST_Interface *uses_type (void) const;
+
+ // Narrowing.
+ DEF_NARROW_FROM_DECL(AST_Uses);
+
+ // AST Dumping.
+ virtual void dump (ACE_OSTREAM_TYPE &o);
+
+ // Visiting.
+ virtual int ast_accept (ast_visitor *visitor);
+
+ // Cleanup.
+ virtual void destroy (void);
+};
+
+#endif // AST_USES_H
+
diff --git a/modules/TAO/TAO_IDL/include/ast_visitor.h b/modules/TAO/TAO_IDL/include/ast_visitor.h
index 6aa39eda38f..d10f2768f28 100644
--- a/modules/TAO/TAO_IDL/include/ast_visitor.h
+++ b/modules/TAO/TAO_IDL/include/ast_visitor.h
@@ -36,6 +36,11 @@ class AST_ValueTypeFwd;
class AST_Component;
class AST_ComponentFwd;
class AST_PortType;
+class AST_Provides;
+class AST_Uses;
+class AST_Publishes;
+class AST_Emits;
+class AST_Consumes;
class AST_EventType;
class AST_EventTypeFwd;
class AST_Home;
@@ -77,128 +82,56 @@ class TAO_IDL_FE_Export ast_visitor
// be the root of their own subtree of specialized visitor classes.
//
public:
- ast_visitor (void);
- // Constructor.
-
virtual ~ast_visitor (void);
- // Destructor.
virtual int visit_decl (AST_Decl *d) = 0;
- // Visit a decl node.
-
virtual int visit_scope (UTL_Scope *node) = 0;
- // Visit the scope
-
virtual int visit_type (AST_Type *node) = 0;
- // Visit the type.
-
virtual int visit_predefined_type (AST_PredefinedType *node) = 0;
- // Visit the predefined type.
-
virtual int visit_module (AST_Module *node) = 0;
- // Visit module.
-
virtual int visit_interface (AST_Interface *node) = 0;
- // Visit interface.
-
virtual int visit_interface_fwd (AST_InterfaceFwd *node) = 0;
- // Visit interface_fwd.
-
virtual int visit_template_interface (AST_Template_Interface *node) = 0;
- // Visit template interface.
-
virtual int visit_valuetype (AST_ValueType *node) = 0;
- // Visit valuetype.
-
virtual int visit_valuetype_fwd (AST_ValueTypeFwd *node) = 0;
- // Visit valuetype_fwd.
-
virtual int visit_component (AST_Component *node) = 0;
- // Visit component.
-
virtual int visit_home (AST_Home *node) = 0;
- // Visit home.
-
virtual int visit_component_fwd (AST_ComponentFwd *node) = 0;
- // Visit component_fwd.
-
virtual int visit_porttype (AST_PortType *node) = 0;
- // Visit porttype.
-
+ virtual int visit_provides (AST_Provides *node) = 0;
+ virtual int visit_uses (AST_Uses *node) = 0;
+ virtual int visit_publishes (AST_Publishes *node) = 0;
+ virtual int visit_emits (AST_Emits *node) = 0;
+ virtual int visit_consumes (AST_Consumes *node) = 0;
virtual int visit_eventtype (AST_EventType *node) = 0;
- // Visit eventtype.
-
virtual int visit_eventtype_fwd (AST_EventTypeFwd *node) = 0;
- // Visit eventtype_fwd.
-
virtual int visit_factory (AST_Factory *node) = 0;
- // Visit a OBV factory construct.
-
virtual int visit_structure (AST_Structure *node) = 0;
- // Visit a structure.
-
virtual int visit_structure_fwd (AST_StructureFwd *node) = 0;
- // Visit a structure.
-
virtual int visit_exception (AST_Exception *node) = 0;
- // Visit exception.
-
virtual int visit_expression (AST_Expression *node) = 0;
- // Visit expression.
-
virtual int visit_enum (AST_Enum *node) = 0;
- // Visit an enum.
-
virtual int visit_operation (AST_Operation *node) = 0;
- // Visit an operation.
-
virtual int visit_field (AST_Field *node) = 0;
- // Visit a field.
-
virtual int visit_argument (AST_Argument *node) = 0;
- // Visit argument.
-
virtual int visit_attribute (AST_Attribute *node) = 0;
- // Visit an attribute.
-
virtual int visit_union (AST_Union *node) = 0;
- // Visit union.
-
virtual int visit_union_fwd (AST_UnionFwd *node) = 0;
- // Visit union.
-
virtual int visit_union_branch (AST_UnionBranch *node) = 0;
- // Visit union branch.
-
virtual int visit_union_label (AST_UnionLabel *node) = 0;
- // Visit union label.
-
virtual int visit_constant (AST_Constant *node) = 0;
- // Visit a constant.
-
virtual int visit_enum_val (AST_EnumVal *node) = 0;
- // Visit enum val.
-
virtual int visit_array (AST_Array *node) = 0;
- // Visit an array.
-
virtual int visit_sequence (AST_Sequence *node) = 0;
- // Visit a sequence.
-
virtual int visit_string (AST_String *node) = 0;
- // Visit a string.
-
virtual int visit_typedef (AST_Typedef *node) = 0;
- // Visit a typedef.
-
virtual int visit_root (AST_Root *node) = 0;
- // Visit a root.
-
virtual int visit_native (AST_Native *node) = 0;
- // Visit a native.
-
virtual int visit_valuebox (AST_ValueBox *node) = 0;
- // Visit a valuebox.
+
+protected:
+ // For abstract class.
+ ast_visitor (void);
};
#endif /* TAO_IDL_FE_DLL_AST_VISITOR_H */
diff --git a/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp b/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp
index fa9004dfdc6..a07a8eacb73 100644
--- a/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp
+++ b/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.cpp
@@ -116,6 +116,36 @@ int ifr_visitor::visit_porttype (AST_PortType *)
return 0;
}
+int
+ifr_visitor::visit_provides (AST_Provides *)
+{
+ return 0;
+}
+
+int
+ifr_visitor::visit_uses (AST_Uses *)
+{
+ return 0;
+}
+
+int
+ifr_visitor::visit_publishes (AST_Publishes *)
+{
+ return 0;
+}
+
+int
+ifr_visitor::visit_emits (AST_Emits *)
+{
+ return 0;
+}
+
+int
+ifr_visitor::visit_consumes (AST_Consumes *)
+{
+ return 0;
+}
+
int
ifr_visitor::visit_eventtype (AST_EventType *)
{
diff --git a/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.h b/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.h
index 9473870c197..8dd43c0cf63 100644
--- a/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.h
+++ b/modules/TAO/orbsvcs/IFR_Service/ifr_visitor.h
@@ -40,131 +40,59 @@ class ifr_visitor : public ast_visitor
// derived visitors that override only a few.
//
public:
- ifr_visitor (void);
- // Constructor.
-
virtual ~ifr_visitor (void);
- // Destructor.
-
+
virtual int visit_decl (AST_Decl *d);
- // Visit a decl node.
-
virtual int visit_scope (UTL_Scope *node);
- // Visit the scope.
-
virtual int visit_type (AST_Type *node);
- // Visit the type.
-
virtual int visit_predefined_type (AST_PredefinedType *node);
- // Visit the predefined type.
-
virtual int visit_module (AST_Module *node);
- // Visit module.
-
virtual int visit_interface (AST_Interface *node);
- // Visit interface.
-
virtual int visit_interface_fwd (AST_InterfaceFwd *node);
- // Visit a forward interface declaration
-
virtual int visit_template_interface (AST_Template_Interface *node);
- // Visit template interface.
-
virtual int visit_valuebox (AST_ValueBox *node);
- // Visit valuebox.
-
virtual int visit_valuetype (AST_ValueType *node);
- // Visit valuetype.
-
virtual int visit_valuetype_fwd (AST_ValueTypeFwd *node);
- // Visit valuetype_fwd
-
virtual int visit_component (AST_Component *node);
- // Visit component.
-
virtual int visit_component_fwd (AST_ComponentFwd *node);
- // Visit component_fwd
-
virtual int visit_porttype (AST_PortType *node);
- // Visit porttype.
-
+ virtual int visit_provides (AST_Provides *node);
+ virtual int visit_uses (AST_Uses *node);
+ virtual int visit_publishes (AST_Publishes *node);
+ virtual int visit_emits (AST_Emits *node);
+ virtual int visit_consumes (AST_Consumes *node);
virtual int visit_eventtype (AST_EventType *node);
- // Visit valuetype.
-
virtual int visit_eventtype_fwd (AST_EventTypeFwd *node);
- // Visit valuetype_fwd
-
virtual int visit_home (AST_Home *node);
- // Visit component home.
-
virtual int visit_factory (AST_Factory *node);
- // Visit a factory construct.
-
virtual int visit_structure (AST_Structure *node);
- // Visit a structure.
-
virtual int visit_structure_fwd (AST_StructureFwd *node);
- // Visit a forward structure declaration.
-
virtual int visit_exception (AST_Exception *node);
- // Visit exception
-
virtual int visit_expression (AST_Expression *node);
- // Visit expression.
-
virtual int visit_enum (AST_Enum *node);
- // Visit an enum.
-
virtual int visit_operation (AST_Operation *node);
- // Visit an operation.
-
virtual int visit_field (AST_Field *node);
- // Visit a field.
-
virtual int visit_argument (AST_Argument *node);
- // Visit argument.
-
virtual int visit_attribute (AST_Attribute *node);
- // Visit an attribute.
-
virtual int visit_union (AST_Union *node);
- // Visit union.
-
virtual int visit_union_fwd (AST_UnionFwd *node);
- // Visit a forward union declaration.
-
virtual int visit_union_branch (AST_UnionBranch *node);
- // Visit union branch.
-
virtual int visit_union_label (AST_UnionLabel *node);
- // Visit union label.
-
virtual int visit_constant (AST_Constant *node);
- // Visit a constant.
-
virtual int visit_enum_val (AST_EnumVal *node);
- // Visit enum val.
-
virtual int visit_array (AST_Array *node);
- // Visit an array.
-
virtual int visit_sequence (AST_Sequence *node);
- // Visit a sequence.
-
virtual int visit_string (AST_String *node);
- // Visit a string.
-
virtual int visit_typedef (AST_Typedef *node);
- // Visit a typedef.
-
virtual int visit_root (AST_Root *node);
- // Visit the root.
-
virtual int visit_native (AST_Native *node);
- // Visit a native.
ACE_Lock &lock (void) const;
// Accessor for our lock.
+
+protected:
+ // Not abstract but we want to force subclassing anyway.
+ ifr_visitor (void);
private:
ACE_Lock *lock_;