diff options
author | gokhale <asgokhale@users.noreply.github.com> | 1998-04-17 07:55:45 +0000 |
---|---|---|
committer | gokhale <asgokhale@users.noreply.github.com> | 1998-04-17 07:55:45 +0000 |
commit | 416edfe281b7c54ba3b24e37cfa57aefbcf63761 (patch) | |
tree | 5891d75af41af5dd32e60a788e838799951375a0 /TAO/TAO_IDL | |
parent | fafad877274968a4f10a3a98432965d383a6e980 (diff) | |
download | ATCD-416edfe281b7c54ba3b24e37cfa57aefbcf63761.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_exception.cpp | 9 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface.cpp | 7 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_sequence.cpp | 9 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_structure.cpp | 9 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_union.cpp | 9 |
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"; |