diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-06 23:35:53 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-12-06 23:35:53 +0000 |
commit | fa9460b291b5b82dedfe4b698000a4dd993140d2 (patch) | |
tree | a8363604533502cabd3eea4a948491fdada4f7bc /TAO/TAO_IDL/be/be_visitor_argument | |
parent | 30f77e4e4ccb6958bfe801aa24a33a9a043fea1f (diff) | |
download | ATCD-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.cpp | 24 |
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"); |