summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp155
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/collocated_sh.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp17
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp44
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp16
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp8
-rw-r--r--TAO/TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp8
9 files changed, 185 insertions, 81 deletions
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index 0434c4ecd0f..f86ebd28dd1 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -1505,26 +1505,43 @@ be_interface::gen_skel_helper (be_interface *derived,
if (os->stream_type () == TAO_OutStream::TAO_SVR_HDR)
{
// generate the static method corresponding to this method
- *os << "static void " << d->local_name () <<
- "_skel (CORBA::ServerRequest &req, void *obj,"
- << " void *context, CORBA::Environment &env);\n\n";
+ *os << "static void " << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req, " << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &env =" << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
}
else
{ // generate code in the inline file
// generate the static method corresponding to this method
- *os << "ACE_INLINE void " << derived->full_skel_name () <<
- "::" << d->local_name () <<
- "_skel (CORBA::ServerRequest &req, " <<
- "void *obj, void *context, CORBA::Environment &env)" << nl;
- *os << "{\n";
- os->incr_indent ();
- *os << ancestor->full_skel_name () << "_ptr impl = (" <<
- derived->full_skel_name () << "_ptr) obj;" << nl;
- *os << ancestor->full_skel_name () << "::" << d->local_name
- () << "_skel (req, (" << ancestor->full_skel_name () <<
- "_ptr) impl, context, env);\n";
- os->decr_indent ();
- *os << "}\n";
+ *os << "ACE_INLINE void "
+ << derived->full_skel_name () << "::"
+ << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &env" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl;
+ *os << ancestor->full_skel_name ()
+ << "_ptr impl = ("
+ << derived->full_skel_name ()
+ << "_ptr) obj;" << be_nl;
+ *os << ancestor->full_skel_name ()
+ << "::" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "req," << be_nl
+ << "(" << ancestor->full_skel_name ()
+ << "_ptr) impl," << be_nl
+ << "context," << be_nl
+ << " env" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}\n";
}
}
else if (d->node_type () == AST_Decl::NT_attr)
@@ -1539,26 +1556,43 @@ be_interface::gen_skel_helper (be_interface *derived,
if (os->stream_type () == TAO_OutStream::TAO_SVR_HDR)
{
// generate the static method corresponding to this method
- *os << "static void _get_" << d->local_name () <<
- "_skel (CORBA::ServerRequest &req, void *obj,"
- << " void *context, CORBA::Environment &env);\n\n";
+ *os << "static void _get_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &env =" << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
}
else
{ // generate code in the inline file
// generate the static method corresponding to this method
- *os << "ACE_INLINE void " << derived->full_skel_name () <<
- "::_get_" << d->local_name () <<
- "_skel (CORBA::ServerRequest &req, " <<
- "void *obj, void *context, CORBA::Environment &env)" << nl;
- *os << "{\n";
- os->incr_indent ();
- *os << ancestor->full_skel_name () << "_ptr impl = (" <<
- derived->full_skel_name () << "_ptr) obj;" << nl;
- *os << ancestor->full_skel_name () << "::_get_" << d->local_name
- () << "_skel (req, (" << ancestor->full_skel_name () <<
- "_ptr) impl, context, env);\n";
- os->decr_indent ();
- *os << "}\n";
+ *os << "ACE_INLINE void "
+ << derived->full_skel_name () << "::_get_"
+ << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &env" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl
+ << ancestor->full_skel_name ()
+ << "_ptr impl = ("
+ << derived->full_skel_name ()
+ << "_ptr) obj;" << nl;
+ *os << ancestor->full_skel_name ()
+ << "::_get_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "req," << be_nl
+ << "(" << ancestor->full_skel_name ()
+ << "_ptr) impl," << be_nl
+ << "context," << be_nl
+ << "env" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}\n";
}
if (!attr->readonly ())
@@ -1567,29 +1601,46 @@ be_interface::gen_skel_helper (be_interface *derived,
os->indent (); // start from current indentation level
if (os->stream_type () == TAO_OutStream::TAO_SVR_HDR)
{
- // generate the static method corresponding to this method
- *os << "static void _set_" << d->local_name () <<
- "_skel (CORBA::ServerRequest &req, void *obj,"
- << " void *context, CORBA::Environment &env);\n\n";
+ // generate the static method corresponding to
+ // this method
+ *os << "static void _set_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
}
else
{ // generate code in the inline file
- // generate the static method corresponding to this method
- *os << "ACE_INLINE void " << derived->full_skel_name ()
- << "::_set_" << d->local_name () <<
- "_skel (CORBA::ServerRequest &req, " <<
- "void *obj, void *context, CORBA::Environment &env)" <<
- nl;
- *os << "{\n";
- os->incr_indent ();
- *os << ancestor->full_skel_name () << "_ptr impl = (" <<
- derived->full_skel_name () << "_ptr) obj;" << nl;
- *os << ancestor->full_skel_name () << "::_get_" <<
- d->local_name () << "_skel (req, (" <<
- ancestor->full_skel_name () <<
- "_ptr) impl, context, env);\n";
- os->decr_indent ();
- *os << "}\n";
+ // generate the static method corresponding to
+ // this method
+ *os << "ACE_INLINE void "
+ << derived->full_skel_name ()
+ << "::_set_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &env" << be_uidt_nl
+ << ")" << be_uidt_nl
+ << "{" << be_idt_nl
+ << ancestor->full_skel_name ()
+ << "_ptr impl = ("
+ << derived->full_skel_name ()
+ << "_ptr) obj;" << be_nl;
+ *os << ancestor->full_skel_name ()
+ << "::_get_" << d->local_name ()
+ << "_skel (" << be_idt << be_idt_nl
+ << "req," << be_nl
+ << "(" << ancestor->full_skel_name ()
+ << "_ptr) impl," << be_nl
+ << "context," << be_nl
+ << "env" << be_uidt_nl
+ << ");" << be_uidt << be_uidt_nl
+ << "}\n";
}
}
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/collocated_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/collocated_sh.cpp
index 46619143dd2..46a63786e3a 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/collocated_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/collocated_sh.cpp
@@ -106,8 +106,10 @@ int be_visitor_interface_collocated_sh::visit_interface (be_interface *node)
*os << "virtual CORBA::Boolean _is_a (" << be_idt << be_idt_nl
<< "const char *logical_type_id," << be_nl
- << "CORBA::Environment &_tao_environment" << be_uidt_nl
- << ");\n" << be_uidt;
+ << "CORBA::Environment &_tao_environment = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n";
if (this->visit_scope (node) == -1)
{
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
index ba87c88c17d..5621a2e5c47 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp
@@ -147,8 +147,13 @@ be_visitor_interface_ch::visit_interface (be_interface *node)
<< "// the static operations" << be_nl
<< "static " << node->local_name () << "_ptr " << "_duplicate ("
<< node->local_name () << "_ptr obj);" << be_nl
- << "static " << node->local_name () << "_ptr " << "_narrow ("
- << "CORBA::Object_ptr obj, CORBA::Environment &env);" << be_nl
+ << "static " << node->local_name () << "_ptr "
+ << "_narrow (" << be_idt << be_idt_nl
+ << "CORBA::Object_ptr obj," << be_nl
+ << "CORBA::Environment &env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt_nl
<< "static " << node->local_name () << "_ptr " << "_nil (void);\n\n";
// generate code for the interface definition by traversing thru the
@@ -163,9 +168,11 @@ be_visitor_interface_ch::visit_interface (be_interface *node)
}
// the _is_a method
os->indent ();
- *os << "virtual CORBA::Boolean _is_a ("
- << "const CORBA::Char *type_id, " << be_idt << be_idt_nl
- << "CORBA::Environment &env" << be_uidt_nl
+ *os << "virtual CORBA::Boolean _is_a (" << be_idt << be_idt_nl
+ << "const CORBA::Char *type_id, " << be_nl
+ << "CORBA::Environment &env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
<< ");" << be_uidt_nl
<< "virtual const char* "
<< "_interface_repository_id (void) const;" << be_uidt_nl;
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
index 402e4f66874..62b52961f6c 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/interface_sh.cpp
@@ -109,7 +109,9 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
*os << "virtual CORBA::Boolean _is_a (" << be_idt << be_idt_nl
<< "const char* logical_type_id," << be_nl
- << "CORBA::Environment &_tao_environment" << be_uidt_nl
+ << "CORBA::Environment &_tao_environment = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
<< ");" << be_uidt_nl;
*os << "virtual void* _downcast (" << be_idt << be_idt_nl
@@ -127,13 +129,25 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
}
// add a skeleton for our _is_a method
os->indent ();
- *os << "static void _is_a_skel (CORBA::ServerRequest &req, " <<
- "void *obj, void *context, CORBA::Environment &_tao_enviroment);\n\n";
+ *os << "static void _is_a_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &_tao_enviroment = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
// add a skeleton for our _non_existent method
os->indent ();
- *os << "static void _non_existent_skel (CORBA::ServerRequest &req, " <<
- "void *obj, void *context, CORBA::Environment &_tao_enviroment);\n\n";
+ *os << "static void _non_existent_skel (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &req," << be_nl
+ << "void *obj," << be_nl
+ << "void *context," << be_nl
+ << "CORBA::Environment &_tao_enviroment = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
// add a method that says whether we are involved in a multiple inheritance
// or not
@@ -153,17 +167,25 @@ be_visitor_interface_sh::visit_interface (be_interface *node)
// add the dispatch method
os->indent ();
- *os << "virtual void _dispatch (CORBA::ServerRequest &_tao_req, "
- << "void *_tao_context, CORBA::Environment &_tao_env);\n\n";
+ *os << "virtual void _dispatch (" << be_idt << be_idt_nl
+ << "CORBA::ServerRequest &_tao_req," << be_nl
+ << "void *_tao_context," << be_nl
+ << "CORBA::Environment &_tao_env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
// Print out the _this() method.
os->indent ();
- *os << node->name () << " *_this (CORBA::Environment &_tao_environment);\n";
+ *os << node->name () << " *_this (" << be_idt << be_idt_nl
+ << "CORBA::Environment &_tao_environment = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n";
+
// the _interface_repository_id method
os->indent ();
- *os << "virtual const char* _interface_repository_id"
- << " (void) const;\n";
-
+ *os << "virtual const char* _interface_repository_id (void) const;\n";
os->decr_indent ();
*os << "};\n\n";
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp b/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp
index d42afcb6f13..78d03c9a8a4 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/tie_sh.cpp
@@ -114,7 +114,11 @@ be_visitor_interface_tie_sh::visit_interface (be_interface *node)
<< "void _is_owner (CORBA::Boolean b);" << be_nl
<< "// set the ownership" << be_nl << be_nl
<< "// overridden ServantBase operations" << be_nl
- << "PortableServer::POA_ptr _default_POA (CORBA::Environment &env);\n";
+ << "PortableServer::POA_ptr _default_POA (" << be_idt << be_idt_nl
+ << "CORBA::Environment &env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n";
if (node->traverse_inheritance_graph (be_visitor_interface_tie_sh::method_helper, os) == -1)
{
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp b/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp
index 88a8970054f..d8e35f68bcd 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp
@@ -64,8 +64,20 @@ be_visitor_operation_arglist::visit_operation (be_operation *node)
// last argument - is always CORBA::Environment
os->indent ();
- *os << "CORBA::Environment &_tao_environment\n";
- os->decr_indent ();
+ *os << "CORBA::Environment &_tao_environment";
+
+ switch (this->ctx_->state ())
+ {
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_CH:
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH:
+ case TAO_CodeGen::TAO_OPERATION_ARGLIST_SH:
+ *os << " = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl;
+ break;
+ default:
+ break;
+ }
*os << " )";
switch (this->ctx_->state ())
{
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
index e9f3705704b..0ebb02d6143 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/operation_sh.cpp
@@ -138,8 +138,10 @@ be_visitor_operation_sh::visit_operation (be_operation *node)
<< "CORBA::ServerRequest &_tao_req, " << be_nl
<< "void *_tao_obj, " << be_nl
<< "void *_tao_context, " << be_nl
- << "CORBA::Environment &_tao_env"
- << be_uidt_nl << be_uidt << ");\n\n";
+ << "CORBA::Environment &_tao_env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
+ << ");" << be_uidt << "\n\n";
}
return 0;
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp
index 1bc9d75dcc2..006cbb8d25e 100644
--- a/TAO/TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp
@@ -253,7 +253,9 @@ be_visitor_sequence_ch::gen_bounded_obj_sequence (be_sequence *node)
*os << "virtual void _downcast (" << be_idt << be_idt_nl
<< "void* target," << be_nl
<< "CORBA_Object *src," << be_nl
- << "CORBA_Environment &env" << be_uidt_nl
+ << "CORBA::Environment &_env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
pt->accept (visitor);
@@ -262,7 +264,7 @@ be_visitor_sequence_ch::gen_bounded_obj_sequence (be_sequence *node)
*os << "**, target);" << be_nl
<< "*tmp = ";
pt->accept (visitor);
- *os << "::_narrow (src, env);" << be_uidt_nl
+ *os << "::_narrow (src, _env);" << be_uidt_nl
<< "}\n" << be_nl;
*os << "virtual CORBA_Object* _upcast (void *src) const" << be_nl
@@ -274,7 +276,7 @@ be_visitor_sequence_ch::gen_bounded_obj_sequence (be_sequence *node)
<< "return *tmp;" << be_uidt_nl
<< "}" << be_nl;
}
- *os << "};\n";
+ *os << "};" << be_uidt_nl << "\n";
os->gen_endif ();
diff --git a/TAO/TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp b/TAO/TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp
index 10a80a03edb..49718aca3e6 100644
--- a/TAO/TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp
@@ -254,7 +254,9 @@ be_visitor_sequence_ch::gen_unbounded_obj_sequence (be_sequence *node)
*os << "virtual void _downcast (" << be_idt << be_idt_nl
<< "void* target," << be_nl
<< "CORBA_Object *src," << be_nl
- << "CORBA_Environment &env" << be_uidt_nl
+ << "CORBA_Environment &_env = " << be_idt_nl
+ << "CORBA::Environment::default_environment ()"
+ << be_uidt << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
pt->accept (visitor);
@@ -263,7 +265,7 @@ be_visitor_sequence_ch::gen_unbounded_obj_sequence (be_sequence *node)
*os << "**, target);" << be_nl
<< "*tmp = ";
pt->accept (visitor);
- *os << "::_narrow (src, env);" << be_uidt_nl
+ *os << "::_narrow (src, _env);" << be_uidt_nl
<< "}\n" << be_nl;
*os << "virtual CORBA_Object* _upcast (void *src) const" << be_nl
@@ -275,7 +277,7 @@ be_visitor_sequence_ch::gen_unbounded_obj_sequence (be_sequence *node)
<< "return *tmp;" << be_uidt_nl
<< "}" << be_nl;
}
- *os << "};\n";
+ *os << "};" << be_uidt_nl << "\n";
os->gen_endif (); // endif macro