summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_argument
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-06 23:35:53 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-12-06 23:35:53 +0000
commitfa9460b291b5b82dedfe4b698000a4dd993140d2 (patch)
treea8363604533502cabd3eea4a948491fdada4f7bc /TAO/TAO_IDL/be/be_visitor_argument
parent30f77e4e4ccb6958bfe801aa24a33a9a043fea1f (diff)
downloadATCD-fa9460b291b5b82dedfe4b698000a4dd993140d2.tar.gz
ChangeLogTag: Wed Dec 6 17:06:17 2000 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_argument')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_argument/arglist.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_argument/arglist.cpp b/TAO/TAO_IDL/be/be_visitor_argument/arglist.cpp
index 2cdebc5897b..d686fa83cdf 100644
--- a/TAO/TAO_IDL/be/be_visitor_argument/arglist.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_argument/arglist.cpp
@@ -187,13 +187,33 @@ int be_visitor_args_arglist::visit_predefined_type (be_predefined_type *node)
} // end of if
else if (node->pt () == AST_PredefinedType::PT_pseudo) // e.g., CORBA::Object
{
+ // The only PT_pseudo that doesn't take a _ptr suffix.
+ idl_bool is_tckind =
+ (ACE_OS::strcmp (node->local_name ()->get_string (), "TCKind") == 0);
+
switch (this->direction ())
{
case AST_Argument::dir_IN:
- *os << this->type_name (node, "_ptr");
+ if (is_tckind)
+ {
+ *os << this->type_name (node);
+ }
+ else
+ {
+ *os << this->type_name (node, "_ptr");
+ }
+
break;
case AST_Argument::dir_INOUT:
- *os << this->type_name (node, "_ptr") << " &";
+ if (is_tckind)
+ {
+ *os << this->type_name (node) << " &";
+ }
+ else
+ {
+ *os << this->type_name (node, "_ptr") << " &";
+ }
+
break;
case AST_Argument::dir_OUT:
*os << this->type_name (node, "_out");