summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp
diff options
context:
space:
mode:
authorgokhale <gokhale@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-15 22:42:22 +0000
committergokhale <gokhale@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-03-15 22:42:22 +0000
commitf39a129daf76a0161e16f5c3f2ba62db6fe36745 (patch)
tree630ca728c39bd3842662e6959ef500c1fd76c709 /TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp
parentf23eda5538871cb4de2f7f32cfba85bbd8241220 (diff)
downloadATCD-f39a129daf76a0161e16f5c3f2ba62db6fe36745.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp b/TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp
index 6c98c9b7dc2..f0da805930c 100644
--- a/TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_union_branch/private_ch.cpp
@@ -241,8 +241,15 @@ be_visitor_union_branch_private_ch::visit_predefined_type (be_predefined_type *n
{
// Cannot have an object inside of a union
os->indent (); // start from current indentation
- *os << bt->nested_type_name (bu, "_ptr") << " " << ub->local_name () <<
- "_;\n";
+ // check if we are dealing with a CORBA::Object
+ if (!ACE_OS::strcmp (bt->local_name ()->get_string (), "Object"))
+ {
+ *os << "TAO_Object_Field_T<CORBA::Object> *" << ub->local_name ()
+ << "_\n";;
+ }
+ else
+ *os << bt->nested_type_name (bu, "_ptr") << " " << ub->local_name ()
+ << "_;\n";
}
else if (node->pt () == AST_PredefinedType::PT_any)
{