diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-03 17:41:04 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-11-03 17:41:04 +0000 |
commit | 7499af4fb1f326983579905836f1b824f2ab4876 (patch) | |
tree | 0fbcfaaee94213bd5a33e6b8b9914a5d787dca52 | |
parent | 792f7773e5bfa8eefd6b1ae88ab9c41b5c657b0f (diff) | |
download | ATCD-7499af4fb1f326983579905836f1b824f2ab4876.tar.gz |
ChangeLogTag: Tue Nov 3 17:32:03 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 15 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/fe_init.cpp | 5 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/idl.yy | 21 | ||||
-rw-r--r-- | TAO/TAO_IDL/fe/y.tab.cpp | 19 |
4 files changed, 59 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 7f1b6869753..e307ef39c0c 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,18 @@ +Tue Nov 3 17:32:03 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/fe/fe_init.cpp: + + Added IDL3+ keywords to the list used to check for clashes + and leading underscore retention. + + * TAO_IDL/fe/y.tab.cpp: + * TAO_IDL/fe/idl.yy: + + Added creation of uses multiple-specific struct and sequence + nodes in the AST when the uses multiple port + appears in an extended port declaration, identically to what + is now added for a standalone uses multiple port. + Mon Nov 2 22:59:48 UTC 2009 Yan Dai <dai_y@ociweb.com> * orbsvcs/orbsvcs/Notify/MonitorControl/MonitorManager.h: diff --git a/TAO/TAO_IDL/fe/fe_init.cpp b/TAO/TAO_IDL/fe/fe_init.cpp index fd4ae113027..11d2e1c0a3f 100644 --- a/TAO/TAO_IDL/fe/fe_init.cpp +++ b/TAO/TAO_IDL/fe/fe_init.cpp @@ -523,12 +523,14 @@ fe_populate_idl_keywords (void) static const char *keywords[] = { "ABSTRACT", + "ALIAS", "ANY", "ATTRIBUTE", "BOOLEAN", "CASE", "CHAR", "COMPONENT", + "CONNECTOR", "CONST", "CONSUMES", "CONTEXT", @@ -552,6 +554,7 @@ fe_populate_idl_keywords (void) "INTERFACE", "LOCAL", "LONG", + "MIRRORPORT", "MODULE", "MULTIPLE", "NATIVE", @@ -559,6 +562,8 @@ fe_populate_idl_keywords (void) "OCTET", "ONEWAY", "OUT", + "PORT", + "PORTTYPE", "PRIMARYKEY", "PRIVATE", "PROVIDES", diff --git a/TAO/TAO_IDL/fe/idl.yy b/TAO/TAO_IDL/fe/idl.yy index 84b856e2709..c6f037d0bcc 100644 --- a/TAO/TAO_IDL/fe/idl.yy +++ b/TAO/TAO_IDL/fe/idl.yy @@ -6377,7 +6377,7 @@ extended_port_decl template_port_decl : IDL_PORT template_inst IDENTIFIER { -// extended_port_decl : IDL_PORT template_inst IDENTIFIER +// template_port_decl : IDL_PORT template_inst IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_ExtendedPortDeclSeen); UTL_Scope *s = idl_global->scopes ().top_non_null (); AST_Decl *d = s->lookup_by_name ($2->name_, true); @@ -6548,6 +6548,25 @@ non_template_port_decl 0); (void) s->fe_add_extended_port (ep); + + // Create (in the AST) the struct(s) and sequence(s) + // needed for multiplex uses ports, if any. + for (UTL_ScopeActiveIterator i (pt, UTL_Scope::IK_decls); + !i.is_done (); + i.next ()) + { + d = i.item (); + + AST_Uses *u = AST_Uses::narrow_from_decl (d); + + if (u != 0 && u->is_multiple ()) + { + AST_Component *c = + AST_Component::narrow_from_scope (s); + + idl_global->create_uses_multiple_stuff (c, u); + } + } } $2->destroy (); diff --git a/TAO/TAO_IDL/fe/y.tab.cpp b/TAO/TAO_IDL/fe/y.tab.cpp index bf84b3e81c6..b9517ccbc08 100644 --- a/TAO/TAO_IDL/fe/y.tab.cpp +++ b/TAO/TAO_IDL/fe/y.tab.cpp @@ -9453,6 +9453,25 @@ tao_yyreduce: 0); (void) s->fe_add_extended_port (ep); + + // Create (in the AST) the struct(s) and sequence(s) + // needed for multiplex uses ports, if any. + for (UTL_ScopeActiveIterator i (pt, UTL_Scope::IK_decls); + !i.is_done (); + i.next ()) + { + d = i.item (); + + AST_Uses *u = AST_Uses::narrow_from_decl (d); + + if (u != 0 && u->is_multiple ()) + { + AST_Component *c = + AST_Component::narrow_from_scope (s); + + idl_global->create_uses_multiple_stuff (c, u); + } + } } (tao_yyvsp[(2) - (3)].idlist)->destroy (); |