diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-12-14 19:23:37 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-12-14 19:23:37 +0000 |
commit | 6621016eaaa29135f5120829172023b76b4af779 (patch) | |
tree | 00c93ceedb08526c983b6a8b03b953cec0dbcc6f | |
parent | 5748f8f05b1ea9c077df9f0f3201fa7d9ec614e0 (diff) | |
download | ATCD-6621016eaaa29135f5120829172023b76b4af779.tar.gz |
ChangeLogTag: Mon Dec 14 19:21:39 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | modules/TAO/ChangeLog | 9 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/idl.yy | 16 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/y.tab.cpp | 16 |
3 files changed, 37 insertions, 4 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog index 82e0cf26f18..0bd03f1ef85 100644 --- a/modules/TAO/ChangeLog +++ b/modules/TAO/ChangeLog @@ -1,3 +1,12 @@ +Mon Dec 14 19:21:39 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> + + * TAO_IDL/fe/idl.yy: + * TAO_IDL/fe/y.tab.cpp: + + Restored semantic action to create a non-template porttype, + removed at the beginning of revised IDL3+ template support + work. + Mon Dec 14 18:16:17 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/ast/ast_expression.cpp: diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy index 606d9756785..85fe1770b96 100644 --- a/modules/TAO/TAO_IDL/fe/idl.yy +++ b/modules/TAO/TAO_IDL/fe/idl.yy @@ -108,7 +108,6 @@ trademarks or registered trademarks of Sun Microsystems, Inc. #include "fe_declarator.h" #include "fe_interface_header.h" -#include "fe_template_interface_header.h" #include "fe_obv_header.h" #include "fe_event_header.h" #include "fe_component_header.h" @@ -156,7 +155,6 @@ AST_Expression::ExprType t_param_const_type = AST_Expression::EV_none; UTL_LabelList *llval; /* Label list */ UTL_DeclList *dlval; /* Declaration list */ FE_InterfaceHeader *ihval; /* Interface header */ - FE_Template_InterfaceHeader *thval; /* Template interface hdr */ FE_OBVHeader *vhval; /* Valuetype header */ FE_EventHeader *ehval; /* Event header */ FE_ComponentHeader *chval; /* Component header */ @@ -6346,6 +6344,20 @@ porttype_decl { // IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + Identifier id ($3); + ACE::strdelete ($3); + $3 = 0; + + UTL_ScopedName sn (&id, 0); + AST_PortType *p = + idl_global->gen ()->create_porttype (&sn); + + (void) s->fe_add_porttype (p); + + // Push it on the scopes stack. + idl_global->scopes ().push (p); } '{' { diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp index 1093d5973d2..5cb6f63833c 100644 --- a/modules/TAO/TAO_IDL/fe/y.tab.cpp +++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp @@ -278,7 +278,6 @@ #include "fe_declarator.h" #include "fe_interface_header.h" -#include "fe_template_interface_header.h" #include "fe_obv_header.h" #include "fe_event_header.h" #include "fe_component_header.h" @@ -343,7 +342,6 @@ typedef union TAO_YYSTYPE UTL_LabelList *llval; /* Label list */ UTL_DeclList *dlval; /* Declaration list */ FE_InterfaceHeader *ihval; /* Interface header */ - FE_Template_InterfaceHeader *thval; /* Template interface hdr */ FE_OBVHeader *vhval; /* Valuetype header */ FE_EventHeader *ehval; /* Event header */ FE_ComponentHeader *chval; /* Component header */ @@ -9239,6 +9237,20 @@ tao_yyreduce: { // IDENTIFIER idl_global->set_parse_state (IDL_GlobalData::PS_PorttypeIDSeen); + UTL_Scope *s = idl_global->scopes ().top_non_null (); + + Identifier id ((tao_yyvsp[(3) - (3)].strval)); + ACE::strdelete ((tao_yyvsp[(3) - (3)].strval)); + (tao_yyvsp[(3) - (3)].strval) = 0; + + UTL_ScopedName sn (&id, 0); + AST_PortType *p = + idl_global->gen ()->create_porttype (&sn); + + (void) s->fe_add_porttype (p); + + // Push it on the scopes stack. + idl_global->scopes ().push (p); } break; |