summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp116
1 files changed, 21 insertions, 95 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp b/TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp
index c5829ca7f92..134190870d9 100644
--- a/TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp
@@ -151,27 +151,12 @@ int be_visitor_args_vardecl_ss::visit_interface (be_interface *node)
case AST_Argument::dir_IN:
case AST_Argument::dir_INOUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var " << arg->local_name () << ";" << be_nl;
- *os << "CORBA::Object_var _tao_base_var_" << arg->local_name ()
- << ";" << be_nl;
- *os << "CORBA::Object_ptr &_tao_base_ptr_" << arg->local_name ()
- << " = _tao_base_var_" << arg->local_name () << ".out ();\n";
-#endif
*os << bt->name () << "_var " << arg->local_name () << ";" << be_nl;
*os << "CORBA::Object_var _tao_base_var_" << arg->local_name ()
<< ";\n";
break;
case AST_Argument::dir_OUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << "CORBA::Object_ptr _tao_base_ptr_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_var_" << arg->local_name () << ".out ());\n";
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";" << be_nl;
*os << "CORBA::Object_var _tao_base_var_"
@@ -198,27 +183,12 @@ int be_visitor_args_vardecl_ss::visit_interface_fwd (be_interface_fwd *node)
case AST_Argument::dir_IN:
case AST_Argument::dir_INOUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var " << arg->local_name () << ";" << be_nl;
- *os << "CORBA::Object_var _tao_base_var_" << arg->local_name ()
- << ";" << be_nl;
- *os << "CORBA::Object_ptr &_tao_base_ptr_" << arg->local_name ()
- << " = _tao_base_var_" << arg->local_name () << ".out ();\n";
-#endif
*os << bt->name () << "_var " << arg->local_name () << ";" << be_nl;
*os << "CORBA::Object_var _tao_base_var_" << arg->local_name ()
<< ";\n";
break;
case AST_Argument::dir_OUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << "CORBA::Object_ptr _tao_base_ptr_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_var_" << arg->local_name () << ".out ());\n";
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";" << be_nl;
*os << "CORBA::Object_var _tao_base_var_"
@@ -267,14 +237,6 @@ int be_visitor_args_vardecl_ss::visit_predefined_type (be_predefined_type *node)
break;
case AST_Argument::dir_OUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << "_ptr &_tao_ptr_" << arg->local_name ()
- << " = _tao_var_" << arg->local_name () << ".out ();" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_ptr_" << arg->local_name () << ");\n";
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";\n";
break;
@@ -287,25 +249,11 @@ int be_visitor_args_vardecl_ss::visit_predefined_type (be_predefined_type *node)
case AST_Argument::dir_IN:
case AST_Argument::dir_INOUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var " << arg->local_name ()
- << ";" << be_nl;
- *os << bt->name () << "_ptr &_tao_ptr_" << arg->local_name ()
- << " = " << arg->local_name () << ".out ();\n";
-#endif
*os << bt->name () << "_var " << arg->local_name ()
<< ";\n";
break;
case AST_Argument::dir_OUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << "_ptr &_tao_ptr_" << arg->local_name ()
- << " = _tao_var_" << arg->local_name () << ".out ();" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_ptr_" << arg->local_name () << ");" << be_nl;
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";\n";
break;
@@ -348,14 +296,6 @@ int be_visitor_args_vardecl_ss::visit_sequence (be_sequence *node)
break;
case AST_Argument::dir_OUT:
os->indent ();
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << " *&_tao_ptr_" << arg->local_name ()
- << " = _tao_var_" << arg->local_name () << ".out ();" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_ptr_" << arg->local_name () << ");\n";
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";" << be_nl;
break;
@@ -363,7 +303,7 @@ int be_visitor_args_vardecl_ss::visit_sequence (be_sequence *node)
return 0;
}
-int be_visitor_args_vardecl_ss::visit_string (be_string *)
+int be_visitor_args_vardecl_ss::visit_string (be_string *node)
{
TAO_OutStream *os = this->ctx_->stream (); // get output stream
be_argument *arg = this->ctx_->be_node_as_argument (); // get the argument
@@ -373,27 +313,29 @@ int be_visitor_args_vardecl_ss::visit_string (be_string *)
case AST_Argument::dir_IN:
case AST_Argument::dir_INOUT:
os->indent ();
-#if 0 /* ASG */
- *os << "CORBA::String_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << "char *&" << arg->local_name () << " = _tao_var_"
- << arg->local_name () << ".out ();" << be_nl;
-#endif
- *os << "CORBA::String_var "
- << arg->local_name () << ";\n";
+
+ if (node->width () == sizeof (char))
+ {
+ *os << "CORBA::String_var " << arg->local_name () << ";\n";
+ }
+ else
+ {
+ *os << "CORBA::WString_var " << arg->local_name () << ";\n";
+ }
+
break;
case AST_Argument::dir_OUT:
os->indent ();
-#if 0 /* ASG */
- *os << "CORBA::String_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << "char *&_tao_ptr_" << arg->local_name () << " = _tao_var_"
- << arg->local_name () << ".out ();" << be_nl;
- *os << "CORBA::String_out " << arg->local_name ()
- << " (_tao_ptr_" << arg->local_name () << ");\n";
-#endif
- *os << "CORBA::String_var "
- << arg->local_name () << ";\n";
+
+ if (node->width () == sizeof (char))
+ {
+ *os << "CORBA::String_var " << arg->local_name () << ";\n";
+ }
+ else
+ {
+ *os << "CORBA::WString_var " << arg->local_name () << ";\n";
+ }
+
break;
}
return 0;
@@ -423,14 +365,6 @@ int be_visitor_args_vardecl_ss::visit_structure (be_structure *node)
// check if it is variable sized
if (node->size_type () == be_type::VARIABLE)
{
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << " *&_tao_ptr_" << arg->local_name ()
- << " = _tao_var_" << arg->local_name () << ".out ();" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_ptr_" << arg->local_name () << ");\n";
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";\n";
}
@@ -465,14 +399,6 @@ int be_visitor_args_vardecl_ss::visit_union (be_union *node)
// check if it is variable sized
if (node->size_type () == be_type::VARIABLE)
{
-#if 0 /* ASG */
- *os << bt->name () << "_var _tao_var_"
- << arg->local_name () << ";" << be_nl;
- *os << bt->name () << " *&_tao_ptr_" << arg->local_name ()
- << " = _tao_var_" << arg->local_name () << ".out ();" << be_nl;
- *os << bt->name () << "_out " << arg->local_name ()
- << " (_tao_ptr_" << arg->local_name () << ");\n";
-#endif
*os << bt->name () << "_var "
<< arg->local_name () << ";\n";