summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp76
1 files changed, 27 insertions, 49 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp b/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp
index 19c9b14417e..191a54fd26c 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/direct_collocated_sh.cpp
@@ -18,46 +18,46 @@
//
// ============================================================================
-#include "idl.h"
-#include "idl_extern.h"
-#include "be.h"
-
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
#include "be_visitor_operation.h"
-ACE_RCSID(be_visitor_operation, direct_collocated_sh, "$Id$")
+ACE_RCSID (be_visitor_operation,
+ direct_collocated_sh,
+ "$Id$")
// *************************************************************************
-// be_visitor_operation_direct_collocated_sh --
// This visitor generates code for the direct_collocated operation signature in a
-// server header file
+// server header file.
// *************************************************************************
-be_visitor_operation_direct_collocated_sh::be_visitor_operation_direct_collocated_sh
-(be_visitor_context *ctx)
+be_visitor_operation_direct_collocated_sh::
+be_visitor_operation_direct_collocated_sh (be_visitor_context *ctx)
: be_visitor_scope (ctx)
{
}
-be_visitor_operation_direct_collocated_sh::~be_visitor_operation_direct_collocated_sh (void)
+be_visitor_operation_direct_collocated_sh::
+~be_visitor_operation_direct_collocated_sh (void)
{
}
-int be_visitor_operation_direct_collocated_sh::visit_operation (be_operation *node)
+int be_visitor_operation_direct_collocated_sh::visit_operation (
+ be_operation *node
+ )
{
- TAO_OutStream *os; // output stream
- be_type *bt; // type node representing the return type
-
- os = this->ctx_->stream ();
- this->ctx_->node (node); // save the node
+ TAO_OutStream *os = this->ctx_->stream ();
+ this->ctx_->node (node);
- os->indent (); // start with the current indentation level
+ os->indent ();
- // every operation is declared virtual in the client code
*os << "virtual ";
- // STEP I: generate the return type
- bt = be_type::narrow_from_decl (node->return_type ());
+ // STEP I: generate the return type.
+ be_type *bt = be_type::narrow_from_decl (node->return_type ());
+
if (!bt)
{
ACE_ERROR_RETURN ((LM_ERROR,
@@ -67,58 +67,36 @@ int be_visitor_operation_direct_collocated_sh::visit_operation (be_operation *no
-1);
}
- // grab the right visitor to generate the return type
be_visitor_context ctx (*this->ctx_);
ctx.state (TAO_CodeGen::TAO_OPERATION_RETTYPE_OTHERS);
- be_visitor *visitor = tao_cg->make_visitor (&ctx);
-
- if (!visitor)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_operation_sh::"
- "visit_operation - "
- "Bad visitor to return type\n"),
- -1);
- }
+ be_visitor_operation_rettype oro_visitor (&ctx);
- if (bt->accept (visitor) == -1)
+ if (bt->accept (&oro_visitor) == -1)
{
- delete visitor;
ACE_ERROR_RETURN ((LM_ERROR,
"(%N:%l) be_visitor_operation_sh::"
"visit_operation - "
"codegen for return type failed\n"),
-1);
}
- delete visitor;
- // STEP 2: generate the operation name
+ // STEP 2: generate the operation name.
*os << " " << node->local_name ();
- // STEP 3: generate the argument list with the appropriate mapping. For these
- // we grab a visitor that generates the parameter listing
+ // STEP 3: generate the argument list with the appropriate mapping. For
+ // these, we grab a visitor that generates the parameter listing.
ctx = *this->ctx_;
ctx.state (TAO_CodeGen::TAO_OPERATION_ARGLIST_COLLOCATED_SH);
- visitor = tao_cg->make_visitor (&ctx);
- if (!visitor)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_operation_sh::"
- "visit_operation - "
- "Bad visitor to return type\n"),
- -1);
- }
+ be_visitor_operation_arglist oac_visitor (&ctx);
- if (node->accept (visitor) == -1)
+ if (node->accept (&oac_visitor) == -1)
{
- delete visitor;
ACE_ERROR_RETURN ((LM_ERROR,
"(%N:%l) be_visitor_operation_sh::"
"visit_operation - "
"codegen for argument list failed\n"),
-1);
}
- delete visitor;
return 0;
}