diff options
author | mayur <mayur@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-07-08 18:03:49 +0000 |
---|---|---|
committer | mayur <mayur@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-07-08 18:03:49 +0000 |
commit | a4e0e3726b5828b25c6f7acc5dde2a74ae46dc2f (patch) | |
tree | 49aeeebfe924ded64b9a2a74cc06f26a24a18a91 /TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp | |
parent | 1c3ad44b28193551d90975b16dbc28bdaa9806b7 (diff) | |
download | ATCD-a4e0e3726b5828b25c6f7acc5dde2a74ae46dc2f.tar.gz |
Mon Jul 8 10:59:41 2002 Mayur Deshpande <mayur@ics.uci.edu>
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp b/TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp index 546bf071ad1..ec188786b49 100644 --- a/TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp +++ b/TAO/TAO_IDL/be/be_visitor_valuetype/arglist.cpp @@ -95,20 +95,33 @@ be_visitor_obv_operation_arglist::visit_operation (be_operation *node) // Generate the ACE_ENV_ARG_DECL parameter for the alternative mapping. if (!be_global->exception_support ()) { - // Use ACE_ENV_SINGLE_ARG_DECL or ACE_ENV_ARG_DECL depending on - // whether the operation node has parameters. - char const * env_decl = "ACE_ENV_ARG_DECL"; - - if (node->argument_count() == 0) + /***********************************************************/ + // If it ian an AMHExceptionHolder we are going to generate the + // function definition "in-place" right here. Also all + // AMHExceptionHolder 'raise' methods do not take any + // parameters. So always declare + // ACE_ENV_SINGLE_ARG_DECL_NOT_USED when generating argument + // list for AMHExceptioHolders + /***********************************************************/ + if (is_amh_exception_holder (node)) { - env_decl = "ACE_ENV_SINGLE_ARG_DECL"; + *os << "ACE_ENV_SINGLE_ARG_DECL_NOT_USED"; } + /***********************************************************/ else { - *os << be_nl; - } - - *os << env_decl; + // Use ACE_ENV_SINGLE_ARG_DECL or ACE_ENV_ARG_DECL depending on + // whether the operation node has parameters. + + if (node->argument_count() == 0) + { + *os << " ACE_ENV_SINGLE_ARG_DECL"; + } + else + { + *os << " ACE_ENV_ARG_DECL"; + } + } if (!amh_valuetype) { |