diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp index b6863cc1822..18306c84602 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp @@ -157,6 +157,10 @@ be_visitor_interface_direct_proxy_impl_sh::gen_abstract_ops_helper ( UTL_ScopedName item_new_name (d->local_name (), 0); + // We pass the node's is_abstract flag to the operation + // constructor so we will get the right generated operation + // body if we are regenerating an operation from an + // abstract interface in a concrete interface or component. if (d->node_type () == AST_Decl::NT_op) { AST_Operation *op = AST_Operation::narrow_from_decl (d); @@ -164,7 +168,7 @@ be_visitor_interface_direct_proxy_impl_sh::gen_abstract_ops_helper ( op->flags (), &item_new_name, op->is_local (), - op->is_abstract ()); + node->is_abstract ()); new_op.set_defined_in (node); be_visitor_interface::add_abstract_op_args (op, new_op); |