From 6621016eaaa29135f5120829172023b76b4af779 Mon Sep 17 00:00:00 2001 From: parsons Date: Mon, 14 Dec 2009 19:23:37 +0000 Subject: ChangeLogTag: Mon Dec 14 19:21:39 UTC 2009 Jeff Parsons --- modules/TAO/ChangeLog | 9 +++++++++ modules/TAO/TAO_IDL/fe/idl.yy | 16 ++++++++++++++-- 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 + + * 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 * 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; -- cgit v1.2.1