diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp b/TAO/TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp index 23a69059f84..bdf756c7cea 100644 --- a/TAO/TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp +++ b/TAO/TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp @@ -312,8 +312,16 @@ be_visitor_union_branch_cdr_op_ci::visit_interface (be_interface *node) } else { - *os << "result =" << be_idt_nl - << "tao_" << node->flat_name () << "_marshal (" + *os << "result =" << be_idt_nl; + + AST_Decl *parent = ScopeAsDecl (node->defined_in ()); + + if (parent != 0 && parent->node_type () != AST_Decl::NT_root) + { + *os << parent->name () << "::"; + } + + *os << "tao_" << node->local_name () << "_life::tao_marshal (" << be_idt << be_idt_nl << "_tao_union." << f->local_name () << " ()," << be_nl << "strm" << be_uidt_nl |