summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-07 21:39:28 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-07-07 21:39:28 +0000
commit8705f1c792bce498f1c5c4c83f4003c0761c0bdb (patch)
tree1acb95eb29beecaabc1a0caf924fff78aefa12b1
parent7e5de3a28f193cc18c8dabc81b3db00052027072 (diff)
downloadATCD-8705f1c792bce498f1c5c4c83f4003c0761c0bdb.tar.gz
ChangeLogTag: Tue Jul 7 21:38:11 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--modules/TAO/ChangeLog13
-rw-r--r--modules/TAO/TAO_IDL/fe/idl.yy23
-rw-r--r--modules/TAO/TAO_IDL/fe/y.tab.cpp42
3 files changed, 50 insertions, 28 deletions
diff --git a/modules/TAO/ChangeLog b/modules/TAO/ChangeLog
index d95a687aca0..8d525fdcfe7 100644
--- a/modules/TAO/ChangeLog
+++ b/modules/TAO/ChangeLog
@@ -1,3 +1,10 @@
+Tue Jul 7 21:38:11 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/fe/idl.yy:
+ * TAO_IDL/fe/y.tab.cpp:
+
+ Added semantic action that creates a template interface in the AST.
+
Tue Jul 7 21:12:52 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/include/ast_generator.h:
@@ -14,10 +21,10 @@ Tue Jul 7 21:12:52 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/fe/fe_template_interface_header.cpp:
* TAO_IDL/fe/y.tab.cpp:
* TAO_IDL/fe/fe_interface_header.cpp:
-
+
- Changed FE_Template_InterfaceHeader to inherit from
FE_InterfaceHeader and reuse much of its code.
-
+
- Added factory methods for creating template interfaces
in the AST.
@@ -28,7 +35,7 @@ Tue Jul 7 18:56:01 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
New files, defining datatypes used to hold information about a
template interface's template parameters and inheritance.
-
+
* TAO_IDL/ast/ast_template_interface.cpp:
* TAO_IDL/be/be_template_interface.cpp:
* TAO_IDL/be_include/be_template_interface.h:
diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy
index 9f2ae6742a2..533110f798b 100644
--- a/modules/TAO/TAO_IDL/fe/idl.yy
+++ b/modules/TAO/TAO_IDL/fe/idl.yy
@@ -5881,6 +5881,24 @@ template_interface_def
: template_interface_header
{
// template_interface_def : template_interface_header
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+
+ AST_Template_Interface *i =
+ idl_global->gen ()->create_template_interface (
+ $1->name (),
+ $1->inherits (),
+ $1->n_inherits (),
+ $1->inherits_flat (),
+ $1->n_inherits_flat (),
+ $1->param_info ());
+
+ (void) s->fe_add_interface (i);
+
+ $1->destroy ();
+ delete $1;
+ $1 = 0;
+
+ idl_global->scopes ().push (i);
}
'{'
{
@@ -5900,10 +5918,7 @@ template_interface_def
/*
* Done with this interface - pop it off the scopes stack
*/
- // idl_global->scopes ().pop ();
- $1->destroy ();
- delete $1;
- $1 = 0;
+ idl_global->scopes ().pop ();
}
;
diff --git a/modules/TAO/TAO_IDL/fe/y.tab.cpp b/modules/TAO/TAO_IDL/fe/y.tab.cpp
index b46e39e4a43..287cf7e6e0c 100644
--- a/modules/TAO/TAO_IDL/fe/y.tab.cpp
+++ b/modules/TAO/TAO_IDL/fe/y.tab.cpp
@@ -895,9 +895,9 @@ static const tao_yytype_uint16 tao_yyrline[] =
5390, 5426, 5388, 5460, 5496, 5458, 5528, 5529, 5530, 5534,
5535, 5539, 5567, 5598, 5643, 5648, 5596, 5665, 5675, 5694,
5706, 5705, 5745, 5795, 5800, 5743, 5817, 5822, 5830, 5835,
- 5840, 5845, 5850, 5863, 5868, 5873, 5882, 5886, 5891, 5881,
- 5911, 5928, 5948, 5947, 5969, 5976, 5990, 5996, 6003, 6022,
- 6039, 6046, 6056, 6067, 6091, 6098
+ 5840, 5845, 5850, 5863, 5868, 5873, 5882, 5904, 5909, 5881,
+ 5926, 5943, 5963, 5962, 5984, 5991, 6005, 6011, 6018, 6037,
+ 6054, 6061, 6071, 6082, 6106, 6113
};
#endif
@@ -8600,24 +8600,24 @@ tao_yyreduce:
{
// template_interface_def : template_interface_header
- UTL_Scope *s = idl_global->scopes ().top_non_null ();
-
- AST_Template_Interface *i =
- idl_global->gen ()->create_template_interface (
- (tao_yyvsp[(1) - (2)].thval)->name (),
- (tao_yyvsp[(1) - (2)].thval)->inherits (),
- (tao_yyvsp[(1) - (2)].thval)->n_inherits (),
- (tao_yyvsp[(1) - (2)].thval)->inherits_flat (),
- (tao_yyvsp[(1) - (2)].thval)->n_inherits_flat (),
- (tao_yyvsp[(1) - (2)].thval)->param_info ());
-
- (void) s->fe_add_interface (i);
-
- (tao_yyvsp[(1) - (2)].thval)->destroy ();
- delete (tao_yyvsp[(1) - (2)].thval);
- (tao_yyvsp[(1) - (2)].thval) = 0;
-
- idl_global->scopes ().push (i);
+ UTL_Scope *s = idl_global->scopes ().top_non_null ();
+
+ AST_Template_Interface *i =
+ idl_global->gen ()->create_template_interface (
+ (tao_yyvsp[(1) - (1)].thval)->name (),
+ (tao_yyvsp[(1) - (1)].thval)->inherits (),
+ (tao_yyvsp[(1) - (1)].thval)->n_inherits (),
+ (tao_yyvsp[(1) - (1)].thval)->inherits_flat (),
+ (tao_yyvsp[(1) - (1)].thval)->n_inherits_flat (),
+ (tao_yyvsp[(1) - (1)].thval)->param_info ());
+
+ (void) s->fe_add_interface (i);
+
+ (tao_yyvsp[(1) - (1)].thval)->destroy ();
+ delete (tao_yyvsp[(1) - (1)].thval);
+ (tao_yyvsp[(1) - (1)].thval) = 0;
+
+ idl_global->scopes ().push (i);
}
break;