summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be/be_visitor_union/discriminant_cs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be/be_visitor_union/discriminant_cs.cpp')
-rw-r--r--TAO/TAO_IDL/be/be_visitor_union/discriminant_cs.cpp88
1 files changed, 0 insertions, 88 deletions
diff --git a/TAO/TAO_IDL/be/be_visitor_union/discriminant_cs.cpp b/TAO/TAO_IDL/be/be_visitor_union/discriminant_cs.cpp
deleted file mode 100644
index 79f75f66a28..00000000000
--- a/TAO/TAO_IDL/be/be_visitor_union/discriminant_cs.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// discriminant_cs.cpp
-//
-// = DESCRIPTION
-// Visitor generating code for discriminant of the union
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include "idl.h"
-#include "idl_extern.h"
-#include "be.h"
-
-#include "be_visitor_union.h"
-
-ACE_RCSID(be_visitor_union, discriminant_cs, "$Id$")
-
-
-// *************************************************************************
-// be_visitor_discriminant_cs - visitor for discriminant in client stubs
-// *************************************************************************
-
-be_visitor_union_discriminant_cs::be_visitor_union_discriminant_cs
-(be_visitor_context *ctx)
- : be_visitor_decl (ctx)
-{
-}
-
-be_visitor_union_discriminant_cs::~be_visitor_union_discriminant_cs (void)
-{
-}
-
-int
-be_visitor_union_discriminant_cs::visit_enum (be_enum *node)
-{
- be_union *bu =
- this->ctx_->be_node_as_union (); // get the enclosing union backend
- be_type *bt;
-
- // check if we are visiting this node via a visit to a typedef node
- if (this->ctx_->alias ())
- bt = this->ctx_->alias ();
- else
- bt = node;
-
- if (bt->node_type () != AST_Decl::NT_typedef // not a typedef
- && bt->is_child (bu)) // bt is defined inside the union
- {
- // instantiate a visitor context with a copy of our context. This info
- // will be modified based on what type of node we are visiting
- be_visitor_context ctx (*this->ctx_);
- ctx.node (node); // set the node to be the node being visited. The scope
- // is still the same
-
- // generate the typecode for the enum
- ctx.state (TAO_CodeGen::TAO_ENUM_CS);
- be_visitor *visitor = tao_cg->make_visitor (&ctx);
- if (!visitor)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_union_discriminant_cs::"
- "visit_enum - "
- "Bad visitor\n"
- ), -1);
- }
- if (node->accept (visitor) == -1)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%N:%l) be_visitor_union_discriminant_cs::"
- "visit_enum - "
- "codegen failed\n"
- ), -1);
- }
- delete visitor;
- }
- return 0;
-}