diff options
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.cpp | 116 |
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"; |