diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-17 19:50:45 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-17 19:50:45 +0000 |
commit | fccc8591307704713f7a2652db26c78f14d78e38 (patch) | |
tree | 25dfd53c395682aa01d8f833f80053f54729a4d1 | |
parent | a0c672bddc7d2fd36e9073537412fdac6da4fdf3 (diff) | |
download | ATCD-fccc8591307704713f7a2652db26c78f14d78e38.tar.gz |
ChangeLogTag: Fri Jul 17 19:49:03 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | modules/TAO/ChangeLog | 28 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/ast/ast_generator.cpp | 71 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/ast/ast_uses.cpp | 6 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_consumes.cpp | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_emits.cpp | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_generator.cpp | 71 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_provides.cpp | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_publishes.cpp | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be/be_uses.cpp | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_consumes.h | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_emits.h | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_generator.h | 24 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_provides.h | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_publishes.h | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/be_include/be_uses.h | 2 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/include/ast_generator.h | 26 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/include/ast_uses.h | 9 |
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 |