diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-01-28 07:57:56 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2010-01-28 07:57:56 +0000 |
commit | 6760510bc53d7b9947fd75cad78a2798457035d9 (patch) | |
tree | f589e292ae52efb294d8bc7530cd1cb3c0ed8426 /TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp | |
parent | f9c1b9f189fdfec0ea53d6e41a2e57d04e2282d6 (diff) | |
download | ATCD-6760510bc53d7b9947fd75cad78a2798457035d9.tar.gz |
Thu Jan 28 07:54:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
Merged revision 88742-88757 from idl3_plus_backend2 to svn head. This
gives us templated modules for the small parts we need for dds4ccm
Wed Jan 27 22:19:17 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_decl.cpp:
* TAO_IDL/be/be_visitor_component/facet_exs.cpp:
* TAO_IDL/be/be_visitor_component/facet_exh.cpp:
* TAO_IDL/be_include/be_decl.h:
Added check to ensure that a facet interface gets generated
only once in the executor header and source files. This fix
closes [BUGID:3817]. Thanks to Abdul Sowayan <sowayan@gmail.com>
for reporting the bug.
* TAO_IDL/fe/y.tab.cpp:
* TAO_IDL/fe/idl.yy:
Cosmetic changes.
Wed Jan 27 20:08:48 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/include/ast_union.h:
* TAO_IDL/include/ast_visitor_tmpl_module_inst.h:
* TAO_IDL/include/utl_labellist.h:
* TAO_IDL/include/ast_union_branch.h:
* TAO_IDL/include/utl_scope.h:
* TAO_IDL/be/be_union_label.cpp:
* TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp:
* TAO_IDL/ast/ast_visitor_tmpl_module_inst.cpp:
* TAO_IDL/ast/ast_visitor_reifying.cpp:
* TAO_IDL/ast/ast_enum.cpp:
* TAO_IDL/ast/ast_union_branch.cpp:
* TAO_IDL/util/utl_labellist.cpp:
* TAO_IDL/util/utl_exceptlist.cpp:
* TAO_IDL/util/utl_idlist.cpp:
* TAO_IDL/util/utl_scope.cpp:
Added support for unions and enums in the scope of a
template module.
Diffstat (limited to 'TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp')
-rw-r--r-- | TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp b/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp index 5a34132e705..172f4d6fcc3 100644 --- a/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp +++ b/TAO/TAO_IDL/ast/ast_visitor_tmpl_module_ref.cpp @@ -20,7 +20,7 @@ ast_visitor_tmpl_module_ref::ast_visitor_tmpl_module_ref ( ast_visitor_context *ctx) - : ast_visitor_tmpl_module_inst (ctx) + : ast_visitor_tmpl_module_inst (ctx, true) { } @@ -38,7 +38,7 @@ ast_visitor_tmpl_module_ref::visit_template_module_ref ( // processes the implied IDL. It's a bit inefficient to have // the implied IDL in both the template module and its // instantiations, but otherwise the lookup issues are - // extremely complicated. This approach allows + // extremely complicated. This approach allows // lookup_by_name_local() to just skip over the alias and // match the module of the same name occurring later in the // template module scope. From that vantage point, the @@ -47,17 +47,15 @@ ast_visitor_tmpl_module_ref::visit_template_module_ref ( // module scope (see ast_visitor_reifying::check_and_store() // and ast_visitor_reifying::template_module_rel_name()). UTL_ScopedName sn (node->local_name (), 0); - + AST_Module *added_module = idl_global->gen ()->create_module (idl_global->scopes (). top (), &sn); - + idl_global->scopes ().top ()->add_to_scope (added_module); - -// AST_Decl *d = ScopeAsDecl (idl_global->scopes ().top ()); - + idl_global->scopes ().push (added_module); - + // Visit the scope of referenced template module. No need to // update the template parameter list since its param list has // to be a subset of the one we're in. @@ -69,9 +67,9 @@ ast_visitor_tmpl_module_ref::visit_template_module_ref ( ACE_TEXT ("visit_scope failed\n")), -1); } - + idl_global->scopes ().pop (); - + return 0; } |