diff options
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/argument.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_operation/argument.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp b/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp index a36fd00d9a4..c50bd87c007 100644 --- a/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp +++ b/TAO/TAO_IDL/be/be_visitor_operation/argument.cpp @@ -61,6 +61,7 @@ be_visitor_operation_argument::post_process (be_decl *bd) case TAO_CodeGen::TAO_OPERATION_ARG_MARSHAL_SS: *os << ",\n"; break; + case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_COLLOCATED_ARG_UPCALL_CS: case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_ARG_UPCALL_CS: { // @@ Michael @@ -68,7 +69,8 @@ be_visitor_operation_argument::post_process (be_decl *bd) // print a comma for in arguments. // This is due to the concept of post processing, // which I was not able to prevent to be executed - // in the case of in arguments. + // in the case of in arguments. Post processing + // does always write a comma, though. be_argument *arg = this->ctx_->be_node_as_argument (); ACE_ASSERT (arg != 0); if (arg->direction () != AST_Argument::dir_IN) @@ -105,7 +107,6 @@ be_visitor_operation_argument::visit_operation (be_operation *node) { case TAO_CodeGen::TAO_OPERATION_ARG_UPCALL_SS: case TAO_CodeGen::TAO_OPERATION_COLLOCATED_ARG_UPCALL_SS: - case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_ARG_UPCALL_CS: // applicable only to these cases where the actual upcall is made // last argument is the environment @@ -115,6 +116,11 @@ be_visitor_operation_argument::visit_operation (be_operation *node) os->indent (); *os << "ACE_TRY_ENV"; break; + case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_COLLOCATED_ARG_UPCALL_CS: + case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_ARG_UPCALL_CS: + os->indent (); + *os << "ACE_TRY_ENV"; + break; default: break; } @@ -173,9 +179,6 @@ be_visitor_operation_argument::visit_argument (be_argument *node) case TAO_CodeGen::TAO_AMI_OPERATION_ARG_INVOKE_CS: ctx.state (TAO_CodeGen::TAO_AMI_ARGUMENT_INVOKE_CS); break; -// @@ Michael case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_ARG_INVOKE_CS: -// ctx.state (TAO_CodeGen::TAO_AMI_HANDLER_ARGUMENT_INVOKE_CS); -// break; case TAO_CodeGen::TAO_OPERATION_ARG_POST_INVOKE_CS: ctx.state (TAO_CodeGen::TAO_ARGUMENT_POST_INVOKE_CS); break; @@ -206,6 +209,9 @@ be_visitor_operation_argument::visit_argument (be_argument *node) case TAO_CodeGen::TAO_OPERATION_ARG_UPCALL_SS: ctx.state (TAO_CodeGen::TAO_ARGUMENT_UPCALL_SS); break; + case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_COLLOCATED_ARG_UPCALL_CS: + ctx.state (TAO_CodeGen::TAO_AMI_HANDLER_ARGUMENT_COLLOCATED_UPCALL_CS); + break; case TAO_CodeGen::TAO_AMI_HANDLER_OPERATION_ARG_UPCALL_CS: ctx.state (TAO_CodeGen::TAO_AMI_HANDLER_ARGUMENT_UPCALL_CS); break; @@ -215,9 +221,6 @@ be_visitor_operation_argument::visit_argument (be_argument *node) case TAO_CodeGen::TAO_OPERATION_ARG_POST_MARSHAL_SS: ctx.state (TAO_CodeGen::TAO_ARGUMENT_POST_MARSHAL_SS); break; - // case TAO_CodeGen::TAO_OPERATION_ARG_AMI: - // ctx.state (TAO_CodeGen::TAO_ARGUMENT_AMI); - // break; default: { ACE_ERROR_RETURN ((LM_ERROR, |