diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-07 21:39:28 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-07 21:39:28 +0000 |
commit | 8705f1c792bce498f1c5c4c83f4003c0761c0bdb (patch) | |
tree | 1acb95eb29beecaabc1a0caf924fff78aefa12b1 | |
parent | 7e5de3a28f193cc18c8dabc81b3db00052027072 (diff) | |
download | ATCD-8705f1c792bce498f1c5c4c83f4003c0761c0bdb.tar.gz |
ChangeLogTag: Tue Jul 7 21:38:11 UTC 2009 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r-- | modules/TAO/ChangeLog | 13 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/idl.yy | 23 | ||||
-rw-r--r-- | modules/TAO/TAO_IDL/fe/y.tab.cpp | 42 |
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; |