summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-02 02:04:31 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-02 02:04:31 +0000
commit6eee1744ae95573a7d4563a37bf2967732e5c9c9 (patch)
tree62eb09f835c704b6d98e2c3c6eb3e3b5ae4c8cec /TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
parentb0e4091a015bcc12830971397fea8408fe6ddfc4 (diff)
downloadATCD-6eee1744ae95573a7d4563a37bf2967732e5c9c9.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp b/TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
index 3b1ce2ebfc9..824fefabbca 100644
--- a/TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
@@ -382,8 +382,41 @@ int be_visitor_args_compiled_marshal_cs::visit_predefined_type (be_predefined_ty
case AST_Argument::dir_IN:
break;
case AST_Argument::dir_INOUT:
- *os << arg->local_name ();
- break;
+ switch (node->pt ())
+ {
+ case AST_PredefinedType::PT_pseudo:
+ case AST_PredefinedType::PT_any:
+ case AST_PredefinedType::PT_long:
+ case AST_PredefinedType::PT_ulong:
+ case AST_PredefinedType::PT_longlong:
+ case AST_PredefinedType::PT_ulonglong:
+ case AST_PredefinedType::PT_short:
+ case AST_PredefinedType::PT_ushort:
+ case AST_PredefinedType::PT_float:
+ case AST_PredefinedType::PT_double:
+ case AST_PredefinedType::PT_longdouble:
+ *os << arg->local_name ();
+ break;
+ case AST_PredefinedType::PT_char:
+ *os << "CORBA::Any::to_char (" << arg->local_name () << ")";
+ break;
+ case AST_PredefinedType::PT_wchar:
+ *os << "CORBA::Any::to_wchar (" << arg->local_name () << ")";
+ break;
+ case AST_PredefinedType::PT_boolean:
+ *os << "CORBA::Any::to_boolean (" << arg->local_name () << ")";
+ break;
+ case AST_PredefinedType::PT_octet:
+ *os << "CORBA::Any::to_octet (" << arg->local_name () << ")";
+ break;
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "be_visitor_operation_rettype_compiled_marshal_cs::"
+ "visit_array - "
+ "Bad predefined type\n"),
+ -1);
+ }
+ break;
case AST_Argument::dir_OUT:
switch (node->pt ())
{