diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-31 23:08:21 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-08-31 23:08:21 +0000 |
commit | c785839266cb4ce81c7e5589b1fdaaa8d0b7d1ab (patch) | |
tree | 867f4ca3385f3cf17dc9c982e51c9a45e05ed5cc /TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp | |
parent | ddb9854c0169f565eccb22c5511962e5346d8d83 (diff) | |
download | ATCD-pluggable_poa.tar.gz |
ChangeLogTag:Thu Aug 31 16:00:38 2000 Carlos O'Ryan <coryan@uci.edu>pluggable_poa
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp b/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp index 42ea71e737f..f071ec9b803 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp @@ -121,8 +121,21 @@ int be_visitor_interface_direct_collocated_ss::visit_interface (be_interface *no << be_nl << "if (result != 0)" << be_nl << " return result;" << be_nl; - *os << "return this->" << node->name () - << "::_tao_QueryInterface (type);" << be_uidt_nl + *os << "return this->"; + if (!node->is_nested ()) + { + *os << node->name (); + } + else + { + be_decl* scope = + be_scope::narrow_from_scope (node->defined_in ())->decl (); + *os << "ACE_NESTED_CLASS (" + << scope->name () << "," + << node->local_name () + << ")"; + } + *os << "::_tao_QueryInterface (type);" << be_uidt_nl << "}\n" << be_nl; // Generate _get_servant implementation. |