summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_operation/operation_is.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_operation/operation_is.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/operation_is.cpp190
1 files changed, 0 insertions, 190 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/operation_is.cpp b/TAO/TAO_IDL/be/be_visitor_operation/operation_is.cpp
deleted file mode 100644
index d5e2353f9d0..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_operation/operation_is.cpp
+++ /dev/null
@@ -1,190 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// operation_is.cpp
-//
-// = DESCRIPTION
-// Visitor generating code for Operation in the implementation skeleton
-//
-// = AUTHOR
-// Yamuna Krishnamurthy (yamuna@cs.wustl.edu)
-//
-// ============================================================================
-
-#include "idl.h"
-#include "idl_extern.h"
-#include "be.h"
-#include "ace/SString.h"
-
-#include "be_visitor_operation.h"
-
-ACE_RCSID(be_visitor_operation, operation_is, "$Id$")
-
-// ************************************************************
-// Operation visitor for implementation skeleton
-// ************************************************************
-
-be_visitor_operation_is::be_visitor_operation_is (be_visitor_context *ctx)
- : be_visitor_operation (ctx)
-{
-}
-
-be_visitor_operation_is::~be_visitor_operation_is (void)
-{
-}
-
-int
-be_visitor_operation_is::visit_operation (be_operation *node)
-{
- TAO_OutStream *os; // output stream
- be_type *bt; // type node representing the return type
-
- //cout<<"Within visit_operation "<<endl;
- os = this->ctx_->stream ();
- be_interface *intf =
- this->ctx_->interface ();
-
-
-
- this->ctx_->node (node); // save the node
-
- os->indent (); // start with the current indentation level
-
-
-
-
- // STEP I: generate the return type
- bt = be_type::narrow_from_decl (node->return_type ());
- if (!bt)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_operation_is::"
- "visit_operation - "
- "Bad return type\n"),
- -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_is::"
- "visit_operation - "
- "Bad visitor to return type\n"),
- -1);
- }
-
- if (bt->accept (visitor) == -1)
- {
- delete visitor;
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_operation_is::"
- "visit_operation - "
- "codegen for return type failed\n"),
- -1);
- }
- delete visitor;
-
- const char *classname = 0;
-
- if (intf)
- {
- //If derived class
- classname = intf->flat_name ();
-
- }
-
- else
- {
- ACE_CString str(node->flat_name ());
-
- int lnmlength = ACE_OS::strlen (node->local_name ()->get_string ());
-
- int fnmlength = ACE_OS::strlen (node->flat_name ());
- fnmlength--;
-
- classname = str.substr (0,(fnmlength-lnmlength) ).rep ();
- }
-
- // STEP 2: generate the operation name
- *os << " " << idl_global->impl_class_prefix () << classname << idl_global->impl_class_suffix () << "::" << node->local_name ();
-
- // 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_IS);
- visitor = tao_cg->make_visitor (&ctx);
-
-
- if (!visitor)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_operation_is::"
- "visit_operation - "
- "Bad visitor to return type\n"),
- -1);
- }
-
-
- if (node->accept (visitor) == -1)
- {
- delete visitor;
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_operation_is::"
- "visit_operation - "
- "codegen for argument list failed\n"),
- -1);
- }
- delete visitor;
-
- //generate the excetions thrown by the operation
- // this->gen_throw_spec (node);
-
- *os <<be_idt_nl << "{"<<be_idt_nl;
- *os << "//Add your implementation here"<<be_uidt_nl;
-
- //Code to generate teh return statement in the operations.....
- //Can be uncommented when required
-
- /*
- ctx = *this->ctx_;
- ctx.state (TAO_CodeGen::TAO_OPERATION_RETTYPE_IS);
- visitor = tao_cg->make_visitor (&ctx);
-
- if (!visitor)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "be_visitor_operation_is::"
- "visit_operation - "
- "Bad visitor to return type\n"),
- -1);
- }
-
-
- if (bt->accept (visitor) == -1)
- {
- delete visitor;
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_operation_is::"
- "visit_operation - "
- "codegen for return type failed\n"),
- -1);
- }
- delete visitor;
- */
-
- *os << "}" << be_nl << be_uidt_nl;
-
-
- return 0;
-}
-