summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-17 19:50:45 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-17 19:50:45 +0000
commitfccc8591307704713f7a2652db26c78f14d78e38 (patch)
tree25dfd53c395682aa01d8f833f80053f54729a4d1
parenta0c672bddc7d2fd36e9073537412fdac6da4fdf3 (diff)
downloadATCD-fccc8591307704713f7a2652db26c78f14d78e38.tar.gz
ChangeLogTag: Fri Jul 17 19:49:03 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog28
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_generator.cpp71
-rw-r--r--modules/TAO/TAO_IDL/ast/ast_uses.cpp6
-rw-r--r--modules/TAO/TAO_IDL/be/be_consumes.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be/be_emits.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be/be_generator.cpp71
-rw-r--r--modules/TAO/TAO_IDL/be/be_provides.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be/be_publishes.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be/be_uses.cpp2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_consumes.h2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_emits.h2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_generator.h24
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_provides.h2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_publishes.h2
-rw-r--r--modules/TAO/TAO_IDL/be_include/be_uses.h2
-rw-r--r--modules/TAO/TAO_IDL/include/ast_generator.h26
-rw-r--r--modules/TAO/TAO_IDL/include/ast_uses.h9
17 files changed, 240 insertions, 15 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index 4d14b659983..2fde357d953 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,3 +1,27 @@
+Fri Jul 17 19:49:03 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/ast/ast_generator.cpp:
+ * TAO_IDL/ast/ast_uses.cpp:
+ * TAO_IDL/be/be_consumes.cpp:
+ * TAO_IDL/be/be_emits.cpp:
+ * TAO_IDL/be/be_generator.cpp:
+ * TAO_IDL/be/be_provides.cpp:
+ * TAO_IDL/be/be_publishes.cpp:
+ * TAO_IDL/be/be_uses.cpp:
+ * TAO_IDL/be_include/be_consumes.h:
+ * TAO_IDL/be_include/be_emits.h:
+ * TAO_IDL/be_include/be_generator.h:
+ * TAO_IDL/be_include/be_provides.h:
+ * TAO_IDL/be_include/be_publishes.h:
+ * TAO_IDL/be_include/be_uses.h:
+ * TAO_IDL/include/ast_generator.h:
+ * TAO_IDL/include/ast_uses.h:
+
+ - Changed BE provides, uses, publishes, emits and
+ consumes node constructor signatures.
+
+ - Added FE and BE factory functions for new port nodes.
+
Fri Jul 17 19:03:02 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/include/ast_provides.h:
@@ -39,10 +63,10 @@ Fri Jul 17 19:03:02 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
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.
diff --git a/modules/TAO/TAO_IDL/ast/ast_generator.cpp b/modules/TAO/TAO_IDL/ast/ast_generator.cpp
index 22012b39c04..27d1f21848c 100644
--- a/modules/TAO/TAO_IDL/ast/ast_generator.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_generator.cpp
@@ -81,6 +81,11 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "ast_home.h"
#include "ast_template_interface.h"
#include "ast_porttype.h"
+#include "ast_provides.h"
+#include "ast_uses.h"
+#include "ast_publishes.h"
+#include "ast_emits.h"
+#include "ast_consumes.h"
#include "ast_exception.h"
#include "ast_enum.h"
#include "ast_attribute.h"
@@ -958,3 +963,69 @@ AST_Generator::create_porttype (
return retval;
}
+
+AST_Provides *
+AST_Generator::create_provides (UTL_ScopedName *n,
+ AST_Interface *provides_type)
+{
+ AST_Provides *retval = 0;
+ ACE_NEW_RETURN (retval,
+ AST_Provides (n,
+ provides_type),
+ 0);
+
+ return retval;
+}
+
+AST_Uses *
+AST_Generator::create_uses (UTL_ScopedName *n,
+ AST_Interface *uses_type,
+ bool is_multiple)
+{
+ AST_Uses *retval = 0;
+ ACE_NEW_RETURN (retval,
+ AST_Uses (n,
+ uses_type,
+ is_multiple),
+ 0);
+
+ return retval;
+}
+
+AST_Publishes *
+AST_Generator::create_publishes (UTL_ScopedName *n,
+ AST_EventType *publishes_type)
+{
+ AST_Publishes *retval = 0;
+ ACE_NEW_RETURN (retval,
+ AST_Publishes (n,
+ publishes_type),
+ 0);
+
+ return retval;
+}
+
+AST_Emits *
+AST_Generator::create_emits (UTL_ScopedName *n,
+ AST_EventType *emits_type)
+{
+ AST_Emits *retval = 0;
+ ACE_NEW_RETURN (retval,
+ AST_Emits (n,
+ emits_type),
+ 0);
+
+ return retval;
+}
+AST_Consumes *
+AST_Generator::create_consumes (UTL_ScopedName *n,
+ AST_EventType *consumes_type)
+{
+ AST_Consumes *retval = 0;
+ ACE_NEW_RETURN (retval,
+ AST_Consumes (n,
+ consumes_type),
+ 0);
+
+ return retval;
+}
diff --git a/modules/TAO/TAO_IDL/ast/ast_uses.cpp b/modules/TAO/TAO_IDL/ast/ast_uses.cpp
index bce4af2ab81..062d2f9f28a 100644
--- a/modules/TAO/TAO_IDL/ast/ast_uses.cpp
+++ b/modules/TAO/TAO_IDL/ast/ast_uses.cpp
@@ -27,6 +27,12 @@ AST_Uses::uses_type (void) const
return AST_Interface::narrow_from_decl (this->field_type ());
}
+bool
+AST_Uses::is_multiple (void) const
+{
+ return this->is_multiple_;
+}
+
void
AST_Uses::dump (ACE_OSTREAM_TYPE &o)
{
diff --git a/modules/TAO/TAO_IDL/be/be_consumes.cpp b/modules/TAO/TAO_IDL/be/be_consumes.cpp
index 4417ab37d4d..e10352fca81 100644
--- a/modules/TAO/TAO_IDL/be/be_consumes.cpp
+++ b/modules/TAO/TAO_IDL/be/be_consumes.cpp
@@ -5,7 +5,7 @@
#include "be_visitor.h"
be_consumes::be_consumes (UTL_ScopedName *n,
- be_eventtype *consumes_type)
+ AST_EventType *consumes_type)
: COMMON_Base (),
AST_Decl (AST_Decl::NT_consumes,
n),
diff --git a/modules/TAO/TAO_IDL/be/be_emits.cpp b/modules/TAO/TAO_IDL/be/be_emits.cpp
index 5271e8b9257..2240448e20a 100644
--- a/modules/TAO/TAO_IDL/be/be_emits.cpp
+++ b/modules/TAO/TAO_IDL/be/be_emits.cpp
@@ -5,7 +5,7 @@
#include "be_visitor.h"
be_emits::be_emits (UTL_ScopedName *n,
- be_eventtype *emits_type)
+ AST_EventType *emits_type)
: COMMON_Base (),
AST_Decl (AST_Decl::NT_emits,
n),
diff --git a/modules/TAO/TAO_IDL/be/be_generator.cpp b/modules/TAO/TAO_IDL/be/be_generator.cpp
index 235a0177abf..29baf4ab0c7 100644
--- a/modules/TAO/TAO_IDL/be/be_generator.cpp
+++ b/modules/TAO/TAO_IDL/be/be_generator.cpp
@@ -83,6 +83,11 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "be_home.h"
#include "be_template_interface.h"
#include "be_porttype.h"
+#include "be_provides.h"
+#include "be_uses.h"
+#include "be_publishes.h"
+#include "be_emits.h"
+#include "be_consumes.h"
#include "be_union.h"
#include "be_union_fwd.h"
#include "be_structure.h"
@@ -949,3 +954,69 @@ be_generator::create_porttype (
return retval;
}
+
+AST_Provides *
+be_generator::create_provides (UTL_ScopedName *n,
+ AST_Interface *provides_type)
+{
+ be_provides *retval = 0;
+ ACE_NEW_RETURN (retval,
+ be_provides (n,
+ provides_type),
+ 0);
+
+ return retval;
+}
+
+AST_Uses *
+be_generator::create_uses (UTL_ScopedName *n,
+ AST_Interface *uses_type,
+ bool is_multiple)
+{
+ be_uses *retval = 0;
+ ACE_NEW_RETURN (retval,
+ be_uses (n,
+ uses_type,
+ is_multiple),
+ 0);
+
+ return retval;
+}
+
+AST_Publishes *
+be_generator::create_publishes (UTL_ScopedName *n,
+ AST_EventType *publishes_type)
+{
+ be_publishes *retval = 0;
+ ACE_NEW_RETURN (retval,
+ be_publishes (n,
+ publishes_type),
+ 0);
+
+ return retval;
+}
+
+AST_Emits *
+be_generator::create_emits (UTL_ScopedName *n,
+ AST_EventType *emits_type)
+{
+ be_emits *retval = 0;
+ ACE_NEW_RETURN (retval,
+ be_emits (n,
+ emits_type),
+ 0);
+
+ return retval;
+}
+AST_Consumes *
+be_generator::create_consumes (UTL_ScopedName *n,
+ AST_EventType *consumes_type)
+{
+ be_consumes *retval = 0;
+ ACE_NEW_RETURN (retval,
+ be_consumes (n,
+ consumes_type),
+ 0);
+
+ return retval;
+}
diff --git a/modules/TAO/TAO_IDL/be/be_provides.cpp b/modules/TAO/TAO_IDL/be/be_provides.cpp
index 8219ef022ce..347e19e85ad 100644
--- a/modules/TAO/TAO_IDL/be/be_provides.cpp
+++ b/modules/TAO/TAO_IDL/be/be_provides.cpp
@@ -5,7 +5,7 @@
#include "be_visitor.h"
be_provides::be_provides (UTL_ScopedName *n,
- be_interface *provides_type)
+ AST_Interface *provides_type)
: COMMON_Base (),
AST_Decl (AST_Decl::NT_provides,
n),
diff --git a/modules/TAO/TAO_IDL/be/be_publishes.cpp b/modules/TAO/TAO_IDL/be/be_publishes.cpp
index e4cadb283e9..bd0c4a2c26c 100644
--- a/modules/TAO/TAO_IDL/be/be_publishes.cpp
+++ b/modules/TAO/TAO_IDL/be/be_publishes.cpp
@@ -5,7 +5,7 @@
#include "be_visitor.h"
be_publishes::be_publishes (UTL_ScopedName *n,
- be_eventtype *publishes_type)
+ AST_EventType *publishes_type)
: COMMON_Base (),
AST_Decl (AST_Decl::NT_publishes,
n),
diff --git a/modules/TAO/TAO_IDL/be/be_uses.cpp b/modules/TAO/TAO_IDL/be/be_uses.cpp
index 6dd81cade00..7d48c37a677 100644
--- a/modules/TAO/TAO_IDL/be/be_uses.cpp
+++ b/modules/TAO/TAO_IDL/be/be_uses.cpp
@@ -5,7 +5,7 @@
#include "be_visitor.h"
be_uses::be_uses (UTL_ScopedName *n,
- be_interface *uses_type,
+ AST_Interface *uses_type,
bool is_multiple)
: COMMON_Base (),
AST_Decl (AST_Decl::NT_uses,
diff --git a/modules/TAO/TAO_IDL/be_include/be_consumes.h b/modules/TAO/TAO_IDL/be_include/be_consumes.h
index 6ca19c19cff..8d432f936fb 100644
--- a/modules/TAO/TAO_IDL/be_include/be_consumes.h
+++ b/modules/TAO/TAO_IDL/be_include/be_consumes.h
@@ -16,7 +16,7 @@ class be_consumes : public virtual AST_Consumes,
{
public:
be_consumes (UTL_ScopedName *n,
- be_eventtype *consumes_type);
+ AST_EventType *consumes_type);
virtual ~be_consumes (void);
diff --git a/modules/TAO/TAO_IDL/be_include/be_emits.h b/modules/TAO/TAO_IDL/be_include/be_emits.h
index 9b9f6a3c154..0ef65ed2256 100644
--- a/modules/TAO/TAO_IDL/be_include/be_emits.h
+++ b/modules/TAO/TAO_IDL/be_include/be_emits.h
@@ -16,7 +16,7 @@ class be_emits : public virtual AST_Emits,
{
public:
be_emits (UTL_ScopedName *n,
- be_eventtype *emits_type);
+ AST_EventType *emits_type);
virtual ~be_emits (void);
diff --git a/modules/TAO/TAO_IDL/be_include/be_generator.h b/modules/TAO/TAO_IDL/be_include/be_generator.h
index c2b9bd40585..c24dd330544 100644
--- a/modules/TAO/TAO_IDL/be_include/be_generator.h
+++ b/modules/TAO/TAO_IDL/be_include/be_generator.h
@@ -176,7 +176,8 @@ public:
bool is_local,
bool is_abstract);
- virtual AST_Field *create_field (AST_Type *ft, UTL_ScopedName *n,
+ virtual AST_Field *create_field (AST_Type *ft,
+ UTL_ScopedName *n,
AST_Field::Visibility vis =
AST_Field::vis_NA);
@@ -277,6 +278,27 @@ public:
AST_PortType *create_porttype (
UTL_ScopedName *n,
const FE_Utils::T_PARAMLIST_INFO *template_params);
+
+ virtual
+ AST_Provides *create_provides (UTL_ScopedName *n,
+ AST_Interface *provides_type);
+
+ virtual
+ AST_Uses *create_uses (UTL_ScopedName *n,
+ AST_Interface *uses_type,
+ bool is_multiple);
+
+ virtual
+ AST_Publishes *create_publishes (UTL_ScopedName *n,
+ AST_EventType *publishes_type);
+
+ virtual
+ AST_Emits *create_emits (UTL_ScopedName *n,
+ AST_EventType *emits_type);
+
+ virtual
+ AST_Consumes *create_consumes (UTL_ScopedName *n,
+ AST_EventType *consumes_type);
};
#endif // _BE_GENERATOR_BE_GENERATOR_HH
diff --git a/modules/TAO/TAO_IDL/be_include/be_provides.h b/modules/TAO/TAO_IDL/be_include/be_provides.h
index 743893935fc..9ce17948e88 100644
--- a/modules/TAO/TAO_IDL/be_include/be_provides.h
+++ b/modules/TAO/TAO_IDL/be_include/be_provides.h
@@ -16,7 +16,7 @@ class be_provides : public virtual AST_Provides,
{
public:
be_provides (UTL_ScopedName *n,
- be_interface *provides_type);
+ AST_Interface *provides_type);
virtual ~be_provides (void);
diff --git a/modules/TAO/TAO_IDL/be_include/be_publishes.h b/modules/TAO/TAO_IDL/be_include/be_publishes.h
index 90a6dde390f..119ade08c38 100644
--- a/modules/TAO/TAO_IDL/be_include/be_publishes.h
+++ b/modules/TAO/TAO_IDL/be_include/be_publishes.h
@@ -16,7 +16,7 @@ class be_publishes : public virtual AST_Publishes,
{
public:
be_publishes (UTL_ScopedName *n,
- be_eventtype *publishes_type);
+ AST_EventType *publishes_type);
virtual ~be_publishes (void);
diff --git a/modules/TAO/TAO_IDL/be_include/be_uses.h b/modules/TAO/TAO_IDL/be_include/be_uses.h
index 9a53c32bffe..6a1f7d11212 100644
--- a/modules/TAO/TAO_IDL/be_include/be_uses.h
+++ b/modules/TAO/TAO_IDL/be_include/be_uses.h
@@ -16,7 +16,7 @@ class be_uses : public virtual AST_Uses,
{
public:
be_uses (UTL_ScopedName *n,
- be_interface *uses_type,
+ AST_Interface *uses_type,
bool is_multiple);
virtual ~be_uses (void);
diff --git a/modules/TAO/TAO_IDL/include/ast_generator.h b/modules/TAO/TAO_IDL/include/ast_generator.h
index f68140c4708..3c907862bac 100644
--- a/modules/TAO/TAO_IDL/include/ast_generator.h
+++ b/modules/TAO/TAO_IDL/include/ast_generator.h
@@ -81,6 +81,11 @@ class AST_EventType;
class AST_EventTypeFwd;
class AST_Template_Interface;
class AST_PortType;
+class AST_Provides;
+class AST_Uses;
+class AST_Publishes;
+class AST_Emits;
+class AST_Consumes;
// Defines base class for node generators.
@@ -355,6 +360,27 @@ public:
AST_PortType *create_porttype (
UTL_ScopedName *n,
const FE_Utils::T_PARAMLIST_INFO *template_params);
+
+ virtual
+ AST_Provides *create_provides (UTL_ScopedName *n,
+ AST_Interface *provides_type);
+
+ virtual
+ AST_Uses *create_uses (UTL_ScopedName *n,
+ AST_Interface *uses_type,
+ bool is_multiple);
+
+ virtual
+ AST_Publishes *create_publishes (UTL_ScopedName *n,
+ AST_EventType *publishes_type);
+
+ virtual
+ AST_Emits *create_emits (UTL_ScopedName *n,
+ AST_EventType *emits_type);
+
+ virtual
+ AST_Consumes *create_consumes (UTL_ScopedName *n,
+ AST_EventType *consumes_type);
};
#endif // _AST_GENERATOR_AST_GENERATOR_HH
diff --git a/modules/TAO/TAO_IDL/include/ast_uses.h b/modules/TAO/TAO_IDL/include/ast_uses.h
index d483ae7504d..9abc0a590cd 100644
--- a/modules/TAO/TAO_IDL/include/ast_uses.h
+++ b/modules/TAO/TAO_IDL/include/ast_uses.h
@@ -13,12 +13,14 @@ class TAO_IDL_FE_Export AST_Uses : public virtual AST_Field
{
public:
AST_Uses (UTL_ScopedName *n,
- AST_Interface *uses_type);
+ AST_Interface *uses_type,
+ bool is_multiple);
virtual ~AST_Uses (void);
- // Data Accessor.
+ // Data Accessors.
AST_Interface *uses_type (void) const;
+ bool is_multiple (void) const;
// Narrowing.
DEF_NARROW_FROM_DECL(AST_Uses);
@@ -31,6 +33,9 @@ public:
// Cleanup.
virtual void destroy (void);
+
+private:
+ bool is_multiple_;
};
#endif // AST_USES_H