summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1998-04-17 07:55:45 +0000
committergokhale <asgokhale@users.noreply.github.com>1998-04-17 07:55:45 +0000
commit416edfe281b7c54ba3b24e37cfa57aefbcf63761 (patch)
tree5891d75af41af5dd32e60a788e838799951375a0 /TAO/TAO_IDL
parentfafad877274968a4f10a3a98432965d383a6e980 (diff)
downloadATCD-416edfe281b7c54ba3b24e37cfa57aefbcf63761.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_exception.cpp9
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface.cpp7
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence.cpp9
-rw-r--r--TAO/TAO_IDL/be/be_visitor_structure.cpp9
-rw-r--r--TAO/TAO_IDL/be/be_visitor_union.cpp9
5 files changed, 33 insertions, 10 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_exception.cpp b/TAO/TAO_IDL/be/be_visitor_exception.cpp
index b0dfc14eada..5caa004b73b 100644
--- a/TAO/TAO_IDL/be/be_visitor_exception.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_exception.cpp
@@ -192,7 +192,7 @@ int be_visitor_exception_ch::visit_exception (be_exception *node)
if (node->is_nested ())
*os << "friend ";
*os << "void operator<<= (CORBA::Any &, " << node->local_name ()
- << "); // noncopying version" << be_nl;
+ << "*); // noncopying version" << be_nl;
if (node->is_nested ())
*os << "friend ";
*os << "CORBA::Boolean operator>>= (const CORBA::Any &, "
@@ -441,7 +441,12 @@ int be_visitor_exception_cs::visit_exception (be_exception *node)
<< "if (stream.decode (" << node->tc_name ()
<< ", &_tao_elem, 0, _tao_env)" << be_nl
<< " == CORBA::TypeCode::TRAVERSE_CONTINUE)" << be_nl
- << " return 1;" << be_nl
+ << "{" << be_idt_nl
+ << "((CORBA::Any *)&_tao_any)->replace (_tao_any.type (), "
+ << "_tao_elem, 1, _tao_env);"
+ << be_nl
+ << " return 1;" << be_uidt_nl
+ << "}" << be_nl
<< "else" << be_nl
<< " return 0;" << be_uidt_nl
<< "}\n\n";
diff --git a/TAO/TAO_IDL/be/be_visitor_interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface.cpp
index 30cf2b5caae..668ba528ae3 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface.cpp
@@ -1016,6 +1016,9 @@ be_visitor_interface_cs::visit_interface (be_interface *node)
<< "*_tao_elem = " << node->name () << "::_narrow (_tao_obj, _tao_env);"
<< be_nl
<< "CORBA::release (_tao_obj);" << be_nl
+ << "((CORBA::Any *)&_tao_any)->replace (_tao_any.type (), "
+ << "_tao_elem, 1, _tao_env);"
+ << be_nl
<< "if (_tao_env.exception ()) return 0; // narrow failed" << be_uidt_nl
<< "}" << be_nl
<< "return 1;" << be_uidt_nl
@@ -1759,7 +1762,7 @@ int be_visitor_interface_collocated_ss::visit_interface (be_interface *node)
if (node->defined_in ())
{
- be_decl* scope =
+ be_decl* scope =
be_scope::narrow_from_scope (node->defined_in())->decl ();
*os << ": ACE_NESTED_CLASS ("
@@ -1784,7 +1787,7 @@ int be_visitor_interface_collocated_ss::visit_interface (be_interface *node)
be_interface::narrow_from_decl (node->inherits()[i]);
if (parent->defined_in ())
{
- be_decl* scope =
+ be_decl* scope =
be_scope::narrow_from_scope (parent->defined_in())->decl ();
*os << " ACE_NESTED_CLASS ("
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence.cpp b/TAO/TAO_IDL/be/be_visitor_sequence.cpp
index de4da91019b..7df6f018bd6 100644
--- a/TAO/TAO_IDL/be/be_visitor_sequence.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_sequence.cpp
@@ -218,7 +218,7 @@ int be_visitor_sequence_ch::visit_sequence (be_sequence *node)
if (node->is_nested ())
*os << "friend ";
*os << "void operator<<= (CORBA::Any &, " << node->local_name ()
- << "); // noncopying version" << be_nl;
+ << "*); // noncopying version" << be_nl;
if (node->is_nested ())
*os << "friend ";
*os << "CORBA::Boolean operator>>= (const CORBA::Any &, "
@@ -1171,7 +1171,12 @@ int be_visitor_sequence_cs::visit_sequence (be_sequence *node)
<< "if (stream.decode (" << node->tc_name ()
<< ", &_tao_elem, 0, _tao_env)" << be_nl
<< " == CORBA::TypeCode::TRAVERSE_CONTINUE)" << be_nl
- << " return 1;" << be_nl
+ << "{" << be_idt_nl
+ << "((CORBA::Any *)&_tao_any)->replace (_tao_any.type (), "
+ << "_tao_elem, 1, _tao_env);"
+ << be_nl
+ << " return 1;" << be_uidt_nl
+ << "}" << be_nl
<< "else" << be_nl
<< " return 0;" << be_uidt_nl
<< "}\n\n";
diff --git a/TAO/TAO_IDL/be/be_visitor_structure.cpp b/TAO/TAO_IDL/be/be_visitor_structure.cpp
index ae39d5d9e36..85d12c4eb92 100644
--- a/TAO/TAO_IDL/be/be_visitor_structure.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_structure.cpp
@@ -173,7 +173,7 @@ int be_visitor_structure_ch::visit_structure (be_structure *node)
if (node->is_nested ())
*os << "friend ";
*os << "void operator<<= (CORBA::Any &, " << node->local_name ()
- << "); // noncopying version" << be_nl;
+ << "*); // noncopying version" << be_nl;
if (node->is_nested ())
*os << "friend ";
*os << "CORBA::Boolean operator>>= (const CORBA::Any &, "
@@ -316,7 +316,12 @@ int be_visitor_structure_cs::visit_structure (be_structure *node)
<< "if (stream.decode (" << node->tc_name ()
<< ", &_tao_elem, 0, _tao_env)" << be_nl
<< " == CORBA::TypeCode::TRAVERSE_CONTINUE)" << be_nl
- << " return 1;" << be_nl
+ << "{" << be_idt_nl
+ << "((CORBA::Any *)&_tao_any)->replace (_tao_any.type (), "
+ << "_tao_elem, 1, _tao_env);"
+ << be_nl
+ << " return 1;" << be_uidt_nl
+ << "}" << be_nl
<< "else" << be_nl
<< " return 0;" << be_uidt_nl
<< "}\n\n";
diff --git a/TAO/TAO_IDL/be/be_visitor_union.cpp b/TAO/TAO_IDL/be/be_visitor_union.cpp
index c7c804e2741..c36f7ea199b 100644
--- a/TAO/TAO_IDL/be/be_visitor_union.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_union.cpp
@@ -233,7 +233,7 @@ int be_visitor_union_ch::visit_union (be_union *node)
if (node->is_nested ())
*os << "friend ";
*os << "void operator<<= (CORBA::Any &, " << node->local_name ()
- << "); // noncopying version" << be_nl;
+ << "*); // noncopying version" << be_nl;
if (node->is_nested ())
*os << "friend ";
*os << "CORBA::Boolean operator>>= (const CORBA::Any &, "
@@ -577,7 +577,12 @@ int be_visitor_union_cs::visit_union (be_union *node)
<< "if (stream.decode (" << node->tc_name ()
<< ", &_tao_elem, 0, _tao_env)" << be_nl
<< " == CORBA::TypeCode::TRAVERSE_CONTINUE)" << be_nl
- << " return 1;" << be_nl
+ << "{" << be_idt_nl
+ << "((CORBA::Any *)&_tao_any)->replace (_tao_any.type (), "
+ << "_tao_elem, 1, _tao_env);"
+ << be_nl
+ << " return 1;" << be_uidt_nl
+ << "}" << be_nl
<< "else" << be_nl
<< " return 0;" << be_uidt_nl
<< "}\n\n";