summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-14 05:47:01 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-14 05:47:01 +0000
commit1bda2ed944f06e6ef20d483549409070b9bae505 (patch)
tree4b5602aeaad1dab3e6b4db752f91311a9d8ad619 /TAO/TAO_IDL/be_include
parentea56952b7880274cd4d3a4b84e39794b0521942c (diff)
downloadATCD-ACE-4_4_40.tar.gz
This commit was manufactured by cvs2svn to create tag 'ACE-4_4_40'.ACE-4_4_40
Diffstat (limited to 'TAO/TAO_IDL/be_include')
-rw-r--r--TAO/TAO_IDL/be_include/be.h124
-rw-r--r--TAO/TAO_IDL/be_include/be_argument.h65
-rw-r--r--TAO/TAO_IDL/be_include/be_array.h120
-rw-r--r--TAO/TAO_IDL/be_include/be_attribute.h64
-rw-r--r--TAO/TAO_IDL/be_include/be_codegen.h461
-rw-r--r--TAO/TAO_IDL/be_include/be_constant.h72
-rw-r--r--TAO/TAO_IDL/be_include/be_decl.h179
-rw-r--r--TAO/TAO_IDL/be_include/be_enum.h95
-rw-r--r--TAO/TAO_IDL/be_include/be_enum_val.h71
-rw-r--r--TAO/TAO_IDL/be_include/be_exception.h77
-rw-r--r--TAO/TAO_IDL/be_include/be_expression.h46
-rw-r--r--TAO/TAO_IDL/be_include/be_factory.h72
-rw-r--r--TAO/TAO_IDL/be_include/be_field.h74
-rw-r--r--TAO/TAO_IDL/be_include/be_generator.h164
-rw-r--r--TAO/TAO_IDL/be_include/be_helper.h174
-rw-r--r--TAO/TAO_IDL/be_include/be_interface.h181
-rw-r--r--TAO/TAO_IDL/be_include/be_interface_fwd.h92
-rw-r--r--TAO/TAO_IDL/be_include/be_interpretive.h40
-rw-r--r--TAO/TAO_IDL/be_include/be_module.h72
-rw-r--r--TAO/TAO_IDL/be_include/be_native.h75
-rw-r--r--TAO/TAO_IDL/be_include/be_operation.h94
-rw-r--r--TAO/TAO_IDL/be_include/be_predefined_type.h93
-rw-r--r--TAO/TAO_IDL/be_include/be_root.h77
-rw-r--r--TAO/TAO_IDL/be_include/be_scope.h92
-rw-r--r--TAO/TAO_IDL/be_include/be_sequence.h145
-rw-r--r--TAO/TAO_IDL/be_include/be_state.h294
-rw-r--r--TAO/TAO_IDL/be_include/be_string.h87
-rw-r--r--TAO/TAO_IDL/be_include/be_structure.h111
-rw-r--r--TAO/TAO_IDL/be_include/be_sunsoft.h45
-rw-r--r--TAO/TAO_IDL/be_include/be_type.h122
-rw-r--r--TAO/TAO_IDL/be_include/be_typedef.h93
-rw-r--r--TAO/TAO_IDL/be_include/be_union.h119
-rw-r--r--TAO/TAO_IDL/be_include/be_union_branch.h74
-rw-r--r--TAO/TAO_IDL/be_include/be_union_label.h17
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor.h157
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_args.h574
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_attribute.h56
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_constant.h72
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_context.h226
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_decl.h52
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_enum.h81
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_exception.h231
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_field.h162
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface.h257
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h72
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_module.h124
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_operation.h789
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_root.h210
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_scope.h53
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_sequence.h214
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_structure.h121
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_typedef.h182
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union.h200
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor_union_branch.h254
54 files changed, 0 insertions, 7868 deletions
diff --git a/TAO/TAO_IDL/be_include/be.h b/TAO/TAO_IDL/be_include/be.h
deleted file mode 100644
index 3dafbfec175..00000000000
--- a/TAO/TAO_IDL/be_include/be.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-
-COPYRIGHT
-
-Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
-States of America. All Rights Reserved.
-
-This product is protected by copyright and distributed under the following
-license restricting its use.
-
-The Interface Definition Language Compiler Front End (CFE) is made
-available for your use provided that you include this license and copyright
-notice on all media and documentation and the software program in which
-this product is incorporated in whole or part. You may copy and extend
-functionality (but may not remove functionality) of the Interface
-Definition Language CFE without charge, but you are not authorized to
-license or distribute it to anyone else except as part of a product or
-program developed by you or with the express written consent of Sun
-Microsystems, Inc. ("Sun").
-
-The names of Sun Microsystems, Inc. and any of its subsidiaries or
-affiliates may not be used in advertising or publicity pertaining to
-distribution of Interface Definition Language CFE as permitted herein.
-
-This license is effective until terminated by Sun for failure to comply
-with this license. Upon termination, you shall destroy or return all code
-and documentation for the Interface Definition Language CFE.
-
-INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
-ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
-FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
-DEALING, USAGE OR TRADE PRACTICE.
-
-INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
-ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
-TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
-
-SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
-RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
-INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
-
-IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
-ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
-DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-Use, duplication, or disclosure by the government is subject to
-restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
-Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
-52.227-19.
-
-Sun, Sun Microsystems and the Sun logo are trademarks or registered
-trademarks of Sun Microsystems, Inc.
-
-SunSoft, Inc.
-2550 Garcia Avenue
-Mountain View, California 94043
-
-NOTE:
-
-SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
-trademarks or registered trademarks of Sun Microsystems, Inc.
-
- */
-
-#ifndef _BE_BE_HH
-#define _BE_BE_HH
-
-// be.h
-//
-
-#if defined (ACE_WIN32)
-#pragma warning(disable:4250)
-#endif /* ACE_WIN32 */
-
-// ACE includes
-
-#include "ace/ACE.h"
-#include "ace/OS.h"
-#include "ace/Singleton.h"
-#include "ace/Synch.h"
-#include "ace/Log_Msg.h"
-#include "ace/Containers.h"
-
-/*
- * BE includes
- */
-
-#include "be_decl.h" // class BE_Decl
-#include "be_scope.h" // class BE_Scope
-#include "be_generator.h" // BE generator class
-#include "be_type.h"
-#include "be_predefined_type.h" // class BE_PredefinedType
-#include "be_module.h" // class BE_Module
-#include "be_interface.h" // class BE_Interface
-#include "be_interface_fwd.h" // class BE_InterfaceFwd
-#include "be_structure.h" // class BE_Structure
-#include "be_exception.h" // class BE_Exception
-#include "be_expression.h" // class BE_Expr_val
-#include "be_enum.h" // class BE_Enum
-#include "be_operation.h" // class BE_Operation
-#include "be_field.h" // class BE_Field
-#include "be_argument.h" // class BE_Argument
-#include "be_attribute.h" // class BE_Attribute
-#include "be_union.h" // class BE_Union
-#include "be_union_branch.h" // class BE_UnionBranch
-#include "be_union_label.h" // class BE_UnionLabel
-#include "be_constant.h" // class BE_Constant
-#include "be_enum_val.h" // class BE_EnumVal
-#include "be_array.h" // class BE_Array
-#include "be_sequence.h" // class BE_Sequence
-#include "be_string.h" // class BE_String
-#include "be_typedef.h" // class BE_Typedef
-#include "be_root.h" // class BE_Root
-#include "be_native.h" // class BE_Native
-
-#include "be_helper.h" // helper functions
-#include "be_state.h" // code generation states
-#include "be_codegen.h" // code generator
-#include "be_factory.h" // factory
-
-#include "be_visitor.h" // abstract visitor
-#include "be_visitor_context.h" // visitor context
-
-#endif // _BE_BE_HH
diff --git a/TAO/TAO_IDL/be_include/be_argument.h b/TAO/TAO_IDL/be_include/be_argument.h
deleted file mode 100644
index 5f417e6e9e4..00000000000
--- a/TAO/TAO_IDL/be_include/be_argument.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_argument.h
-//
-// = DESCRIPTION
-// Extension of class AST_Argument that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_ARGUMENT_H)
-#define BE_ARGUMENT_H
-
-/*
- * BE_Argument
- */
-class be_argument : public virtual AST_Argument,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_argument (void);
- // default constructor
-
- be_argument (AST_Argument::Direction d, AST_Type *ft, UTL_ScopedName *n,
- UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // generate client header for the argument
-
- virtual int gen_client_stubs (void);
- // generate client side stubs for the argument
-
- virtual int gen_server_header (void);
- // generate server header for the argument
-
- virtual int gen_server_skeletons (void);
- // generate server skeletons for the argument
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the argument
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the argument
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_argument, AST_Argument, be_decl);
- DEF_NARROW_FROM_DECL (be_argument);
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_array.h b/TAO/TAO_IDL/be_include/be_array.h
deleted file mode 100644
index 55dcabe0e38..00000000000
--- a/TAO/TAO_IDL/be_include/be_array.h
+++ /dev/null
@@ -1,120 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_array.h
-//
-// = DESCRIPTION
-// Extension of class AST_Array that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_ARRAY_H)
-#define BE_ARRAY_H
-
-class TAO_OutStream;
-
-/*
- * BE_Array
- */
-class be_array : public virtual AST_Array,
- public virtual be_type
-{
-public:
- // =Operations
-
- be_array (void);
- // default constructor
-
- be_array (UTL_ScopedName *n, unsigned long ndims, UTL_ExprList *dims);
- // constructor
-
- ~be_array (void);
-
- virtual int gen_client_header (void);
- // generate client header for array
-
- virtual int gen_client_stubs (void);
- // generate client side stubs for array
-
- virtual int gen_server_header (void);
- // generate server header for array
-
- virtual int gen_server_skeletons (void);
- // generate server skeletons for array
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the array
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the array
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- virtual int gen_forany_defn (void);
- // the forany class
-
- virtual int gen_forany_impl (void);
- // the forany impl
-
- virtual int gen_dimensions (TAO_OutStream *os, unsigned short slice=0);
- // generate dimensions. If slice == 1, generate dimensions for the slice
- // definition
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_array, AST_Array, be_type);
- DEF_NARROW_FROM_DECL (be_array);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-
- virtual int create_name (void);
- // create a name for us
-
- const char* tao_name (void);
-
-private:
- char* tao_name_;
- // We need a name to generate typecodes and other objects, but it
- // must be different from the typedef name....
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_attribute.h b/TAO/TAO_IDL/be_include/be_attribute.h
deleted file mode 100644
index c1ad4b8b362..00000000000
--- a/TAO/TAO_IDL/be_include/be_attribute.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_attribute.h
-//
-// = DESCRIPTION
-// Extension of class AST_Attribute that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_ATTRIBUTE_H)
-#define BE_ATTRIBUTE_H
-
-/*
- * BE_Attribute
- */
-class be_attribute : public virtual AST_Attribute,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_attribute (void);
- // default constructor
-
- be_attribute (idl_bool ro, AST_Type *ft, UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // generate client header for the attribute
-
- virtual int gen_client_stubs (void);
- // generate client side stubs for the attribute
-
- virtual int gen_server_header (void);
- // generate server header for the attribute
-
- virtual int gen_server_skeletons (void);
- // generate server skeletons for the attribute
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the attribute
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the attribute
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_attribute, AST_Attribute, be_decl);
- DEF_NARROW_FROM_DECL (be_attribute);
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_codegen.h b/TAO/TAO_IDL/be_include/be_codegen.h
deleted file mode 100644
index c3516c62bfc..00000000000
--- a/TAO/TAO_IDL/be_include/be_codegen.h
+++ /dev/null
@@ -1,461 +0,0 @@
-// $Id$
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_codegen.h
-//
-// = DESCRIPTION
-// The Code generator class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_CODEGEN_H)
-#define TAO_BE_CODEGEN_H
-
-#define NAMEBUFSIZE 1024
-// maximum length of static buffers used to store names
-
-class TAO_Visitor_Factory;
-class be_visitor_context;
-
-class TAO_CodeGen
-{
- // = TITLE
- // TAO_CodeGen
- //
- // = DESCRIPTION
- // Holds global parameters for the Back End and generates the C++ mapping
- //
-public:
-
- // define all the code generation states. The first letter C/S of the suffix stands
- // for client/server-side and the second letter H/I/S stands for
- // header/inline/impl file. These are used to denote the state or the context
- // of code generation we are in and serves to produce the right kind of
- // visitor for us
-
- enum CG_STATE
- {
- // initial state
- TAO_INITIAL,
-
- // rest of the state in alphabetical order of the types
-
- // emitting code for arguments of an operation. No distinction between
- // headers, inlines, stubs.
- TAO_ARGUMENT_CH, // in client header
- TAO_ARGUMENT_CI, // in client inline
- TAO_ARGUMENT_CS, // in client stubs
- TAO_ARGUMENT_SH, // in server header
- TAO_ARGUMENT_SI, // in server inline
- TAO_ARGUMENT_SS, // in server skeleton
- TAO_ARGUMENT_ARGLIST_CH, // argument in op signature of
- // ... client header
- TAO_ARGUMENT_ARGLIST_OTHERS, // ... in other cases
- TAO_ARGUMENT_PRE_DOCALL_CS, // preprocessing of argument
- // variable before passing to
- // do_static_call (in stub)
- TAO_ARGUMENT_DOCALL_CS, // passing argument variable to do_static_call
- TAO_ARGUMENT_POST_DOCALL_CS, // postprocessing of argument
- // variable after do_static_call
- TAO_ARGUMENT_VARDECL_SS, // declaration of argument
- // variable in skeleton (server)
- TAO_ARGUMENT_MARSHAL_SS, // passing argument node to the
- TAO_ARGUMENT_DEMARSHAL_SS, // demarshal and marshal
- // operations
- TAO_ARGUMENT_POST_MARSHAL_SS,
- TAO_ARGUMENT_PRE_UPCALL_SS, // preprocessing of argument
- // variable before upcall
- TAO_ARGUMENT_UPCALL_SS, // passing argument variable to upcall
- TAO_ARGUMENT_POST_UPCALL_SS, // postprocessing of argument
- // variable after upcall
-
- // emitting code for attributes.
- TAO_ATTRIBUTE_CH, // in client header
- TAO_ATTRIBUTE_CS, // in client stubs
- TAO_ATTRIBUTE_SH, // in server header
- TAO_ATTRIBUTE_SS, // in server skeletons
- TAO_ATTRIBUTE_COLLOCATED_SH, // in server header for collocated
- TAO_ATTRIBUTE_COLLOCATED_SS, // in server skeletons for
- // collocated
-
- TAO_ATTRIBUTE_RETVAL_DECL_SS,
- TAO_ATTRIBUTE_RETVAL_ASSIGN_SS,
- TAO_ATTRIBUTE_RETURN_TYPE_CH,
- TAO_ATTRIBUTE_INPARAM_TYPE_CH,
- TAO_ATTRIBUTE_RETURN_TYPE_CS,
- TAO_ATTRIBUTE_RETVAL_DECL_CS,
- TAO_ATTRIBUTE_RETVAL_EXCEPTION_CS,
- TAO_ATTRIBUTE_RETVAL_RETURN_CS,
- TAO_ATTRIBUTE_INPARAM_TYPE_CS,
- TAO_ATTRIBUTE_PRE_DOCALL_CS,
- TAO_ATTRIBUTE_DOCALL_CS,
- TAO_ATTRIBUTE_POST_DOCALL_CS,
- TAO_ATTRIBUTE_RETURN_TYPE_SH,
- TAO_ATTRIBUTE_INPARAM_TYPE_SH,
- TAO_ATTRIBUTE_RESULT_SS,
- TAO_ATTRIBUTE_INPARAM_TYPE_SS,
- TAO_ATTRIBUTE_PRE_UPCALL_SS,
- TAO_ATTRIBUTE_UPCALL_SS,
- TAO_ATTRIBUTE_POST_UPCALL_SS,
-
- // emitting code for array defn
- TAO_ARRAY_CH,
- TAO_ARRAY_CI,
- TAO_ARRAY_CS,
-
- TAO_ARRAY_DEFN_CH,
- TAO_ARRAY_DEFN_CI,
- TAO_ARRAY_DEFN_CS,
- TAO_ARRAY_DEFN_SH,
- TAO_ARRAY_DEFN_SI,
- TAO_ARRAY_DEFN_SS,
-
- // emitting code for rest of the array decl
- TAO_ARRAY_OTHER_CH,
- TAO_ARRAY_OTHER_CI,
- TAO_ARRAY_OTHER_CS,
- TAO_ARRAY_OTHER_SH,
- TAO_ARRAY_OTHER_SI,
- TAO_ARRAY_OTHER_SS,
-
- // emitting code for the constants
- TAO_CONSTANT_CH, // in client header
- TAO_CONSTANT_CI, // XXXASG rm?
- TAO_CONSTANT_CS, // in client stub
-
- // emitting code for enums
- TAO_ENUM_CH, // in client header
- TAO_ENUM_CI, // XXXASG rm?
- TAO_ENUM_CS, // in client stubs
- TAO_ENUM_SH, // XXXASG rm? all 3
- TAO_ENUM_SI,
- TAO_ENUM_SS,
-
- // emitting code for exceptions
- TAO_EXCEPTION_CH,
- TAO_EXCEPTION_CTOR_CH,
- TAO_EXCEPTION_CI,
- TAO_EXCEPTION_CS,
- TAO_EXCEPTION_CTOR_CS,
- TAO_EXCEPTION_CTOR_ASSIGN_CS,
- TAO_EXCEPTION_SH,
- TAO_EXCEPTION_SI,
- TAO_EXCEPTION_SS,
-
- // emitting fields i.e., struct members
- TAO_FIELD_CH,
- TAO_FIELD_CI,
- TAO_FIELD_CS,
-
- // emitting code for the interface
- TAO_INTERFACE_CH,
- TAO_INTERFACE_CI,
- TAO_INTERFACE_CS,
- TAO_INTERFACE_SH,
- TAO_INTERFACE_SI,
- TAO_INTERFACE_SS,
- TAO_INTERFACE_COLLOCATED_SH,
- TAO_INTERFACE_COLLOCATED_SS,
-
- // emitting code for the interface forward declaration
- TAO_INTERFACE_FWD_CH,
- TAO_INTERFACE_FWD_CI,
-
- // emitting code for the module
- TAO_MODULE_CH,
- TAO_MODULE_CI,
- TAO_MODULE_CS,
- TAO_MODULE_SH,
- TAO_MODULE_SI,
- TAO_MODULE_SS,
-
- // emitting code for an operation.
- TAO_OPERATION_CH, // in client header
- TAO_OPERATION_CI, // XXXASG rm?
- TAO_OPERATION_CS, // in client stubs
- TAO_OPERATION_SH, // in server header
- TAO_OPERATION_SI, // XXXASG rm?
- TAO_OPERATION_SS, // in server skeletons
- TAO_OPERATION_COLLOCATED_SH, // in collocated server header
- TAO_OPERATION_COLLOCATED_SS, // in collocated server skel
- TAO_OPERATION_RETTYPE_CH, // return type in client header op
- // signature
- TAO_OPERATION_RETTYPE_OTHERS, // ... in other cases
- TAO_OPERATION_RETURN_TYPE_CS, //
- TAO_OPERATION_ARGLIST_CH, // parameter list in op signature
- // ... for client header
- TAO_OPERATION_ARGLIST_SH, // ... for server header
- TAO_OPERATION_ARGLIST_COLLOCATED_SH, // ... for collocated server
- TAO_OPERATION_ARGLIST_OTHERS, // ... for all other cases
- TAO_OPERATION_RETVAL_DECL_CS, // return value variable declaration
- TAO_OPERATION_RETVAL_EXCEPTION_CS, // return value on exception (error)
- TAO_OPERATION_RETVAL_PRE_DOCALL_CS, // preprocessing for return value
- // before sending over the wire
- TAO_OPERATION_ARG_PRE_DOCALL_CS, // preprocessing of arguments
- // before do_static_call
- TAO_OPERATION_RETVAL_DOCALL_CS, // passing the return type
- // variable to do_static_call
- TAO_OPERATION_ARG_DOCALL_CS, // passing argument variable to do_static_call
- TAO_OPERATION_RETVAL_POST_DOCALL_CS, // processing of return type
- // after do_static_call
- TAO_OPERATION_ARG_POST_DOCALL_CS, // processing of arg after do_static_call
- TAO_OPERATION_RETVAL_RETURN_CS, // returning the return type
- // variable
- TAO_OPERATION_EXCEPTLIST_CS, // generating the exception list
- TAO_OPERATION_RETVAL_DECL_SS, // return type decl in skeleton
- TAO_OPERATION_ARG_DECL_SS, // argument decl in skeleton
- TAO_OPERATION_RETVAL_DEMARSHAL_SS, // passing return type variable
- TAO_OPERATION_ARG_DEMARSHAL_SS, // and argument variables to the
- TAO_OPERATION_RETVAL_MARSHAL_SS, // marshal and demarshal operations
- TAO_OPERATION_ARG_MARSHAL_SS,
- TAO_OPERATION_ARG_POST_MARSHAL_SS,
- TAO_OPERATION_RETVAL_ASSIGN_SS, // assigning to return type
- // variable
- TAO_OPERATION_ARG_PRE_UPCALL_SS, // pre upcall processing
- TAO_OPERATION_RETVAL_UPCALL_SS, // passing return type var and argument
- TAO_OPERATION_ARG_UPCALL_SS, // variables to upcall
- TAO_OPERATION_RETVAL_POST_UPCALL_SS, // post upcall processing for
- TAO_OPERATION_ARG_POST_UPCALL_SS, // return and argument variables
- TAO_OPERATION_RESULT_SS, // XXXASG rm?
-
- // for predefined type
- TAO_PREDEFINED_TYPE_CH,
- TAO_PREDEFINED_TYPE_CI,
- TAO_PREDEFINED_TYPE_CS,
-
- // emitting code for root
- TAO_ROOT_CH,
- TAO_ROOT_CI,
- TAO_ROOT_CS,
- TAO_ROOT_SH,
- TAO_ROOT_SI,
- TAO_ROOT_SS,
-
- // emitting sequences
- TAO_SEQUENCE_CH,
- TAO_SEQUENCE_CI,
- TAO_SEQUENCE_CS,
-
- // emitting code for sequence base type
- TAO_SEQUENCE_BASE_CH,
- TAO_SEQUENCE_BASE_CI,
- TAO_SEQUENCE_BASE_CS,
- TAO_SEQUENCE_BASE_SH,
- TAO_SEQUENCE_BASE_SI,
- TAO_SEQUENCE_BASE_SS,
-
- // emitting code for sequence body
- TAO_SEQUENCE_BODY_CH,
- TAO_SEQUENCE_BODY_CI,
- TAO_SEQUENCE_BODY_CS,
- TAO_SEQUENCE_BODY_SH,
- TAO_SEQUENCE_BODY_SI,
- TAO_SEQUENCE_BODY_SS,
-
- // for special sequnce elements
- TAO_SEQELEM_RETTYPE_CH,
- TAO_SEQELEM_RETTYPE_CI,
- TAO_SEQELEM_RETTYPE_CS,
-
- // for sequence buffer types
- TAO_SEQUENCE_BUFFER_TYPE_CH,
- TAO_SEQUENCE_BUFFER_TYPE_CI,
- TAO_SEQUENCE_BUFFER_TYPE_CS,
-
- // emitting code for strings
- TAO_STRING_CH,
- TAO_STRING_CI,
- TAO_STRING_CS,
- TAO_STRING_SH,
- TAO_STRING_SI,
- TAO_STRING_SS,
-
- // emitting code for struct and its members
- TAO_STRUCT_CH,
- TAO_STRUCT_CI,
- TAO_STRUCT_CS,
-
- // emitting code for typedefs
- TAO_TYPEDEF_CH,
- TAO_TYPEDEF_CI,
- TAO_TYPEDEF_CS,
- TAO_TYPEDEF_SH,
- TAO_TYPEDEF_SI,
- TAO_TYPEDEF_SS,
-
- // emitting code for unions
- TAO_UNION_CH,
- TAO_UNION_CI,
- TAO_UNION_CS,
-
- // emitting code for the discriminant
- TAO_UNION_DISCTYPEDEFN_CH,
- TAO_UNION_DISCTYPEDEFN_CI,
- TAO_UNION_DISCTYPEDEFN_CS,
- TAO_UNION_DISCTYPEDEFN_SH,
- TAO_UNION_DISCTYPEDEFN_SI,
- TAO_UNION_DISCTYPEDEFN_SS,
-
- // emitting code for the public members of the union
- TAO_UNION_PUBLIC_CH,
- TAO_UNION_PUBLIC_CI,
- TAO_UNION_PUBLIC_CS,
- TAO_UNION_PUBLIC_ASSIGN_CS,
- TAO_UNION_PUBLIC_SH,
- TAO_UNION_PUBLIC_SI,
- TAO_UNION_PUBLIC_SS,
-
- // emitting code for private members of the union
- TAO_UNION_PRIVATE_CH,
- TAO_UNION_PRIVATE_CI,
- TAO_UNION_PRIVATE_CS,
- TAO_UNION_PRIVATE_SH,
- TAO_UNION_PRIVATE_SI,
- TAO_UNION_PRIVATE_SS,
-
- // Always must be last
- TAO_UNKNOWN
-
- };
-
- TAO_CodeGen (void);
- // Constructor
-
- ~TAO_CodeGen (void);
- // destructor
-
- be_visitor *make_visitor (be_visitor_context *);
- // Factory that makes the right visitor based on the contex. This
- // delegates the task to its factory data member
-
- be_state *make_state (void);
- // factory method returning appropriate subclass of the be_state object
- // based on the current code generation state
-
- int gen_cplusplus_mapping (void);
- // generate the C++ mapping for CORBA IDL
-
- int client_header (const char *fname);
- // set the client header stream
-
- TAO_OutStream *client_header (void);
- // get the client header stream
-
- int client_stubs (const char *fname);
- // set the client stub stream
-
- TAO_OutStream *client_stubs (void);
- // get the client stubs stream
-
- int client_inline (const char *fname);
- // set the client inline stream
-
- TAO_OutStream *client_inline (void);
- // get the client inline stream
-
- int server_header (const char *fname);
- // set the server header stream
-
- TAO_OutStream *server_header (void);
- // get the server header stream
-
- int server_skeletons (const char *fname);
- // set the server skeletons stream
-
- TAO_OutStream *server_skeletons (void);
- // get the server skeletons stream
-
- int server_inline (const char *fname);
- // set the server inline stream
-
- TAO_OutStream *server_inline (void);
- // get the server inline stream
-
- void outstream (TAO_OutStream *os);
- // set current out stream
-
- TAO_OutStream *outstream (void);
- // retrieve current out stream being used
-
- void visitor_factory (TAO_Visitor_Factory *);
- // set the visitor factory object
-
- int end_client_header (void);
- // put a last #endif in the client header
-
- int end_server_header (void);
- // put a last #endif in the server header
-
- void push (CG_STATE s);
- // set the code generation state
-
- void pop (void);
- // out of the current state
-
- void reset (void);
- // reset the stack to 1
-
- CG_STATE state (void);
- // return the current state
-
- void node (be_decl *n);
- // pass info
-
- be_decl *node (void);
- // retrieve passed info
-
- const char *upcase (const char *str);
- // convert input string to all upcase
-
-private:
- TAO_OutStream *client_header_;
- // client header stream
-
- TAO_OutStream *client_stubs_;
- // client stub file stream
-
- TAO_OutStream *client_inline_;
- // client side inline definitions
-
- TAO_OutStream *server_header_;
- // server header stream
-
- TAO_OutStream *server_skeletons_;
- // server skeleton stream
-
- TAO_OutStream *server_inline_;
- // server side inline file
-
- TAO_OutStream *curr_os_;
- // currently used out stream
-
- CG_STATE *state_;
- // code generation state stack
-
- int top_;
- // top of state stack
-
- int size_;
- // size of allocated stack
-
- be_decl *node_;
- // save current node in this
-
- TAO_Visitor_Factory *visitor_factory_;
- // visitor factory object
-};
-
-typedef ACE_Singleton<TAO_CodeGen, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CODEGEN;
-// Singleton instance of the BE code generator
-
-extern TAO_CodeGen *tao_cg; // code generator instance which is used everywhere
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_constant.h b/TAO/TAO_IDL/be_include/be_constant.h
deleted file mode 100644
index e11271450b1..00000000000
--- a/TAO/TAO_IDL/be_include/be_constant.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_constant.h
-//
-// = DESCRIPTION
-// Extension of class AST_Constant that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_CONSTANT_H)
-#define BE_CONSTANT_H
-
-/*
- * BE_Constant
- */
-class be_constant : public virtual AST_Constant , public virtual be_decl
-{
-public:
- // Operations
-
- be_constant (void);
- // constructor
-
- be_constant (AST_Expression::ExprType et,
- AST_Expression *v,
- UTL_ScopedName *n,
- UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the constant
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the constant
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the constant
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the constant
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the constant
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the constant
-
- // = helper
- char *exprtype_to_string (void);
- // returns the appropriate type
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_constant, AST_Constant, be_decl);
- DEF_NARROW_FROM_DECL (be_constant);
-
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_decl.h b/TAO/TAO_IDL/be_include/be_decl.h
deleted file mode 100644
index 2a37587f419..00000000000
--- a/TAO/TAO_IDL/be_include/be_decl.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_decl.h
-//
-// = DESCRIPTION
-// Extension of the AST_Decl class.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_DECL_H)
-#define TAO_BE_DECL_H
-
-class be_scope;
-class be_visitor;
-
-/*
- * BE_Decl
- */
-class be_decl : public virtual AST_Decl
-{
- // = TITLE
- // be_decl
- // = DESCRIPTION
- // The back end extension of the AST_Decl class. Provides an abstract
- // interface
- //
-public:
- enum SIZE_TYPE
- {
- SIZE_UNKNOWN,
- FIXED,
- VARIABLE
- };
- // indicates if we are fixed size or variable. Most useful for structs,
- // unions, and arrays.
-
- // =Operations
-
- be_decl (void);
- // Default constructor
-
- be_decl (AST_Decl::NodeType type, UTL_ScopedName *n, UTL_StrList *pragmas);
- // constructor that sets the node type
-
- ~be_decl (void);
- // destructor
-
- virtual int gen_client_header (void) = 0;
- // Generates the client-side header information for the decl
-
- virtual int gen_client_stubs (void) = 0;
- // Generates the client-side stubs for the decl
-
- virtual int gen_server_header (void) = 0;
- // Generates the server-side header information for the decl
-
- virtual int gen_server_skeletons (void) = 0;
- // Generates the server-side skeletons for the decl
-
- virtual int gen_client_inline (void) = 0;
- // Generates the client-side inline for the decl
-
- virtual int gen_server_inline (void) = 0;
- // Generates the server-side inlines for the decl
-
- virtual void size_type (SIZE_TYPE);
- // set the size type
-
- virtual SIZE_TYPE size_type (void);
- // return our size type
-
- const char *repoID (void);
- // retrieve the repository ID
-
- const char *fullname (void);
- // return the stringified full name
-
- const char *flatname (void);
- // return the flattened full scoped name
-
- virtual idl_bool is_nested (void);
- // determines if we are inside of a nested scope or not
-
- virtual int gen_encapsulation (void);
- // encapsulation of parameters
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual be_scope *scope (void);
- // return the scope created by this node (if one exists)
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // boolean methods to test if code was already generated
- idl_bool cli_hdr_gen (void);
- idl_bool cli_stub_gen (void);
- idl_bool cli_inline_gen (void);
- idl_bool srv_hdr_gen (void);
- idl_bool srv_skel_gen (void);
- idl_bool srv_inline_gen (void);
-
- // set the flag indicating that code generation is done
- void cli_hdr_gen (idl_bool);
- void cli_stub_gen (idl_bool);
- void cli_inline_gen (idl_bool);
- void srv_hdr_gen (idl_bool);
- void srv_skel_gen (idl_bool);
- void srv_inline_gen (idl_bool);
-
- idl_bool is_child (be_decl *node);
- // am I a direct child of node?
-
- // Narrowing
- DEF_NARROW_METHODS1 (be_decl, AST_Decl);
- DEF_NARROW_FROM_DECL (be_decl);
-
-protected:
- // =helper
-
- virtual int compute_size_type (void);
- // determine our size type and set it if it is unknown
-
- virtual void compute_repoID (void);
- // computes the repoID
-
- virtual void compute_fullname (void);
- // computes the fully scoped name
-
- virtual void compute_flatname (void);
- // compute the flattened fully scoped name
-
- virtual int tc_name2long (const char *name, long *&, long &);
- // name represented as a padded array of longs
-
- virtual long repoID_encap_len (void);
- // return encapsulation length required to hold repository ID
-
- virtual long name_encap_len (void);
- // return encapsulation length required to hold IDL name
-
- // variables that indicate if the code generation for that node is already
- // been done. This way we avoid regenerating same code.
- idl_bool cli_hdr_gen_;
- idl_bool cli_stub_gen_;
- idl_bool cli_inline_gen_;
- idl_bool srv_hdr_gen_;
- idl_bool srv_skel_gen_;
- idl_bool srv_inline_gen_;
-
- char *fullname_;
- // our full scoped name
-
- char *flatname_;
- // flattened fully scoped name
-
- char *repoID_;
- // repository ID
-
- SIZE_TYPE size_type_;
- // whether we are fixed or variable size (by default fixed)
-
- long encap_len_;
- // encapsulation length - required for typecodes
-
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_enum.h b/TAO/TAO_IDL/be_include/be_enum.h
deleted file mode 100644
index c8f4f80a8e5..00000000000
--- a/TAO/TAO_IDL/be_include/be_enum.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_enum.h
-//
-// = DESCRIPTION
-// Extension of class AST_Enum that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_ENUM_H)
-#define BE_ENUM_H
-
-/*
- * BE_Enum
- */
-class be_enum : public virtual AST_Enum,
- public virtual be_scope,
- public virtual be_type
-{
-public:
- // Operations
-
- be_enum (void);
- // default constructor
-
- be_enum (UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the enum
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the enum
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the enum
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the enum
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the enum
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the enum
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int member_count (void);
- // return the count of members
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_enum, AST_Enum, be_scope, be_type);
- DEF_NARROW_FROM_DECL (be_enum);
- DEF_NARROW_FROM_SCOPE (be_enum);
-
-private:
- //=helper
-
- int compute_member_count (void);
- // count the number of members
-
- int member_count_;
- // number of members
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_enum_val.h b/TAO/TAO_IDL/be_include/be_enum_val.h
deleted file mode 100644
index e8671c23275..00000000000
--- a/TAO/TAO_IDL/be_include/be_enum_val.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_enum_val.h
-//
-// = DESCRIPTION
-// Extension of class AST_EnumVal that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_ENUM_VAL_H)
-#define BE_ENUM_VAL_H
-
-/*
- * BE_EnumVal
- */
-class be_enum_val : public virtual AST_EnumVal,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_enum_val (void);
- // default constructor
-
- be_enum_val (unsigned long v, UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the EnumVal
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the EnumVal
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the EnumVal
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the EnumVal
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the EnumVal
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the EnumVal
-
- virtual int gen_encapsulation (void);
- // generate the typecode
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_enum_val, AST_EnumVal, be_decl);
- DEF_NARROW_FROM_DECL (be_enum_val);
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_exception.h b/TAO/TAO_IDL/be_include/be_exception.h
deleted file mode 100644
index 46081d3c90f..00000000000
--- a/TAO/TAO_IDL/be_include/be_exception.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#if !defined (BE_EXCEPTION_H)
-#define BE_EXCEPTION_H
-
-/*
- * BE_Exception
- */
-class be_exception : public virtual AST_Exception,
- public virtual be_scope,
- public virtual be_type
-
-{
-public:
- // Operations
- be_exception (void);
- // default constructor
-
- be_exception (UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- // =code generation
-
- virtual int gen_client_header (void);
- // generate client header
-
- virtual int gen_client_inline (void);
- // generate client inline
-
- virtual int gen_client_stubs (void);
- // generate client stubs
-
- virtual int gen_server_header (void);
- // generate server header
-
- virtual int gen_server_inline (void);
- // generate server inline
-
- virtual int gen_server_skeletons (void);
- // generate server skeletons
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int member_count (void);
- // return the count of members
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_exception, AST_Exception, be_scope, be_type);
- DEF_NARROW_FROM_DECL (be_exception);
- DEF_NARROW_FROM_SCOPE (be_exception);
-
-private:
- //=helper
-
- int compute_member_count (void);
- // count the number of members
-
- int member_count_;
- // number of members
-};
-
-#endif // end of if !defined (...)
diff --git a/TAO/TAO_IDL/be_include/be_expression.h b/TAO/TAO_IDL/be_include/be_expression.h
deleted file mode 100644
index 7429a299977..00000000000
--- a/TAO/TAO_IDL/be_include/be_expression.h
+++ /dev/null
@@ -1,46 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_expression.h
-//
-// = DESCRIPTION
-// Extension of class AST_Expression that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_EXPRESSION_H)
-#define BE_EXPRESSION_H
-
-/*
- * BE_Expression
- */
-class be_expression : public virtual AST_Expression
-{
-public:
- // Operations
- be_expression (UTL_ScopedName *n);
- be_expression (AST_Expression *b, AST_Expression::ExprType t);
- be_expression (AST_Expression::ExprComb c,
- AST_Expression *v1,
- AST_Expression *v2);
- be_expression (long l);
- be_expression (long l, AST_Expression::ExprType t);
- be_expression (unsigned long l);
- be_expression (String *s);
- be_expression (char c);
- be_expression (double d);
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_factory.h b/TAO/TAO_IDL/be_include/be_factory.h
deleted file mode 100644
index 9ed9a18f0de..00000000000
--- a/TAO/TAO_IDL/be_include/be_factory.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// $Id$
-
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL Backend
-//
-// = FILENAME
-// be_factory.h
-//
-// = DESCRIPTION
-// Defines a factory that returns a specialized output stream object that
-// understands a specific Front End
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_FACTORY_H)
-#define TAO_BE_FACTORY_H
-
-class TAO_Visitor_Factory
-{
- // =TITLE
- // TAO_Visitor_Factory
- //
- // =DESCRIPTION
- // Abstract factory that creates visitors
-public:
- virtual ~TAO_Visitor_Factory (void);
- // destructor
-
- virtual be_visitor *make_visitor (be_visitor_context *) = 0;
- // create the right visitor
-
-};
-
-class TAO_OutStream_Factory
-{
- // =TITLE
- // TAO_OutStream_Factory
- // =DESCRIPTION
- // factory to produce specialized instances of the output stream objects
-public:
- enum TAO_OutStream_Type
- {
- TAO_SUNSOFT,
- TAO_FLICK
- };
-
- TAO_OutStream_Factory (void);
- // constructor
-
- ~TAO_OutStream_Factory (void);
- // destructor
-
- TAO_OutStream *make_outstream (void);
- // make the specialized out stream class
-
- int set_stream_type (TAO_OutStream_Type t);
- // set the stream type
-
-private:
- TAO_OutStream_Type strm_type_;
-};
-
-typedef ACE_Singleton<TAO_OutStream_Factory, ACE_SYNCH_RECURSIVE_MUTEX> TAO_OUTSTREAM_FACTORY;
-// Singleton instance of the OutStream factory
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_field.h b/TAO/TAO_IDL/be_include/be_field.h
deleted file mode 100644
index 4fcb1535058..00000000000
--- a/TAO/TAO_IDL/be_include/be_field.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_field.h
-//
-// = DESCRIPTION
-// Extension of class AST_Field that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_FIELD_H)
-#define BE_FIELD_H
-
-/*
- * BE_Field
- */
-class be_field : public virtual AST_Field,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_field (void);
- // default constructor
-
- be_field (AST_Type *ft, UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the field
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the field
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the field
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the field
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the field
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the field
-
- virtual int gen_encapsulation (void);
- // generate the typecode
-
- virtual long tc_encap_len (void);
- // return the total byte length of ourselves represented as an encapsulation
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_field, AST_Field, be_decl);
- DEF_NARROW_FROM_DECL (be_field);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_generator.h b/TAO/TAO_IDL/be_include/be_generator.h
deleted file mode 100644
index 3f4f38bca3f..00000000000
--- a/TAO/TAO_IDL/be_include/be_generator.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
-
-COPYRIGHT
-
-Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
-States of America. All Rights Reserved.
-
-This product is protected by copyright and distributed under the following
-license restricting its use.
-
-The Interface Definition Language Compiler Front End (CFE) is made
-available for your use provided that you include this license and copyright
-notice on all media and documentation and the software program in which
-this product is incorporated in whole or part. You may copy and extend
-functionality (but may not remove functionality) of the Interface
-Definition Language CFE without charge, but you are not authorized to
-license or distribute it to anyone else except as part of a product or
-program developed by you or with the express written consent of Sun
-Microsystems, Inc. ("Sun").
-
-The names of Sun Microsystems, Inc. and any of its subsidiaries or
-affiliates may not be used in advertising or publicity pertaining to
-distribution of Interface Definition Language CFE as permitted herein.
-
-This license is effective until terminated by Sun for failure to comply
-with this license. Upon termination, you shall destroy or return all code
-and documentation for the Interface Definition Language CFE.
-
-INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
-ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
-FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
-DEALING, USAGE OR TRADE PRACTICE.
-
-INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
-ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
-TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
-
-SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
-RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
-INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
-
-IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
-ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
-DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-Use, duplication, or disclosure by the government is subject to
-restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
-Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
-52.227-19.
-
-Sun, Sun Microsystems and the Sun logo are trademarks or registered
-trademarks of Sun Microsystems, Inc.
-
-SunSoft, Inc.
-2550 Garcia Avenue
-Mountain View, California 94043
-
-NOTE:
-
-SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
-trademarks or registered trademarks of Sun Microsystems, Inc.
-
- */
-
-#ifndef _BE_GENERATOR_BE_GENERATOR_HH
-#define _BE_GENERATOR_BE_GENERATOR_HH
-
-// be_generator.hh
-//
-// Defines BE class for generator
-//
-// This defines the same protocol as the AST_Generator class but actually
-// is implemented to create nodes of AST classes subclassed in this BE
-
-/*
-** DEPENDENCIES: AST_Generator.h
-**
-** USE: Included from be.h
-*/
-
-class be_generator : public AST_Generator {
-public:
- virtual AST_Root *create_root(UTL_ScopedName *n,
- UTL_StrList *p);
- // Create a node representing a module which is the root of an AST made up of
- // BE nodes
-
- // Operations
- virtual AST_PredefinedType
- *create_predefined_type(AST_PredefinedType::PredefinedType t,
- UTL_ScopedName *n,
- UTL_StrList *p);
-
- virtual AST_Module *create_module(UTL_ScopedName *n, UTL_StrList *p);
- virtual AST_Interface *create_interface(UTL_ScopedName *n,
- AST_Interface **ih,
- long nih,
- UTL_StrList *p);
- virtual AST_InterfaceFwd *create_interface_fwd(UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_Exception *create_exception(UTL_ScopedName *n, UTL_StrList *p);
- virtual AST_Structure *create_structure(UTL_ScopedName *n, UTL_StrList *p);
- virtual AST_Enum *create_enum(UTL_ScopedName *n, UTL_StrList *p);
- virtual AST_Operation *create_operation(AST_Type *rt,
- AST_Operation::Flags fl,
- UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_Field *create_field(AST_Type *ft, UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_Argument *create_argument(AST_Argument::Direction d,
- AST_Type *ft,
- UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_Attribute *create_attribute(idl_bool ro,
- AST_Type *ft,
- UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_Union *create_union(AST_ConcreteType *dt,
- UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_UnionBranch *create_union_branch(AST_UnionLabel *lab,
- AST_Type *ft,
- UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_UnionLabel *create_union_label(AST_UnionLabel::UnionLabel ul,
- AST_Expression *lv);
- virtual AST_Constant *create_constant(AST_Expression::ExprType et,
- AST_Expression *ev,
- UTL_ScopedName *n,
- UTL_StrList *p);
-
- virtual AST_Expression *create_expr(UTL_ScopedName *n);
- virtual AST_Expression *create_expr(AST_Expression *v,
- AST_Expression::ExprType t);
- virtual AST_Expression *create_expr(AST_Expression::ExprComb c,
- AST_Expression *v1,
- AST_Expression *v2);
- virtual AST_Expression *create_expr(long v);
- virtual AST_Expression *create_expr(long v,
- AST_Expression::ExprType t);
- virtual AST_Expression *create_expr(unsigned long v);
- virtual AST_Expression *create_expr(String *s);
- virtual AST_Expression *create_expr(char c);
- virtual AST_Expression *create_expr(double d);
-
- virtual AST_EnumVal *create_enum_val(unsigned long v,
- UTL_ScopedName *n,
- UTL_StrList *p);
- virtual AST_Array *create_array(UTL_ScopedName *n,
- unsigned long ndims,
- UTL_ExprList *dims);
- virtual AST_Sequence *create_sequence(AST_Expression *v, AST_Type *bt);
- virtual AST_String *create_string(AST_Expression *v);
- virtual AST_String *create_wstring(AST_Expression *v);
- virtual AST_Typedef *create_typedef(AST_Type *bt,
- UTL_ScopedName *n,
- UTL_StrList *p);
- // Create a node representing a native
- virtual AST_Native *create_native (UTL_ScopedName *n,
- UTL_StrList *p);
-
-};
-
-#endif // _BE_GENERATOR_BE_GENERATOR_HH
diff --git a/TAO/TAO_IDL/be_include/be_helper.h b/TAO/TAO_IDL/be_include/be_helper.h
deleted file mode 100644
index e456e7394b3..00000000000
--- a/TAO/TAO_IDL/be_include/be_helper.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_helper.h
-//
-// = DESCRIPTION
-// Defines the abstract class for outputting the C++ mapping. This is a
-// helper class to the singleton TAO_CodeGen class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// Improvements by Carlos O'Ryan
-//
-// ============================================================================
-
-#if !defined (TAO_BE_OUTSTRM_H)
-#define TAO_BE_OUTSTRM_H
-
-// a dummy structure to inform TAO_OutStream's << operator to put a newline
-// and use the current indentation for the succeeding line
-struct TAO_NL
-{
-public:
- TAO_NL (void);
-};
-
-struct TAO_INDENT
-{
- // = TITLE
- // Operates like a manipulator, increasing the indentation level.
- //
- // = DESCRIPTION
- // Increase the indentation level, if the "do_now" parameter is
- // not zero then the <indent> method is called on the stream.
- //
- TAO_INDENT (int do_now = 0);
-
- const int do_now_;
-};
-
-struct TAO_UNINDENT
-{
- // = TITLE
- // Operates like a manipulator, decreasing the indentation level.
- //
- // = DESCRIPTION
- // Decrease the indentation level, if the "do_now" parameter is
- // not zero then the <indent> method is called on the stream.
- //
- TAO_UNINDENT (int do_now = 0);
-
- const int do_now_;
-};
-
-extern const TAO_NL be_nl;
-extern const TAO_INDENT be_idt;
-extern const TAO_INDENT be_idt_nl;
-extern const TAO_UNINDENT be_uidt;
-extern const TAO_UNINDENT be_uidt_nl;
-
-class TAO_OutStream
-{
- // =TITLE
- // TAO_OutStream
- // =DESCRIPTION
- // Defines an interface by which the backend code generator can print its
- // output to the underlying I/O handle. This is a helper class that will be
- // used by the TAO_CodeGen class. However, this is an abstract class and
- // classes that understand specific front ends must derive from this
- // class.
-public:
-
- // Enumerated type to indicate the stream type
- enum STREAM_TYPE
- {
- TAO_CLI_HDR,
- TAO_CLI_INL,
- TAO_CLI_IMPL,
- TAO_SVR_HDR,
- TAO_SVR_INL,
- TAO_SVR_IMPL
- };
-
- TAO_OutStream (void);
- // constructor.
-
- virtual ~TAO_OutStream (void);
- // destructor
-
- int open (const char *fname, TAO_OutStream::STREAM_TYPE st=TAO_OutStream::TAO_CLI_HDR);
- // open the underlying low-level handle for output
-
- void stream_type (TAO_OutStream::STREAM_TYPE);
- // set the stream type
-
- TAO_OutStream::STREAM_TYPE stream_type (void);
- // return the stream type
-
- int incr_indent (unsigned short flag=1);
- // increment the indentation level and by default actually indent the output
- // accordingly
-
- int decr_indent (unsigned short flag=1);
- // decrease the indentation level and by default actually indent the output
- // accordingly
-
- int reset (void);
- // reset indentation level to 0
-
- int indent (void);
- // indent starting next line
-
- int nl (void);
- // put a newline and indent on the next line
-
- int print (const char *format, ...);
- // "printf" style variable argument print
-
- int gen_ifdef_macro (const char *flatname, const char *suffix=0);
- // generate a #if !defined, #defined macro
-
- int gen_endif (void);
- // generate an endif statement
-
- // =overloaded operators
-
- TAO_OutStream &operator<< (const char *str);
- // output the char string and return a reference to ourselves
-
- TAO_OutStream &operator<< (const long num);
- // output the integer and return a reference to ourselves
-
- // = MANIPULATORS
-
- TAO_OutStream &operator<< (const TAO_NL& nl);
- TAO_OutStream &operator<< (const TAO_INDENT& i);
- TAO_OutStream &operator<< (const TAO_UNINDENT& i);
-
- // The following will be provided by specialized classes
-
- TAO_OutStream &operator<< (Identifier *id);
- // output an Identifier node
-
- TAO_OutStream &operator<< (UTL_IdList *idl);
- // output a scoped name
-
- TAO_OutStream &operator<< (AST_Expression *expr);
- // output an AST_Expression node
-
- // provided by specialized classes
- virtual TAO_OutStream &print (Identifier *id) = 0;
-
- virtual TAO_OutStream &print (UTL_IdList *idl) = 0;
-
- virtual TAO_OutStream &print (AST_Expression *idl) = 0;
-
-protected:
- FILE *fp_;
- // the underlying low-level I/O handle
-
- TAO_OutStream::STREAM_TYPE st_;
- // stream type
-
- int indent_level_;
- // indentation level
-
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_interface.h b/TAO/TAO_IDL/be_include/be_interface.h
deleted file mode 100644
index fc01883e9a5..00000000000
--- a/TAO/TAO_IDL/be_include/be_interface.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_interface.h
-//
-// = DESCRIPTION
-// Extension of class AST_Interface that provides additional means for C++
-// mapping of an interface.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_INTERFACE_H)
-#define TAO_BE_INTERFACE_H
-
-class TAO_OutStream;
-
-/*
- * BE_Interface
- */
-class be_interface : public virtual AST_Interface,
- public virtual be_scope,
- public virtual be_type
-{
- // = TITLE
- // The back end extension of the AST_Interface class
- //
- // = DESCRIPTION
- //
-public:
-
- // used to pass functions to the template method
- typedef int (*tao_code_emitter) (be_interface *, be_interface *, TAO_OutStream *);
-
- // Operations
- be_interface (void);
- // Default constructor
-
- be_interface (UTL_ScopedName *n, AST_Interface **ih, long nih,
- UTL_StrList *p);
- // Constructor that sets its scoped name <n>, a list of inherited interfaces
- // <ih>, the number of inherited interfaces <nih>, and any prgmas <p>
-
- ~be_interface (void);
- // dtor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the interface
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the interface
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the interface
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the interface
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the interface
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the interface
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- const char *full_skel_name (void);
- // retrieve the fully scoped skel class name
-
- //
- // Each interface (to fix names "T") also defines two help classes,
- // the "collocated" class inherits from T, but delegates on the
- // skeleton for T (usually POA_T or POA_ModuleName::T), in other
- // words it is a Bridge from T to its implementation.
- // The class is nested inside the skeleton class.
- //
- // The "stub" is a class defined on the client scope, it actually
- // defines the stubs (all operations in T are pure virtual).
- // @@ TODO currently the stub class is not implemented.
- //
- const char *full_coll_name (void);
- // retrieve the fully qualified collocated class name
-
- const char *local_coll_name (void) const;
- // retrieve the fully qualified collocated class name
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int traverse_inheritance_graph (tao_code_emitter gen,
- TAO_OutStream *os);
- // template method using breadth first traversal of inheritance graph
-
- const char *relative_skel_name (const char *other_class_name);
- // relative skeleton name
-
- const char *relative_coll_name (const char *other_class_name);
- // relative name for collocated class.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_interface, AST_Interface, be_scope, be_type);
- DEF_NARROW_FROM_DECL (be_interface);
- DEF_NARROW_FROM_SCOPE (be_interface);
-
- static int is_a_helper (be_interface *, be_interface *, TAO_OutStream *os);
- // helper method passed to the template method
-
- static int downcast_helper (be_interface *,
- be_interface *,
- TAO_OutStream *os);
-
- static int gen_optable_helper (be_interface *,
- be_interface *,
- TAO_OutStream *os);
- // helper method passed to the template method
-
- static int gen_skel_helper (be_interface *,
- be_interface *,
- TAO_OutStream *os);
- // helper method passed to the template method
-
- void compute_fullskelname (void);
- // compute the fully scoped skel class name
-
- int gen_operation_table (void);
- // generate the operation table including entries for inherited interfaces
-
- static const char *relative_name (const char* our_name,
- const char *other_class_name);
- // relative name for collocated class.
-
- int gen_optable_entries (be_interface *);
- // generate the operation table entries
-
- void compute_coll_name (void);
- // compute the fully qualified collocated class name.
-
-private:
- char *full_skel_name_; // fully scoped skeleton name
-
- int skel_count_; // number of static skeletons in the operation table
-
- char *full_coll_name_;
- char *local_coll_name_;
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_interface_fwd.h b/TAO/TAO_IDL/be_include/be_interface_fwd.h
deleted file mode 100644
index 717e388b46b..00000000000
--- a/TAO/TAO_IDL/be_include/be_interface_fwd.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_interface.h
-//
-// = DESCRIPTION
-// Extension of class AST_Interface_Fwd that provides additional means for C++
-// mapping of an interface.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_INTERFACE_FWD_H)
-#define BE_INTERFACE_FWD_H
-
-/*
- * BE_InterfaceFwd
- */
-class be_interface_fwd : public virtual AST_InterfaceFwd,
- public virtual be_type
-{
- // =TITLE
- // be_interface_fwd
- // =DESCRIPTION
- // Extensions to the AST_Interface_Fwd class
-public:
- // Operations
-
- be_interface_fwd (void);
- // default constructor
-
- be_interface_fwd (UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the interface
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the interface
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the interface
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the interface
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the interface
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the interface
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor* visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_interface_fwd, AST_InterfaceFwd, be_type);
- DEF_NARROW_FROM_DECL (be_interface_fwd);
-
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_interpretive.h b/TAO/TAO_IDL/be_include/be_interpretive.h
deleted file mode 100644
index e6312b8d2cd..00000000000
--- a/TAO/TAO_IDL/be_include/be_interpretive.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// $Id$
-
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL Backend
-//
-// = FILENAME
-// be_interpretive_visitor.h
-//
-// = DESCRIPTION
-// Defines a factory that returns a specialized visitor object based on the
-// code generation state. The visitors returned by this factory generate
-// stubs and skeletons that use interpretive form of marshaling
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-class TAO_Interpretive_Visitor_Factory: public TAO_Visitor_Factory
-{
- // =TITLE
- // TAO_Visitor_Factory
- //
- // =DESCRIPTION
- // Factory that creates visitors that generate stubs/skeletons for
- // interpretive form of marshaling
-public:
- TAO_Interpretive_Visitor_Factory (void);
- // constructor
-
- virtual ~TAO_Interpretive_Visitor_Factory (void);
- // destructor
-
- virtual be_visitor *make_visitor (be_visitor_context *);
- // create the right visitor
-
-};
diff --git a/TAO/TAO_IDL/be_include/be_module.h b/TAO/TAO_IDL/be_include/be_module.h
deleted file mode 100644
index 519c5be9a43..00000000000
--- a/TAO/TAO_IDL/be_include/be_module.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_module.h
-//
-// = DESCRIPTION
-// Extension of class AST_Module that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (_BE_MODULE_H)
-#define _BE_MODULE_H
-
-/*
- * BE_Module
- */
-
-class be_module : public virtual AST_Module,
- public virtual be_scope,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_module (void);
- // default constructor
-
- be_module (UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the module
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the module
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the module
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the module
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the module
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the module
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_module, AST_Module, be_scope, be_decl);
- DEF_NARROW_FROM_DECL (be_module);
- DEF_NARROW_FROM_SCOPE (be_module);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_native.h b/TAO/TAO_IDL/be_include/be_native.h
deleted file mode 100644
index 8b04f93565c..00000000000
--- a/TAO/TAO_IDL/be_include/be_native.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Id
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_native.h
-//
-// = DESCRIPTION
-// The native IDL type
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-
-#if !defined (BE_NATIVE_H)
-#define BE_NATIVE_H
-
-// Representation of "native" IDL type added by the POA spec
-
-class be_native : public virtual AST_Native, public virtual be_type
-{
-public:
- // =Operations
-
- // Constructor(s)
- be_native (void);
- // default constructor
-
- be_native(UTL_ScopedName *n, UTL_StrList *p);
- // constructor that initializes its scoped name
-
- virtual ~be_native (void) {}
- // destructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the type
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the type
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the type
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the type
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the type
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the type
-
- virtual int gen_typecode (void);
- // generate the typecode description
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2(be_native, AST_Native, be_type);
- DEF_NARROW_FROM_DECL(be_native);
-};
-
-#endif /* BE_NATIVE_H */
diff --git a/TAO/TAO_IDL/be_include/be_operation.h b/TAO/TAO_IDL/be_include/be_operation.h
deleted file mode 100644
index bf22269394e..00000000000
--- a/TAO/TAO_IDL/be_include/be_operation.h
+++ /dev/null
@@ -1,94 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_operation.h
-//
-// = DESCRIPTION
-// Extension of class AST_Operation that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_OPERATION_H)
-#define BE_OPERATION_H
-
-class be_argument;
-
-/*
- * BE_Operation
- */
-class be_operation : public virtual AST_Operation,
- public virtual be_scope,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_operation (void);
- // default constructor
-
- be_operation (AST_Type *rt, AST_Operation::Flags fl, UTL_ScopedName *n,
- UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // generate client header
-
- virtual int gen_client_stubs (void);
- // generate client side stubs
-
- virtual int gen_server_header (void);
- // generate server header
-
- virtual int gen_server_skeletons (void);
- // generate server skeletons
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the operation
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the operation
-
- virtual int argument_count (void);
- // return the count of members
-
- virtual int has_native (void);
- // Any of the arguments or the return value is a <native> type.
- // This is important because in that case no code should be
- // generated for the stubs.
-
- be_argument *add_argument_to_scope (be_argument *arg);
- // add an argument to the scope
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_operation, AST_Operation, be_scope, be_decl);
- DEF_NARROW_FROM_DECL (be_operation);
- DEF_NARROW_FROM_SCOPE (be_operation);
-
-protected:
- //=helper
- int compute_size_type (void);
- // compute the size type if it is unknown
-
- int compute_argument_attr (void);
- // count the number of arguments
-
- int argument_count_;
- // number of arguments
-
- int has_native_;
- // Is any argument of type native.
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_predefined_type.h b/TAO/TAO_IDL/be_include/be_predefined_type.h
deleted file mode 100644
index 7b0d6c8406f..00000000000
--- a/TAO/TAO_IDL/be_include/be_predefined_type.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_predefined_type.h
-//
-// = DESCRIPTION
-// Extension of class AST_PredefinedType that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (_BE_PREDEFINED_TYPE_H)
-#define _BE_PREDEFINED_TYPE_H
-
-// be_classes.hh
-//
-// Defines all classes for dummy BE
-
-/*
- * BE_PredefinedType
- */
-class be_predefined_type : public virtual AST_PredefinedType,
- public virtual be_type
-{
-public:
- // =Operations
-
- be_predefined_type (void);
- // default constructor
-
- be_predefined_type (AST_PredefinedType::PredefinedType t, UTL_ScopedName *n,
- UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the predefined type
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the predefined type
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the predefined type
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the predefined type
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the predefined type
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the predefined type
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor* visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_predefined_type, AST_PredefinedType, be_type);
- DEF_NARROW_FROM_DECL (be_predefined_type);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-
- virtual void compute_tc_name (void);
- // overridden method
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_root.h b/TAO/TAO_IDL/be_include/be_root.h
deleted file mode 100644
index 43e979c4722..00000000000
--- a/TAO/TAO_IDL/be_include/be_root.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_root.h
-//
-// = DESCRIPTION
-// Extension of class AST_Root that provides the backend
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_ROOT_H)
-#define TAO_BE_ROOT_H
-
-class be_root : public virtual AST_Root,
- public virtual be_scope,
- public virtual be_decl
-{
- // = TITLE
- // The back end extension of the AST_Root class
- //
- // = DESCRIPTION
- //
-public:
- // Operations
- be_root (void);
- // Default constructor
-
- be_root (UTL_ScopedName *n, UTL_StrList *p);
- // Constructor that sets its scoped name <n>, and any pragmas <p>
-
- int gen_idl2cplusplus_mapping (void);
- // generates the IDL to C++ mapping
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the root
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the root
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the root
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the root
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the root
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the root
-
- // =Scope management functions that override the AST scope management methods
- // since the AST methods set the names of the sequences, strings, and arrays
- // to a fixed value which interferes with our back-end code generation
- AST_Sequence *fe_add_sequence (AST_Sequence *);
- AST_String *fe_add_string (AST_String *);
- AST_Array *fe_add_array (AST_Array *);
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_root, AST_Root, be_scope, be_decl);
- DEF_NARROW_FROM_DECL (be_root);
- DEF_NARROW_FROM_SCOPE (be_root);
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_scope.h b/TAO/TAO_IDL/be_include/be_scope.h
deleted file mode 100644
index c5509438613..00000000000
--- a/TAO/TAO_IDL/be_include/be_scope.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_scope.h
-//
-// = DESCRIPTION
-// Extension of the UTL_Scope CFE class
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_SCOPE_H)
-#define TAO_BE_SCOPE_H
-
-class be_decl;
-
-/*
- * BE_Scope
- */
-class be_scope : public virtual UTL_Scope
-{
- // = TITLE
- // be_scope
- // = DESCRIPTION
- // The back end extension of the UTL_Scope class
- //
-public:
- // Operations
-
- be_scope (void);
- // Default constructor
-
- be_scope (AST_Decl::NodeType nt);
- // constructor that sets the node type
-
- virtual ~be_scope (void);
- // destructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the scope
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the scope
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the scope
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the scope
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the scope
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the scope
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual void comma (unsigned short set);
- // set the comma producing state
-
- int comma (void) const;
- // get the comma producing state
-
- virtual be_decl *decl (void);
- // return the be_decl node corresponding to this scope node
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS1 (be_scope, UTL_Scope);
- DEF_NARROW_FROM_SCOPE (be_scope);
-
-private:
- unsigned short comma_;
- // if set, generate a comma after every element is handled
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_sequence.h b/TAO/TAO_IDL/be_include/be_sequence.h
deleted file mode 100644
index ce5cb519f89..00000000000
--- a/TAO/TAO_IDL/be_include/be_sequence.h
+++ /dev/null
@@ -1,145 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_sequence.h
-//
-// = DESCRIPTION
-// Extension of class AST_Sequence that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_SEQUENCE_H)
-#define BE_SEQUENCE_H
-
-/*
- * BE_Sequence
- */
-
-class be_typedef;
-
-// A sequence in OMG IDL does not define a scoping construct just as a struct
-// or union or an interface do. However, in the C++ mapping, a sequence becomes
-// a class. If the base type of a sequence is another anonymous sequence, then
-// the base type is defined in the scope of this sequence. Hence we define
-// be_sequence to possess the additional characteristics of a scope
-class be_sequence : public virtual AST_Sequence,
- public virtual be_scope,
- public virtual be_type
-{
-public:
- enum MANAGED_TYPE
- {
- MNG_UNKNOWN ,
- MNG_NONE,
- MNG_STRING,
- MNG_OBJREF
- };
-
- // =Operations
-
- be_sequence (void);
- // default constructor
-
- be_sequence (AST_Expression *v, AST_Type *bt);
- // constructor
-
- virtual int create_name (be_typedef *node=0);
- // create a name for ourselves. If we are typedefed, then we get the name of
- // the typedef node, else we generate a name for ourselves
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the sequence
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the sequence
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the sequence
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the sequence
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the sequence
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the sequence
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- virtual int gen_managed_type_ch (void);
- // generate code for managed types in header
-
- virtual int gen_managed_type_ci (void);
- // generate code for managed types in inlined file
-
- virtual int gen_managed_type_cs (void);
- // generate code for managed types in impl file
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual MANAGED_TYPE managed_type (void);
- // return the managed type
-
- virtual idl_bool unbounded (void) const;
- // is this sequence bounded or not
-
- // =Scope management functions
- be_sequence *fe_add_sequence (be_sequence *);
-
- virtual be_decl *decl (void);
- // overridden method on the be_scope class
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_sequence, AST_Sequence, be_scope, be_type);
- DEF_NARROW_FROM_DECL (be_sequence);
-
-protected:
- virtual char *gen_name (void);
- // helper to create_name
-
-private:
- idl_bool unbounded_;
- // whether we are bounded or unbounded
-
- MANAGED_TYPE mt_;
- // our managed type
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_state.h b/TAO/TAO_IDL/be_include/be_state.h
deleted file mode 100644
index 353238bbb09..00000000000
--- a/TAO/TAO_IDL/be_include/be_state.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_state.h
-//
-// = DESCRIPTION
-// The Code generator state class and its subclasses
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_STATE_H)
-#define TAO_BE_STATE_H
-
-class be_state
-{
- // =TITLE
- // be_state
- // =DESCRIPTION
- // Emits code based on current state. This is an abstract base class. The
- // task of code generation is handled by subclasses.
-public:
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0) = 0;
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-
- virtual ~be_state (void);
- // destructor
-
-protected:
- be_state (void);
- // constructor
-};
-
-// ============== subclasses ====================
-
-class be_state_struct : public be_state
-{
- // =TITLE
- // be_state_struct
- // =DESCRIPTION
- // struct generation
-public:
-
- be_state_struct (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_struct, ACE_SYNCH_RECURSIVE_MUTEX> TAO_BE_STATE_STRUCT;
-
-class be_state_union_disctypedefn_ch: public be_state
-{
- // =TITLE
- // be_state_union_disctypedefn_ch
- // =DESCRIPTION
- // union discriminant defn generation in client header
-public:
-
- be_state_union_disctypedefn_ch (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_union_disctypedefn_ch, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_UNION_DISCTYPEDEFN_CH;
-
-class be_state_union_disctypedefn_ci: public be_state
-{
- // =TITLE
- // be_state_union_disctypedefn_ci
- // =DESCRIPTION
- // union discriminant defn generation in client inline file
-public:
-
- be_state_union_disctypedefn_ci (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_union_disctypedefn_ci, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_UNION_DISCTYPEDEFN_CI;
-
-class be_state_union_public_ch: public be_state
-{
- // =TITLE
- // be_state_union_public_ch
- // =DESCRIPTION
- // union discriminant defn generation in client header file
-public:
-
- be_state_union_public_ch (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_union_public_ch, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_UNION_PUBLIC_CH;
-
-class be_state_union_public_ci: public be_state
-{
- // =TITLE
- // be_state_union_public_ci
- // =DESCRIPTION
- // union discriminant defn generation in client inline file
-public:
-
- be_state_union_public_ci (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_union_public_ci, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_UNION_PUBLIC_CI;
-
-class be_state_union_private_ch: public be_state
-{
- // =TITLE
- // be_state_union_private_ch
- // =DESCRIPTION
- // union discriminant defn generation in client header file
-public:
-
- be_state_union_private_ch (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_union_private_ch, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_UNION_PRIVATE_CH;
-
-class be_state_union_public_cs: public be_state
-{
- // =TITLE
- // be_state_union_public_cs
- // =DESCRIPTION
- // union discriminant defn generation in client stubs file
-public:
-
- be_state_union_public_cs (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_union_public_cs, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_UNION_PUBLIC_CS;
-
-class be_state_operation: public be_state
-{
- // =TITLE
- // be_state_operation
- // =DESCRIPTION
- // operation return type
-public:
-
- be_state_operation (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_operation, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_OPERATION;
-
-class be_state_argument: public be_state
-{
- // =TITLE
- // be_state_argument
- // =DESCRIPTION
- // argument return type
-public:
-
- be_state_argument (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_argument, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_ARGUMENT;
-
-class be_state_typedef: public be_state
-{
- // =TITLE
- // be_state_typedef
- // =DESCRIPTION
- // typedef code generation
-public:
-
- be_state_typedef (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_typedef, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_TYPEDEF;
-
-class be_state_array: public be_state
-{
- // =TITLE
- // be_state_array
- // =DESCRIPTION
- // array code generation
-public:
-
- be_state_array (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_array, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_ARRAY;
-
-class be_state_sequence: public be_state
-{
- // =TITLE
- // be_state_sequence
- // =DESCRIPTION
- // sequence code generation
-public:
-
- be_state_sequence (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third parameter is
- // used for recursive invocation involving a typedef
-};
-typedef ACE_Singleton<be_state_sequence, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_SEQUENCE;
-
-class be_state_attribute : public be_state
-{
- // =TITLE
- // be_state_attribute
- // =DESCRIPTION
- // attribute code generation
-public:
- be_state_attribute (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third
- // parameter is used for recursive invocation involving a typedef
-};
-
-typedef ACE_Singleton<be_state_attribute, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_ATTRIBUTE;
-
-class be_state_exception : public be_state
-{
- // =TITLE
- // be_state_exception
- // =DESCRIPTION
- // exception code generation
-public:
- be_state_exception (void);
- // constructor
-
- virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
- // code generation for node "d" whose type is "bt". The third
- // parameter is used for recursive invocation involving a typedef
-};
-
-typedef ACE_Singleton<be_state_exception, ACE_SYNCH_RECURSIVE_MUTEX>
- TAO_BE_STATE_EXCEPTION;
-
-#endif /* end of be_state */
diff --git a/TAO/TAO_IDL/be_include/be_string.h b/TAO/TAO_IDL/be_include/be_string.h
deleted file mode 100644
index 0121bcf1216..00000000000
--- a/TAO/TAO_IDL/be_include/be_string.h
+++ /dev/null
@@ -1,87 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_string.h
-//
-// = DESCRIPTION
-// Extension of class AST_String that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_STRING_H)
-#define BE_STRING_H
-
-/*
- * BE_String
- */
-class be_string : public virtual AST_String,
- public virtual be_type
-{
-public:
- // Operations
-
- be_string (void);
- // default constructor
-
- be_string (AST_Expression *v);
- // constructor
-
- be_string (AST_Expression *v, long wide);
- // constructor
-
- virtual int gen_client_header (void);
- // generate client header for string
-
- virtual int gen_client_stubs (void);
- // generate client side stubs for string
-
- virtual int gen_server_header (void);
- // generate server header for string
-
- virtual int gen_server_skeletons (void);
- // generate server skeletons for string
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the string
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the string
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_string, AST_String, be_type);
- DEF_NARROW_FROM_DECL (be_string);
-
-protected:
- virtual void compute_tc_name (void);
- // overridden method to compute typecode name
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_structure.h b/TAO/TAO_IDL/be_include/be_structure.h
deleted file mode 100644
index d1521ea9d25..00000000000
--- a/TAO/TAO_IDL/be_include/be_structure.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_structure.h
-//
-// = DESCRIPTION
-// Extension of class AST_Structure that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_STRUCTURE_H)
-#define BE_STRUCTURE_H
-
-/*
- * BE_Structure
- */
-class be_structure : public virtual AST_Structure,
- public virtual be_scope,
- public virtual be_type
-{
-public:
- // =Operations
-
- be_structure (void);
- // default constructor
-
- be_structure (UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the struct
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the struct
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the struct
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the struct
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the struct
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the struct
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int member_count (void);
- // return the count of members
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_structure, AST_Structure, be_scope, be_type);
- DEF_NARROW_FROM_DECL (be_structure);
- DEF_NARROW_FROM_SCOPE (be_structure);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-
-private:
- //=helper
-
- int compute_member_count (void);
- // count the number of members
-
- int member_count_;
- // number of members
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_sunsoft.h b/TAO/TAO_IDL/be_include/be_sunsoft.h
deleted file mode 100644
index 7dc6c512fe3..00000000000
--- a/TAO/TAO_IDL/be_include/be_sunsoft.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_sunsoft.h
-//
-// = DESCRIPTION
-// SunSoft specific backend output generation
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_HELPER_H)
-#define TAO_BE_HELPER_H
-
-class TAO_SunSoft_OutStream : public TAO_OutStream
-{
- // =TITLE
- // TAO_SunSoft_OutStream
- // =DESCRIPTION
- // Backend specific to SunSoft AST nodes
-public:
- TAO_SunSoft_OutStream (void);
- // constructor
-
- ~TAO_SunSoft_OutStream (void);
- // destuctor
-
- virtual TAO_OutStream &print (Identifier *id);
- // output the SunSoft IDL Identifier Node
-
- virtual TAO_OutStream &print (UTL_IdList *idl);
- // output the SunSoft IDL UTL_IdList Node which is usually used to maintain a
- // scoped name
-
- virtual TAO_OutStream &print (AST_Expression *expr);
- // output the contents of the AST_Expression node
-};
-
-#endif // if !defined
diff --git a/TAO/TAO_IDL/be_include/be_type.h b/TAO/TAO_IDL/be_include/be_type.h
deleted file mode 100644
index 88632350609..00000000000
--- a/TAO/TAO_IDL/be_include/be_type.h
+++ /dev/null
@@ -1,122 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_type.h
-//
-// = DESCRIPTION
-// Extension of class AST_Type that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_TYPE_H)
-#define BE_TYPE_H
-
-class TAO_OutStream;
-
-/*
- * BE_Type
- */
-class be_type : public virtual AST_Type,
- public virtual be_decl
-{
-public:
- // =Operations
-
- be_type (void);
- // default constructor
-
- be_type (AST_Decl::NodeType nt, UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual ~be_type (void);
-
- virtual int gen_client_header (void) = 0;
- // Generates the client-side header information for the type
-
- virtual int gen_client_stubs (void) = 0;
- // Generates the client-side stubs for the type
-
- virtual int gen_server_header (void) = 0;
- // Generates the server-side header information for the type
-
- virtual int gen_server_skeletons (void) = 0;
- // Generates the server-side skeletons for the type
-
- virtual int gen_client_inline (void) = 0;
- // Generates the client-side inline for the type
-
- virtual int gen_server_inline (void) = 0;
- // Generates the server-side inlines for the type
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- virtual int gen_typecode (void) = 0;
- // generate the typecode description
-
- virtual long tc_size (void) = 0;
- // return typecode size
-
- UTL_ScopedName *tc_name (void);
- // return the typecode name
-
- virtual const char *nested_type_name (be_decl *d, const char *suffix = 0);
- // type name of a node used when generating declarations
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // Different types have different mappings as return values, for
- // instance interfaces are returned by reference (_ptr), but basic
- // types by value.
- // Typedefs are tricky, their mapping depend on the real type they
- // are aliasing, but the name should be the typedef name, hence
- // typedefs delegate on their base type, but pass their nodes down
- // so the real name can be generated; hence the <type> parameter.
- // This method writes the type as a return value on the stream.
-
- virtual AST_Decl::NodeType base_node_type (void) const;
- // Typedefs are tricky to handle, in many points their mapping
- // depend on base type they are aliasing. Since typedefs can be
- // recursive simply using "base_type->node_type()" will not work, so
- // the most "unaliased" type is needed.
-
- // Visiting
- virtual int accept (be_visitor* visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_type, AST_Type, be_decl);
- DEF_NARROW_FROM_DECL (be_type);
-
-protected:
- virtual void compute_tc_name (void);
- // computes the fully scoped typecode name
-
- UTL_ScopedName *tc_name_;
- // typecode name
-
- char *type_name_;
- // type name (this uses the ACE NESTED macro)
-
- char *nested_type_name_;
- // for the corresponding method.
-};
-
-#endif // end of if !defined
diff --git a/TAO/TAO_IDL/be_include/be_typedef.h b/TAO/TAO_IDL/be_include/be_typedef.h
deleted file mode 100644
index 3afda4d7125..00000000000
--- a/TAO/TAO_IDL/be_include/be_typedef.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_typedef.h
-//
-// = DESCRIPTION
-// Extension of class AST_typedef that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_TYPEDEF_H)
-#define BE_TYPEDEF_H
-
-/*
- * BE_Typedef
- */
-class be_typedef : public virtual AST_Typedef,
- public virtual be_type
-{
-public:
- // =Operations
-
- be_typedef (void);
- // default constructor
-
- be_typedef (AST_Type *bt, UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- be_type *primitive_base_type (void);
- // return the most primitive base type by traversing the chain of typedefed
- // base types
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the typedef
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the typedef
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the typedef
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the typedef
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the typedef
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the typedef
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual AST_Decl::NodeType base_node_type (void) const;
- // Return the most "unaliased" type node for the base type (see
- // be_type.h).
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_typedef, AST_Typedef, be_type);
- DEF_NARROW_FROM_DECL (be_typedef);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_union.h b/TAO/TAO_IDL/be_include/be_union.h
deleted file mode 100644
index 8d9729a74cf..00000000000
--- a/TAO/TAO_IDL/be_include/be_union.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_union.h
-//
-// = DESCRIPTION
-// Extension of class AST_Union that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_UNION_H)
-#define BE_UNION_H
-
-/*
- * BE_Union
- */
-class be_union : public virtual AST_Union,
- public virtual be_scope,
- public virtual be_type
-{
-public:
- // =Operations
-
- be_union (void);
- // default constructor
-
- be_union(AST_ConcreteType *dt, UTL_ScopedName *n, UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the union
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the union
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the union
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the union
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the union
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the union
-
- virtual int gen_var_defn (void);
- // generate the _var class definition
-
- virtual int gen_var_impl (void);
- // generate the implementation for the _var class
-
- virtual int gen_out_defn (void);
- // generate the _out class definition
-
- virtual int gen_out_impl (void);
- // generate the _out implementation
-
- virtual int gen_typecode (void);
- // generate the typecode
-
- virtual int gen_encapsulation (void);
- // encapsulation for parameters
-
- virtual long tc_size (void);
- // return typecode size
-
- virtual long tc_encap_len (void);
- // return length of encapsulation
-
- virtual int member_count (void);
- // return the count of members
-
- virtual int default_index (void);
- // return the default index used
-
- virtual int write_as_return (TAO_OutStream *stream,
- be_type *type);
- // write the mapping as a return value on the stream.
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS3 (be_union, AST_Union, be_scope, be_type);
- DEF_NARROW_FROM_DECL(be_union);
- DEF_NARROW_FROM_SCOPE(be_union);
-
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-
-private:
- //=helper
-
- int compute_member_count (void);
- // count the number of members
-
- int compute_default_index (void);
- // count the default index
-
- int member_count_;
- // number of members
-
- int default_index_;
- // default label index (zero based indexing)
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_union_branch.h b/TAO/TAO_IDL/be_include/be_union_branch.h
deleted file mode 100644
index 75393231e57..00000000000
--- a/TAO/TAO_IDL/be_include/be_union_branch.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_union_branch.h
-//
-// = DESCRIPTION
-// Extension of class AST_UnionBranch that provides additional means for C++
-// mapping.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (BE_UNION_BRANCH_H)
-#define BE_UNION_BRANCH_H
-
-/*
- * BE_UnionBranch
- */
-class be_union_branch : public virtual AST_UnionBranch,
- public virtual be_decl
-{
-public:
- // Operations
- be_union_branch (void);
- // default constructor
-
- be_union_branch (AST_UnionLabel *lab, AST_Type *ft, UTL_ScopedName *n,
- UTL_StrList *p);
- // constructor
-
- virtual int gen_client_header (void);
- // Generates the client-side header information for the union branch
-
- virtual int gen_client_stubs (void);
- // Generates the client-side stubs for the union branch
-
- virtual int gen_server_header (void);
- // Generates the server-side header information for the union branch
-
- virtual int gen_server_skeletons (void);
- // Generates the server-side skeletons for the union branch
-
- virtual int gen_client_inline (void);
- // Generates the client-side inline for the union branch
-
- virtual int gen_server_inline (void);
- // Generates the server-side inlines for the union branch
-
- virtual int gen_encapsulation (void);
- // generate the encapsulation
-
- virtual long tc_encap_len (void);
- // return the total byte length of ourselves represented as an encapsulation
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-
- // Narrowing
- DEF_NARROW_METHODS2 (be_union_branch, AST_UnionBranch, be_decl);
- DEF_NARROW_FROM_DECL (be_union_branch);
-protected:
- virtual int compute_size_type (void);
- // compute the size type if it is unknown
-
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_union_label.h b/TAO/TAO_IDL/be_include/be_union_label.h
deleted file mode 100644
index 31b9abbba2a..00000000000
--- a/TAO/TAO_IDL/be_include/be_union_label.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#if !defined(BE_UNION_LABEL_H)
-#define BE_UNION_LABEL_H
-
-/*
- * BE_UnionLabel
- */
-class be_union_label : public virtual AST_UnionLabel {
-public:
- // Operations
- be_union_label();
- be_union_label(AST_UnionLabel::UnionLabel ul, AST_Expression *v);
-
- // Visiting
- virtual int accept (be_visitor *visitor);
-};
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_visitor.h b/TAO/TAO_IDL/be_include/be_visitor.h
deleted file mode 100644
index 9c6c05e1632..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor.h
+++ /dev/null
@@ -1,157 +0,0 @@
-//
-// $Id$
-//
-
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor.h
-//
-// = DESCRIPTION
-// The abstract visitor class. The concrete classes are responsible for code
-// generation.
-//
-// = AUTHOR
-// Copyright 1994-1995 by Sun Microsystems, Inc.
-// and
-// Carlos O'Ryan, Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_H)
-#define TAO_BE_VISITOR_H
-
-class be_decl;
-class be_scope;
-class be_type;
-class be_predefined_type;
-class be_module;
-class be_interface;
-class be_interface_fwd;
-class be_structure;
-class be_exception;
-class be_expression;
-class be_enum;
-class be_operation;
-class be_field;
-class be_argument;
-class be_attribute;
-class be_union;
-class be_union_branch;
-class be_union_label;
-class be_constant;
-class be_enum_val;
-class be_array;
-class be_sequence;
-class be_string;
-class be_typedef;
-class be_root;
-class be_native;
-
-class be_visitor_context;
-class TAO_OutStream;
-
-class be_visitor
-{
- //
- // = TITLE
- // Base class for visitors.
- //
- // = DESCRIPTION
- // To implement code generation we use the "Visitor Pattern", this
- // is the abstract "Visitor".
- // The "visit" methods are not pure virtual to facilitate the
- // implementation of simple visitors that only override a few.
- //
-public:
- virtual ~be_visitor (void);
-
- virtual visit_decl (be_decl *d);
- // visit a decl node
-
- virtual int visit_scope (be_scope *node);
- // visit the scope
-
- virtual int visit_type (be_type *node);
- // visit the type
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit the predefined type
-
- virtual int visit_module (be_module *node);
- // visit module
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface_fwd
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_exception (be_exception *node);
- // visit exception
-
- virtual int visit_expression (be_expression *node);
- // visit expression
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_operation (be_operation *node);
- // visit an operation
-
- virtual int visit_field (be_field *node);
- // visit a field
-
- virtual int visit_argument (be_argument *node);
- // visit argument
-
- virtual int visit_attribute (be_attribute *node);
- // visit an attribute
-
- virtual int visit_union (be_union *node);
- // visit union
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit union branch
-
- virtual int visit_union_label (be_union_label *node);
- // visit union label
-
- virtual int visit_constant (be_constant *node);
- // visit a constant
-
- virtual int visit_enum_val (be_enum_val *node);
- // visit enum val
-
- virtual int visit_array (be_array *node);
- // visit an array
-
- virtual int visit_sequence (be_sequence *node);
- // visit a sequence
-
- virtual int visit_string (be_string *node);
- // visit a string
-
- virtual int visit_typedef (be_typedef *node);
- // visit a typedef
-
- virtual int visit_root (be_root *node);
- // visit a root
-
- virtual int visit_native (be_native *node);
- // visit a native
-
-protected:
- be_visitor (void);
- // constructor is protected
-
-};
-
-#endif // TAO_BE_VISITOR_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_args.h b/TAO/TAO_IDL/be_include/be_visitor_args.h
deleted file mode 100644
index 78ceb5b70b2..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_args.h
+++ /dev/null
@@ -1,574 +0,0 @@
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_args.h
-//
-// = DESCRIPTION
-// Visitors for generation of code for Arguments
-//
-// = AUTHOR
-// Aniruddha Gokhale and Carlos O' Ryan
-//
-// ============================================================================
-
-#ifndef _BE_VISITOR_ARGS_H
-#define _BE_VISITOR_ARGS_H
-
-#include "be_visitor_decl.h"
-
-class be_visitor_args : public be_visitor_decl
-{
- //
- // = TITLE
- // Generates the code for arguments output.
- //
- // = DESCRIPTION
- // At several stages in the code generation a node of type
- // "be_operation" is visited, and the code for its arguments must
- // be generated.
- // Sometimes the argument declarations must be generated (such as
- // in the class declaration), other the arguments names (such as
- // in method invocations).
- // This class implements some common functionality required across all
- // argument visitors
- //
-public:
- be_visitor_args (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args (void);
- // destructor
-
- //= helper
- virtual const char *type_name (be_type *type, const char *suffix=0);
- // helper that produces either a nested name for header files or full name
- // for others
-
- virtual AST_Argument::Direction direction (void);
- // return the direction of the argument node
-
- virtual int visit_argument (be_argument *node);
- // must be overridden by derived classes
-};
-
-class be_visitor_args_arglist : public be_visitor_args
-{
- //
- // = TITLE
- // Generates the code for arguments output.
- //
- // = DESCRIPTION
- // At several stages in the code generation a node of type
- // "be_operation" is visited, and the code for its arguments must
- // be generated.
- // Sometimes the argument declarations must be generated (such as
- // in the class declaration), other the arguments names (such as
- // in method invocations).
- // This class implements the declaration output, in other words,
- // it outputs both the arguments and their types.
- //
-public:
- be_visitor_args_arglist (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_arglist (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_native (be_native *node);
- // visit native node
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_pre_docall_cs
-// ************************************************************
-class be_visitor_args_pre_docall_cs : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_docall_cs
- //
- // = DESCRIPTION
- // Code to be generated when making the do_static_call
- //
-public:
- be_visitor_args_pre_docall_cs (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_pre_docall_cs (void);
- // destructor
-
- virtual int void_return_type (void);
- // return true if the operation return type is void
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_docall_cs
-// ************************************************************
-class be_visitor_args_docall_cs : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_docall_cs
- //
- // = DESCRIPTION
- // Code to be generated when making the do_static_call
- //
-public:
- be_visitor_args_docall_cs (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_docall_cs (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_post_docall_cs
-// ************************************************************
-class be_visitor_args_post_docall_cs : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_post_docall_cs
- //
- // = DESCRIPTION
- // Code to be generated after the do_static_call is done
- //
-public:
- be_visitor_args_post_docall_cs (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_post_docall_cs (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-};
-
-// ************************************************************
-// class be_visitor_args_vardecl_ss
-// ************************************************************
-class be_visitor_args_vardecl_ss : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_vardecl_ss
- //
- // = DESCRIPTION
- // Visitor for variable declaration for argument
- //
-public:
- be_visitor_args_vardecl_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_vardecl_ss (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_pre_upcall_ss
-// ************************************************************
-class be_visitor_args_pre_upcall_ss : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_upcall_ss
- //
- // = DESCRIPTION
- // Visitor for passing argument to the upcall
- //
-public:
- be_visitor_args_pre_upcall_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_pre_upcall_ss (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_upcall_ss
-// ************************************************************
-class be_visitor_args_upcall_ss : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_upcall_ss
- //
- // = DESCRIPTION
- // Visitor for passing argument to the upcall
- //
-public:
- be_visitor_args_upcall_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_upcall_ss (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
-};
-
-// ************************************************************
-// class be_visitor_args_marshal_ss
-// ************************************************************
-class be_visitor_args_marshal_ss : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_marshal_ss
- //
- // = DESCRIPTION
- // Visitor for passing argument to the marshaling/demarshaling routine
- //
-public:
- be_visitor_args_marshal_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_marshal_ss (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_post_upcall_ss
-// ************************************************************
-class be_visitor_args_post_upcall_ss : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_post_upcall_ss
- //
- // = DESCRIPTION
- // Visitor for post processing after upcall
- //
-public:
- be_visitor_args_post_upcall_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_post_upcall_ss (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-// ************************************************************
-// class be_visitor_args_post_marshal_ss
-// ************************************************************
-class be_visitor_args_post_marshal_ss : public be_visitor_args
-{
- //
- // = TITLE
- // be_visitor_args_post_marshal_ss
- //
- // = DESCRIPTION
- // Visitor for post processing after marshal
- //
-public:
- be_visitor_args_post_marshal_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_args_post_marshal_ss (void);
- // destructor
-
- virtual int visit_argument (be_argument *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the argument
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-#endif // _BE_VISITOR_ARGS_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_attribute.h b/TAO/TAO_IDL/be_include/be_visitor_attribute.h
deleted file mode 100644
index 6db40e2a693..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_attribute.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_attribute.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Attribute class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_ATTRIBUTE_H)
-#define TAO_BE_VISITOR_ATTRIBUTE_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-// ************************************************************
-// Attribute visitor
-// ************************************************************
-
-class be_visitor_attribute : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_attribute
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate code for attributes. We have one
- // class for mapping into the client and server.
- //
- //
-public:
- be_visitor_attribute (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_attribute (void);
- // destructor
-
- virtual int visit_attribute (be_attribute *node);
- // visit attribute. We provide code for this method in the derived class
-
-};
-
-
-#endif
diff --git a/TAO/TAO_IDL/be_include/be_visitor_constant.h b/TAO/TAO_IDL/be_include/be_visitor_constant.h
deleted file mode 100644
index 2f2902f844d..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_constant.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- C++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_constant.h
-//
-// = DESCRIPTION
-// Concrete visitor for the constant class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_CONSTANT_H)
-#define TAO_BE_VISITOR_CONSTANT_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_constant_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_constant_ch
- //
- // = DESCRIPTION
- // This is the visitor for constant for the header file
- //
- //
-public:
- be_visitor_constant_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_constant_ch (void);
- // destructor
-
- virtual int visit_constant (be_constant *node);
- // visit constant.
-
-};
-
-class be_visitor_constant_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_constant_cs
- //
- // = DESCRIPTION
- // This is the visitor for constant for the impl file
- //
- //
-public:
- be_visitor_constant_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_constant_cs (void);
- // destructor
-
- virtual int visit_constant (be_constant *node);
- // visit constant
-
-};
-
-#endif // TAO_BE_VISITOR_CONSTANT_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_context.h b/TAO/TAO_IDL/be_include/be_visitor_context.h
deleted file mode 100644
index 399f59137cf..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_context.h
+++ /dev/null
@@ -1,226 +0,0 @@
-//
-// $Id$
-//
-
-/* -*- C++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_context.h
-//
-// = DESCRIPTION
-// This class serves to provide all the necessary context information to the
-// visitor as it generates code. This may include the scope inside which the
-// code is generated, the output file that is being used, and others. This
-// context information will be passed to the abstract/concrete visitor
-// factory which in turn will use it to construct the right visitor.
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_CONTEXT_H)
-#define TAO_BE_VISITOR_CONTEXT_H
-
-class be_visitor_context
-{
-public:
- be_visitor_context (void);
- // default constructor
-
- be_visitor_context (const be_visitor_context &ctx);
- // default constructor
-
- ~be_visitor_context (void);
- // destructor
-
- be_visitor_context &operator= (const be_visitor_context &ctx);
- // assignment operator
-
- // =helpers
-
- void stream (TAO_OutStream *os);
- // set the output stream
-
- TAO_OutStream *stream (void);
- // get the stream
-
- void scope (be_decl *scope);
- // set the scope
-
- be_decl *scope (void);
- // get the scope in which code will be generated
-
- void node (be_decl *node);
- // current node being visited
-
- be_decl *node (void);
- // node being visited
-
- void state (TAO_CodeGen::CG_STATE);
- // code generation state
-
- TAO_CodeGen::CG_STATE state (void);
- // return the code generation state
-
- void alias (be_typedef *node);
- // set the alias node (if any)
-
- be_typedef *alias (void);
- // return the aliased node (if any)
-
- void tdef (be_typedef *node);
- // set the typedef node (if any)
-
- be_typedef *tdef (void);
- // return the typedef node (if any)
-
- void attribute (be_attribute *attr);
- // set the attribute node if any
-
- be_attribute *attribute (void);
- // get the attribute node
-
- void exception (idl_bool);
- // is it the special ctor for exceptions?
-
- idl_bool exception (void);
- // is it the special ctor for exceptions?
-
- void comma (idl_bool);
- // scope supoorts generation of comma after each element
-
- idl_bool comma (void);
- // are we supposed to generate a comma?
-
- // = helpers
-
- // visitors may need the actual type of the node stored in this context. We
- // could have kept separate nodes but that would have increased the size of
- // the context class by a large extent. So we will rely on the
- // "narrow_from_decl" approach
-
- // two types of helpers are provided here. One of them returns the node as
- // the desired actual type. The other returns the scope as the desired type.
-
- be_argument *be_node_as_argument (void);
- // return the node as argument if possible
-
- be_array *be_node_as_array (void);
- // return the node as array if possible
-
- be_attribute *be_node_as_attribute (void);
- // return the node as attribute if possible
-
- be_constant *be_node_as_constant (void);
- // return the node as constant if possible
-
- be_enum *be_node_as_enum (void);
- // return the node as enum if possible
-
- be_enum_val *be_node_as_enum_val (void);
- // return the node as enum_val if possible
-
- be_exception *be_node_as_exception (void);
- // return the node as exception if possible
-
- be_field *be_node_as_field (void);
- // return the node as field if possible
-
- be_interface *be_node_as_interface (void);
- // return the node as interface if possible
-
- be_interface_fwd *be_node_as_interface_fwd (void);
- // return the node as interface_fwd if possible
-
- be_module *be_node_as_module (void);
- // return the node as module if possible
-
- be_operation *be_node_as_operation (void);
- // return the node as operation if possible
-
- be_predefined_type *be_node_as_predefined_type (void);
- // return the node as predefined_type if possible
-
- be_root *be_node_as_root (void);
- // return the node as root if possible
-
- be_sequence *be_node_as_sequence (void);
- // return the node as sequence if possible
-
- be_string *be_node_as_string (void);
- // return the node as string if possible
-
- be_structure *be_node_as_structure (void);
- // return the node as structure if possible
-
- be_typedef *be_node_as_typedef (void);
- // return the node as typedef if possible
-
- be_union *be_node_as_union (void);
- // return the node as union if possible
-
- be_union_branch *be_node_as_union_branch (void);
- // return the node as union_branch if possible
-
- // for scope
-
- be_enum *be_scope_as_enum (void);
- // return the scope as enum if possible
-
- be_exception *be_scope_as_exception (void);
- // return the scope as exception if possible
-
- be_interface *be_scope_as_interface (void);
- // return the scope as interface if possible
-
- be_module *be_scope_as_module (void);
- // return the scope as module if possible
-
- be_operation *be_scope_as_operation (void);
- // return the scope as operation if possible
-
- be_root *be_scope_as_root (void);
- // return the scope as root if possible
-
- be_structure *be_scope_as_structure (void);
- // return the scope as structure if possible
-
- be_union *be_scope_as_union (void);
- // return the scope as union if possible
-
-private:
- TAO_CodeGen::CG_STATE state_;
- // code generation state
-
- TAO_OutStream *os_;
- // current output stream
-
- be_decl *scope_;
- // current scope in which code is generated
-
- be_decl *node_;
- // current node
-
- be_typedef *alias_;
- // aliased node used as a scoped name to define IDL types.
-
- be_typedef *tdef_;
- // typedef node
-
- be_attribute *attr_;
- // attribute node stored here while generating its code
-
- idl_bool exception_;
- // is it the special ctor for exceptions?
-
- idl_bool comma_;
- // whether scope should generate a comma after every element
-};
-
-
-#endif /* BE_VISITOR_CONTEXT_H */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_decl.h b/TAO/TAO_IDL/be_include/be_visitor_decl.h
deleted file mode 100644
index 4c8f575cacd..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_decl.h
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// $Id$
-//
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_decl.h
-//
-// = DESCRIPTION
-// Concrete visitor for the base "BE_Decl" node
-//
-// = AUTHOR
-// Aniruddha Gokhale and Carlos O'Ryan
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_DECL_H)
-#define TAO_BE_VISITOR_DECL_H
-
-#include "be_visitor.h"
-
-class be_visitor_decl : public be_visitor
-{
- //
- // = TITLE
- // be_visitor_decl
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_decl node. Its only purpose is to
- // maintain state information for the derived visitor
- //
-public:
- be_visitor_decl (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_decl (void);
- // destructor
-
-protected:
- // using a protected mechanism will allow derived visitors to access this
- // information
-
- be_visitor_context *ctx_;
- // any context information required by the visitor
-};
-
-
-#endif // TAO_BE_VISITOR_DECL_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_enum.h b/TAO/TAO_IDL/be_include/be_visitor_enum.h
deleted file mode 100644
index 59a6aff8ab6..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_enum.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_enum.h
-//
-// = DESCRIPTION
-// Concrete visitor for the enum class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_ENUM_H)
-#define TAO_BE_VISITOR_ENUM_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_enum_ch : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_enum_ch
- //
- // = DESCRIPTION
- // This is the base visitor for enum for the header file
- //
- //
-public:
- be_visitor_enum_ch (be_visitor_context *ctx);
- // conenumor
-
- ~be_visitor_enum_ch (void);
- // deenumor
-
- virtual int visit_enum (be_enum *node);
- // visit enum.
-
- // =visit operations on syntactically valid elements in our scope
-
- virtual int visit_enum_val (be_enum_val *node);
- // visit enum_val
-
- // = helper
-
- virtual int post_process (void);
- // generate a comma after each element is processed
-};
-
-class be_visitor_enum_cs : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_enum_cs
- //
- // = DESCRIPTION
- // This is the visitor for enum for the impl file
- //
- //
-public:
- be_visitor_enum_cs (be_visitor_context *ctx);
- // conenumor
-
- ~be_visitor_enum_cs (void);
- // deenumor
-
- virtual int visit_enum (be_enum *node);
- // visit enum and generate the typecode
-
-};
-
-#endif // TAO_BE_VISITOR_ENUM_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_exception.h b/TAO/TAO_IDL/be_include/be_visitor_exception.h
deleted file mode 100644
index 627fd708b5f..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_exception.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_exception.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Exception class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_EXCEPTION_H)
-#define TAO_BE_VISITOR_EXCEPTION_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_exception : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_exception
- //
- // = DESCRIPTION
- // This is the base visitor for exception
- //
- //
-public:
- be_visitor_exception (be_visitor_context *ctx);
- // ctor
-
- ~be_visitor_exception (void);
- // dtor
-
- virtual int visit_exception (be_exception *node);
- // visit exception. We provide code for this method in the derived class
-
- // =visit operations on syntactically valid elements in our scope
-
- virtual int visit_field (be_field *node);
- // visit field
-};
-
-class be_visitor_exception_ch : public be_visitor_exception
-{
- //
- // = TITLE
- // be_visitor_exception_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for exception
- //
- //
-public:
- be_visitor_exception_ch (be_visitor_context *ctx);
- // constructureor
-
- ~be_visitor_exception_ch (void);
- // destructureor
-
- virtual int visit_exception (be_exception *node);
- // visit exception. We provide code for this method in the derived class
-
-};
-
-class be_visitor_exception_ci : public be_visitor_exception
-{
- //
- // = TITLE
- // be_visitor_exception_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for exception
- //
- //
-public:
- be_visitor_exception_ci (be_visitor_context *ctx);
- // ctor
-
- ~be_visitor_exception_ci (void);
- // dtor
-
- virtual int visit_exception (be_exception *node);
- // visit exception. We provide code for this method in the derived class
-
-};
-
-class be_visitor_exception_cs : public be_visitor_exception
-{
- //
- // = TITLE
- // be_visitor_exception_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for exception
- //
- //
-public:
- be_visitor_exception_cs (be_visitor_context *ctx);
- // ctor
-
- ~be_visitor_exception_cs (void);
- // dtor
-
- virtual int visit_exception (be_exception *node);
- // visit exception. We provide code for this method in the derived class
-
-};
-
-class be_visitor_exception_ctor : public be_visitor_scope
-{
- // =TITLE
- // be_visitor_exception_ctor
- //
- // =DESCRIPTION
- // generation of the special constructor
-public:
- be_visitor_exception_ctor (be_visitor_context *ctx);
- // ctor
-
- ~be_visitor_exception_ctor (void);
- // dtor
-
- virtual int post_process (void);
- // post processing after each element
-
- virtual int visit_exception (be_exception *node);
- // visit exception. We provide code for this method in the derived class
-
- virtual int visit_field (be_field *node);
- // visit the argument node
-
- // =visit all the nodes that can be the types for the field
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-class be_visitor_exception_ctor_assign : public be_visitor_scope
-{
- // =TITLE
- // be_visitor_exception_ctor_assign
- //
- // =DESCRIPTION
- // generation of the assignment statements in
-public:
- be_visitor_exception_ctor_assign (be_visitor_context *ctx);
- // ctor
-
- ~be_visitor_exception_ctor_assign (void);
- // dtor
-
- virtual int visit_exception (be_exception *node);
- // visit exception.
-
- virtual int visit_field (be_field *node);
- // visit the field node
-
- // =visit all the nodes that can be the types for the field
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit the enum node
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef type
-
-};
-
-#endif // TAO_BE_VISITOR_EXCEPTION_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_field.h b/TAO/TAO_IDL/be_include/be_visitor_field.h
deleted file mode 100644
index 9846554bccc..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_field.h
+++ /dev/null
@@ -1,162 +0,0 @@
-//
-// $Id$
-//
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_field.h
-//
-// = DESCRIPTION
-// Concrete visitor for the base "BE_Field" node
-//
-// = AUTHOR
-// Aniruddha Gokhale and Carlos O'Ryan
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_FIELD_H)
-#define TAO_BE_VISITOR_FIELD_H
-
-#include "be_visitor_decl.h"
-
-class be_visitor_field_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_field_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_field node for the client header.
- //
-public:
- be_visitor_field_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_field_ch (void);
- // destructor
-
- virtual int visit_field (be_field *node);
- // visit the field node
-
- // =visit operations on all possible data types that a field can be
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit enum type
-
- virtual int visit_interface (be_interface *node);
- // visit interface type
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward type
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedefed type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-class be_visitor_field_ci : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_field_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_field node for the client inline
- // file
- //
-public:
- be_visitor_field_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_field_ci (void);
- // destructor
-
- virtual int visit_field (be_field *node);
- // visit the field node
-
- // =visit operations on all possible data types that a field can be and for
- // which inline code must be generated
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedefed type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-class be_visitor_field_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_field_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_field node for the client stubs
- // file
- //
-public:
- be_visitor_field_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_field_cs (void);
- // destructor
-
- virtual int visit_field (be_field *node);
- // visit the field node
-
- // =visit operations on all possible data types that a field can be and impl
- // code must be generated
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit enum type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedefed type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-#endif // TAO_BE_VISITOR_FIELD_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface.h b/TAO/TAO_IDL/be_include/be_visitor_interface.h
deleted file mode 100644
index c649c3a5fc2..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_interface.h
+++ /dev/null
@@ -1,257 +0,0 @@
-
-// $Id$
-//
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_interface.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Interface class
-//
-// = AUTHOR
-// Carlos O'Ryan and Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_INTERFACE_H)
-#define TAO_BE_VISITOR_INTERFACE_H
-
-#include "be_visitor_scope.h"
-
-
-// = DESCRIPTION
-// Interface code generation is complex, the client stubs require
-// two different class and the server also require other two.
-// Only one of them includes whatever nested typedefs, exceptions
-// and or structures are defined in the interface.
-// To break this complexity a different visitor is used for each
-// case.
-//
-// = NOTE
-// Visitors were added recently into the compiler, so some
-// code is still generated using the old "state oriented" approach;
-// notably only the _collocated class is actually generated using
-// the visitor, in the other cases (the interface class and the
-// skeleton class) we still call back the old code generation
-// methods.
-//
-
-class be_visitor_interface : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_interface
- //
- // = DESCRIPTION
- // This is a concrete visitor for interface that abstracts all common tasks
- //
-
-public:
- be_visitor_interface (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // visit the interface node
-
- // =visit methods on all elements syntactically valid in a Interface scope
-
- virtual int visit_attribute (be_attribute *node);
- // visit attribute
-
- virtual int visit_constant (be_constant *node);
- // visit a constant
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_exception (be_exception *node);
- // visit an exception
-
- virtual int visit_operation (be_operation *node);
- // visit operation
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_union (be_union *node);
- // visit a union
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef node
-
-};
-
-// we need derived interface visitors for the client and server header files. For
-// the others, they use the default interface visitor
-
-class be_visitor_interface_ch : public be_visitor_interface
-{
- //
- // = TITLE
- // be_visitor_interface_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for interface
- //
- //
-public:
- be_visitor_interface_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_ch (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // set the right context and make a visitor
-
-};
-
-class be_visitor_interface_ci : public be_visitor_interface
-{
- //
- // = TITLE
- // be_visitor_interface_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for interface
- //
- //
-public:
- be_visitor_interface_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_ci (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // set the right context and make a visitor
-
-};
-
-class be_visitor_interface_cs : public be_visitor_interface
-{
- //
- // = TITLE
- // be_visitor_interface_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for interface
- //
- //
-public:
- be_visitor_interface_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_cs (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // set the right context and make a visitor
-};
-
-class be_visitor_interface_sh : public be_visitor_interface
-{
- //
- // = TITLE
- // be_visitor_interface_sh
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for interface
- //
- //
-public:
- be_visitor_interface_sh (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_sh (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // set the right context and make a visitor
-};
-
-class be_visitor_interface_si : public be_visitor_interface
-{
- //
- // = TITLE
- // be_visitor_interface_si
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server inline for interface
- //
- //
-public:
- be_visitor_interface_si (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_si (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // set the right context and make a visitor
-};
-
-class be_visitor_interface_ss : public be_visitor_interface
-{
- //
- // = TITLE
- // be_visitor_interface_ss
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server skeletons for interface
- //
- //
-public:
- be_visitor_interface_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_ss (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // set the right context and make a visitor
-};
-
-class be_visitor_interface_collocated_sh : public be_visitor_interface
-{
- // = TITLE
- // Generate the "collocated" class declaration.
-
-public:
- be_visitor_interface_collocated_sh (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_interface_collocated_sh (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // visit an interface
-
-};
-
-class be_visitor_interface_collocated_ss : public be_visitor_interface
-{
- // = TITLE
- // Generate the "collocated" class declaration.
-
-public:
- be_visitor_interface_collocated_ss (be_visitor_context *ctx);
- // constructor
-
- virtual ~be_visitor_interface_collocated_ss (void);
- // destructor
-
- virtual int visit_interface (be_interface *node);
- // visit interface
-
-};
-
-#endif // _BE_VISITOR_INTERFACE_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h b/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h
deleted file mode 100644
index b24a9942e39..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_interface_fwd.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- C++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_interface_fwd.h
-//
-// = DESCRIPTION
-// Concrete visitor for the interface_fwd class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_INTERFACE_FWD_H)
-#define TAO_BE_VISITOR_INTERFACE_FWD_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_interface_fwd_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_interface_fwd_ch
- //
- // = DESCRIPTION
- // This is the visitor for interface_fwd for the header file
- //
- //
-public:
- be_visitor_interface_fwd_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_fwd_ch (void);
- // destructor
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface_fwd.
-
-};
-
-class be_visitor_interface_fwd_ci : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_interface_fwd_ci
- //
- // = DESCRIPTION
- // This is the visitor for interface_fwd for the inline file
- //
- //
-public:
- be_visitor_interface_fwd_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_interface_fwd_ci (void);
- // destructor
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface_fwd
-
-};
-
-#endif // TAO_BE_VISITOR_INTERFACE_FWD_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_module.h b/TAO/TAO_IDL/be_include/be_visitor_module.h
deleted file mode 100644
index 0a1f64a4496..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_module.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_module.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Module class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_MODULE_H)
-#define TAO_BE_VISITOR_MODULE_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_module : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_module
- //
- // = DESCRIPTION
- // This is a concrete visitor for module that abstracts all common tasks
- //
-
-public:
- be_visitor_module (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_module (void);
- // destructor
-
- // =visit methods on all elements syntactically valid in a Module scope
-
- virtual int visit_constant (be_constant *node);
- // visit a constant
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_exception (be_exception *node);
- // visit an exception
-
- virtual int visit_interface (be_interface *node);
- // visit an interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface
-
- virtual int visit_module (be_module *node);
- // visit a module
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_union (be_union *node);
- // visit a union
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef node
-
-};
-
-// we need derived module visitors for the client and server header files. For
-// the others, they use the default module visitor
-
-class be_visitor_module_ch : public be_visitor_module
-{
- //
- // = TITLE
- // be_visitor_module_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for module
- //
- //
-public:
- be_visitor_module_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_module_ch (void);
- // destructor
-
- virtual int visit_module (be_module *node);
- // visit module. We provide code for this method in the derived class
-
-};
-
-class be_visitor_module_sh : public be_visitor_module
-{
- //
- // = TITLE
- // be_visitor_module_sh
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for module
- //
- //
-public:
- be_visitor_module_sh (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_module_sh (void);
- // destructor
-
- virtual int visit_module (be_module *node);
- // visit module. We provide code for this method in the derived class
-
-};
-
-
-#endif // TAO_BE_VISITOR_MODULE_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_operation.h b/TAO/TAO_IDL/be_include/be_visitor_operation.h
deleted file mode 100644
index d6b66b4c71f..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_operation.h
+++ /dev/null
@@ -1,789 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_operation.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Operation class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_OPERATION_H)
-#define TAO_BE_VISITOR_OPERATION_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-// ************************************************************
-// Operation visitor for client header
-// ************************************************************
-
-class be_visitor_operation_ch : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for operation
- //
- //
-public:
- be_visitor_operation_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_ch (void);
- // destructor
-
- virtual int visit_operation (be_operation *node);
- // visit operation. We provide code for this method in the derived class
-
-};
-
-// ************************************************************
-// Operation visitor for client stubs
-// ************************************************************
-
-class be_visitor_operation_cs : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for operation
- //
- //
-public:
- be_visitor_operation_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_cs (void);
- // destructor
-
- virtual int visit_operation (be_operation *node);
- // visit operation.
-
- virtual int visit_argument (be_argument *node);
- // visit argument to generate ParamData entries
-
- virtual int post_process (void);
- // stuff to output after every member of the scope is handled
-};
-
-// ************************************************************
-// Operation visitor for server header
-// ************************************************************
-
-class be_visitor_operation_sh : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_sh
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for operation
- //
- //
-public:
- be_visitor_operation_sh (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_sh (void);
- // destructor
-
- virtual int visit_operation (be_operation *node);
- // visit operation. We provide code for this method in the derived class
-
-};
-
-// ************************************************************
-// Operation visitor for server skeletons
-// ************************************************************
-
-class be_visitor_operation_ss : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_ss
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server skeletons for operation
- //
- //
-public:
- be_visitor_operation_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_ss (void);
- // destructor
-
- virtual int visit_operation (be_operation *node);
- // visit operation. We provide code for this method in the derived class
-
- virtual int visit_argument (be_argument *node);
- // visit argument to generate ParamData entries
-
- virtual int post_process (void);
- // stuff to output after every member of the scope is handled
-};
-
-// ************************************************************
-// Operation visitor for server header in the collocated class
-// ************************************************************
-
-class be_visitor_operation_collocated_sh : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_collocated_sh
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for operation
- // in the collocated class
- //
- //
-public:
- be_visitor_operation_collocated_sh (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_collocated_sh (void);
- // destructor
-
- virtual int visit_operation (be_operation *node);
- // visit operation node.
-
-};
-
-// *****************************************************************
-// Operation visitor for server skeletons for the collocated class
-// *****************************************************************
-
-class be_visitor_operation_collocated_ss : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_ss
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server skeletons for
- // operation in the collocated class
- //
- //
-public:
- be_visitor_operation_collocated_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_collocated_ss (void);
- // destructor
-
- virtual int visit_operation (be_operation *node);
- // visit operation node.
-
-};
-
-// ***********************************************************************
-// Operation visitor for return types in the signature of the operation
-// ***********************************************************************
-
-class be_visitor_operation_rettype : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_ch
- //
- // = DESCRIPTION
- // This is a visitor to generate operation return types
- //
- //
-public:
- be_visitor_operation_rettype (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_native (be_native *node);
- // visit native type
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ******************************************************************************
-// Operation visitor for argument list - generates parameters in the signature
-// ******************************************************************************
-
-class be_visitor_operation_arglist : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operaion_arglist
- //
- // = DESCRIPTION
- // This is a visitor to generate operation argument list
- //
- //
-public:
- be_visitor_operation_arglist (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_arglist (void);
- // destructor
-
- int visit_operation (be_operation *node);
- // visit the operation
-
- int visit_argument (be_argument *node);
- // visit each argument
-
-};
-
-// ************************************************************
-// Operation visitor for return type variable declaration
-// ************************************************************
-
-class be_visitor_operation_rettype_vardecl_cs :public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_vardecl_cs
- //
- // = DESCRIPTION
- // This is a visitor to generate a variable declaration ofr an operation
- // return type
- //
-public:
- be_visitor_operation_rettype_vardecl_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_vardecl_cs (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ************************************************************
-// Operation visitor for preprocessing before do_static_call is invoked
-// ************************************************************
-
-class be_visitor_operation_rettype_pre_docall_cs :public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_pre_docall_cs
- //
- // = DESCRIPTION
- // This is a visitor to generate any pre processing before the do_static_call is
- // made
- //
-public:
- be_visitor_operation_rettype_pre_docall_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_pre_docall_cs (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ************************************************************
-// Operation visitor for passing return variable to do_static_call
-// ************************************************************
-
-class be_visitor_operation_rettype_docall_cs :public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_docall_cs
- //
- // = DESCRIPTION
- // This is a visitor to generate a variable declaration ofr an operation
- // return type
- //
-public:
- be_visitor_operation_rettype_docall_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_docall_cs (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ************************************************************
-// Operation visitor for postprocessing after do_static_call is invoked
-// ************************************************************
-
-class be_visitor_operation_rettype_post_docall_cs :public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_psot_docall_cs
- //
- // = DESCRIPTION
- // This is a visitor to generate any post processing after the do_static_call is
- // made
- //
-public:
- be_visitor_operation_rettype_post_docall_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_post_docall_cs (void);
- // destructor
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-};
-
-// ************************************************************
-// Operation visitor for returning the return val
-// ************************************************************
-
-class be_visitor_operation_rettype_return_cs :public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_return_cs
- //
- // = DESCRIPTION
- // This is a visitor to generate a variable declaration ofr an operation
- // return type
- //
-public:
- be_visitor_operation_rettype_return_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_return_cs (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ******************************************************************************
-// Visitor for
-// ******************************************************************************
-
-class be_visitor_operation_exceptlist_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operaion_exceptlist_cs
- //
- // = DESCRIPTION
- // This is a visitor to generate operation exception list to be provided to
- // the do_static_call
- //
- //
-public:
- be_visitor_operation_exceptlist_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_exceptlist_cs (void);
- // destructor
-
- int visit_operation (be_operation *node);
- // visit the operation
-
-};
-
-// ************************************************************
-// generic operation visitor for docall, upcall, pre/post
-// ************************************************************
-
-class be_visitor_operation_argument : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_operation_argument
- //
- // = DESCRIPTION
- // This is a visitor to generate a variable declaration ofr an operation
- // return type
- //
-public:
- be_visitor_operation_argument (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_argument (void);
- // destructor
-
- int post_process (void);
- // stuff to o/p after each element of the scope is handled
-
- int visit_operation (be_operation *node);
- // visit the operation
-
- int visit_argument (be_argument *node);
- // visit argument
-
-};
-
-// ************************************************************
-// Operation visitor for return type variable declaration in the server
-// skeleton
-// ************************************************************
-
-class be_visitor_operation_rettype_vardecl_ss :public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_vardecl_ss
- //
- // = DESCRIPTION
- // This is a visitor to generate a variable declaration ofr an operation
- // return type in the server skeleton
- //
-public:
- be_visitor_operation_rettype_vardecl_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_vardecl_ss (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ***********************************************************************
-// Operation visitor for passing return type to the marshal/demarshal routine
-// inside the server skeleton
-// ***********************************************************************
-
-class be_visitor_operation_rettype_marshal_ss : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_marshal_ss
- //
- // = DESCRIPTION
- // This is a visitor to pass return type to the marshal/demarshal routines
- //
- //
-public:
- be_visitor_operation_rettype_marshal_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_marshal_ss (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ***********************************************************************
-// Operation visitor for assignment to return types in an upcall
-// ***********************************************************************
-
-class be_visitor_operation_rettype_assign_ss : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_ch
- //
- // = DESCRIPTION
- // This is a visitor to generate code that assigns to the return type
- // variable in the upcall
- //
- //
-public:
- be_visitor_operation_rettype_assign_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_assign_ss (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-// ***********************************************************************
-// Operation visitor for post upcall processing of return types
-// ***********************************************************************
-
-class be_visitor_operation_rettype_post_upcall_ss : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_operation_rettype_post_upcall_ss
- //
- // = DESCRIPTION
- // This is a visitor for post processing after an upcall
- //
- //
-public:
- be_visitor_operation_rettype_post_upcall_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_operation_rettype_post_upcall_ss (void);
- // destructor
-
- int visit_array (be_array *node);
- // visit an array node
-
- int visit_enum (be_enum *node);
- // visit an enum node
-
- int visit_interface (be_interface *node);
- // visit an interface node
-
- int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface node
-
- int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type node
-
- int visit_sequence (be_sequence *node);
- // visit a sequence node
-
- int visit_string (be_string *node);
- // visit a sequence node
-
- int visit_structure (be_structure *node);
- // visit a structure node
-
- int visit_typedef (be_typedef *node);
- // visit a typedef node
-
- int visit_union (be_union *node);
- // visit a union node
-
-};
-
-#endif // TAO_BE_VISITOR_OPERATION_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_root.h b/TAO/TAO_IDL/be_include/be_visitor_root.h
deleted file mode 100644
index 7d0f4f6a704..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_root.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_root.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Root class
-//
-// = AUTHOR
-// Aniruddha Gokhale and Carlos O'Ryan
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_ROOT_H)
-#define TAO_BE_VISITOR_ROOT_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_root : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_root
- //
- // = DESCRIPTION
- // This is a concrete visitor for root that abstracts all common tasks
- //
-
-public:
- be_visitor_root (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root (void);
- // destructor
-
- virtual int visit_root (be_root *node);
- // visit root
-
- // =visit methods on all elements syntactically valid in a Root scope
-
- virtual int visit_constant (be_constant *node);
- // visit a constant
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_exception (be_exception *node);
- // visit an exception
-
- virtual int visit_interface (be_interface *node);
- // visit an interface
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit an interface
-
- virtual int visit_module (be_module *node);
- // visit a module
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_union (be_union *node);
- // visit a union
-
- virtual int visit_typedef (be_typedef *node);
- // visit the typedef node
-
- // =helper. This is used by derived clases to set the right context
-
- virtual int init (void);
- // will be overridden by derived classes that set the appropriate context
-};
-
-class be_visitor_root_ch : public be_visitor_root
-{
- //
- // = TITLE
- // be_visitor_root_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for root
- //
- //
-public:
- be_visitor_root_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root_ch (void);
- // destructor
-
- virtual int init (void);
- // set the right context and make a visitor
-};
-
-class be_visitor_root_ci : public be_visitor_root
-{
- //
- // = TITLE
- // be_visitor_root_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for root
- //
- //
-public:
- be_visitor_root_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root_ci (void);
- // destructor
-
- virtual int init (void);
- // set the right context and make a visitor
-};
-
-class be_visitor_root_cs : public be_visitor_root
-{
- //
- // = TITLE
- // be_visitor_root_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for root
- //
- //
-public:
- be_visitor_root_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root_cs (void);
- // destructor
-
- virtual int init (void);
- // set the right context and make a visitor
-};
-
-class be_visitor_root_sh : public be_visitor_root
-{
- //
- // = TITLE
- // be_visitor_root_sh
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for root
- //
- //
-public:
- be_visitor_root_sh (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root_sh (void);
- // destructor
-
- virtual int init (void);
- // set the right context and make a visitor
-};
-
-class be_visitor_root_si : public be_visitor_root
-{
- //
- // = TITLE
- // be_visitor_root_si
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server inline for root
- //
- //
-public:
- be_visitor_root_si (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root_si (void);
- // destructor
-
- virtual int init (void);
- // set the right context and make a visitor
-};
-
-class be_visitor_root_ss : public be_visitor_root
-{
- //
- // = TITLE
- // be_visitor_root_ss
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server skeletons for root
- //
- //
-public:
- be_visitor_root_ss (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_root_ss (void);
- // destructor
-
- virtual int init (void);
- // set the right context and make a visitor
-};
-
-
-#endif // TAO_BE_VISITOR_ROOT_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_scope.h b/TAO/TAO_IDL/be_include/be_visitor_scope.h
deleted file mode 100644
index 07796a9b0e2..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_scope.h
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// $Id$
-//
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_scope.h
-//
-// = DESCRIPTION
-// Concrete visitor for the base "BE_Scope" node
-//
-// = AUTHOR
-// Aniruddha Gokhale and Carlos O'Ryan
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_SCOPE_H)
-#define TAO_BE_VISITOR_SCOPE_H
-
-#include "be_visitor.h"
-#include "be_visitor_decl.h"
-
-class be_visitor_scope : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_scope
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_scope node. Its only purpose is to
- // iterate over the elements of the scope
- //
-public:
- be_visitor_scope (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_scope (void);
- // destructor
-
- int visit_scope (be_scope *node);
- // visit scope
-
- virtual int post_process (void);
- // do any processing after every element except the last one of the scope is
- // processed
-};
-
-
-#endif // TAO_BE_VISITOR_SCOPE_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_sequence.h b/TAO/TAO_IDL/be_include/be_visitor_sequence.h
deleted file mode 100644
index 5be601730ac..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_sequence.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-#if !defined (TAO_BE_VISITOR_SEQUENCE_H)
-#define TAO_BE_VISITOR_SEQUENCE_H
-
-#include "be_visitor_decl.h"
-
-class be_visitor_sequence_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_sequence_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for
- // sequences
- //
-public:
- be_visitor_sequence_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_sequence_ch (void);
- // destructor
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence node
-
- virtual int gen_base_sequence_class (be_sequence *node);
- // generate the base sequence class
-
- virtual int gen_var_defn (be_sequence *node);
- // generate the var defn
-
- virtual int gen_out_defn (be_sequence *node);
- // generate the out defn
-};
-
-class be_visitor_sequence_ci : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_sequence_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for
- // sequences. The only purpose is to generate the implementation for the
- // _var and _out classes
- //
-public:
- be_visitor_sequence_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_sequence_ci (void);
- // destructor
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence node
-
- virtual int gen_var_impl (be_sequence *node);
- // generate the var impl
-
- virtual int gen_out_impl (be_sequence *node);
- // generate the out impl
-};
-
-class be_visitor_sequence_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_sequence_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for
- // sequences
- //
-public:
- be_visitor_sequence_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_sequence_cs (void);
- // destructor
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence node
-
- virtual int gen_base_sequence_class (be_sequence *node);
- // generate the base sequence class
-
-};
-
-// =helper visitors to generate the base type and element type
-
-class be_visitor_sequence_base : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_sequence_base
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the template parameters
- // for a TAO_*_Sequence instantiation.
- //
- // = BUGS
- // The class name is misleading, eventually this class could be
- // used to generate code in other files, not only the client
- // header.
- // The visitor factory should provide a factory method that builds
- // this class on the fly.
- //
-public:
- be_visitor_sequence_base (be_visitor_context *ctx);
- // Constructor
-
- ~be_visitor_sequence_base (void);
- // destructor
-
- // = Visitor methods.
- virtual int visit_predefined_type (be_predefined_type *node);
- virtual int visit_interface (be_interface *node);
- virtual int visit_interface_fwd (be_interface_fwd *node);
- virtual int visit_structure (be_structure *node);
- virtual int visit_enum (be_enum *node);
- virtual int visit_exception (be_exception *node);
- virtual int visit_union (be_union *node);
- virtual int visit_array (be_array *node);
- virtual int visit_string (be_string *node);
- virtual int visit_sequence (be_sequence *node);
- virtual int visit_typedef (be_typedef *node);
-
-protected:
- int visit_node (be_type *);
- // helper that does the common job
-
-};
-
-class be_visitor_sequence_buffer_type : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_sequence_buffer_type
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the buffer type
- // for a TAO_*_Sequence instantiation.
- //
-public:
- be_visitor_sequence_buffer_type (be_visitor_context *ctx);
- // Constructor
-
- ~be_visitor_sequence_buffer_type (void);
- // destructor
-
- // = Visitor methods.
- virtual int visit_predefined_type (be_predefined_type *node);
- virtual int visit_interface (be_interface *node);
- virtual int visit_interface_fwd (be_interface_fwd *node);
- virtual int visit_structure (be_structure *node);
- virtual int visit_enum (be_enum *node);
- virtual int visit_exception (be_exception *node);
- virtual int visit_union (be_union *node);
- virtual int visit_array (be_array *node);
- virtual int visit_string (be_string *node);
- virtual int visit_sequence (be_sequence *node);
- virtual int visit_typedef (be_typedef *node);
-
-protected:
- int visit_node (be_type *);
- // helper that does the common job
-
-};
-
-class be_visitor_sequence_elemtype : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_sequence_elemtype
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the return type for the
- // [] operators
- //
- // = NOTES
- // This class may eventually go away when the _var and _out classes are
- // generated using templates
-public:
- be_visitor_sequence_elemtype (be_visitor_context *ctx);
- // Constructor
-
- ~be_visitor_sequence_elemtype (void);
- // destructor
-
- // = Visitors
- virtual int visit_predefined_type (be_predefined_type *node);
- virtual int visit_interface (be_interface *node);
- virtual int visit_interface_fwd (be_interface_fwd *node);
- virtual int visit_structure (be_structure *node);
- virtual int visit_enum (be_enum *node);
- virtual int visit_exception (be_exception *node);
- virtual int visit_union (be_union *node);
- virtual int visit_array (be_array *node);
- virtual int visit_sequence (be_sequence *node);
- virtual int visit_typedef (be_typedef *node);
- virtual int visit_string (be_string *node);
-
-protected:
- int visit_node (be_type *);
- // helper that does the common job
-
-};
-
-#endif /* TAO_BE_VISITOR_SEQUENCE_H */
diff --git a/TAO/TAO_IDL/be_include/be_visitor_structure.h b/TAO/TAO_IDL/be_include/be_visitor_structure.h
deleted file mode 100644
index 5c643d48c23..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_structure.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_structure.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Structure class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_STRUCTURE_H)
-#define TAO_BE_VISITOR_STRUCTURE_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_structure : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_structure
- //
- // = DESCRIPTION
- // This is the base visitor for structure
- //
- //
-public:
- be_visitor_structure (be_visitor_context *ctx);
- // constructureor
-
- ~be_visitor_structure (void);
- // destructureor
-
- virtual int visit_structure (be_structure *node);
- // visit structure. We provide code for this method in the derived class
-
- // =visit operations on syntactically valid elements in our scope
-
- virtual int visit_field (be_field *node);
- // visit field
-};
-
-class be_visitor_structure_ch : public be_visitor_structure
-{
- //
- // = TITLE
- // be_visitor_structure_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for structure
- //
- //
-public:
- be_visitor_structure_ch (be_visitor_context *ctx);
- // constructureor
-
- ~be_visitor_structure_ch (void);
- // destructureor
-
- virtual int visit_structure (be_structure *node);
- // visit structure. We provide code for this method in the derived class
-
-};
-
-class be_visitor_structure_ci : public be_visitor_structure
-{
- //
- // = TITLE
- // be_visitor_structure_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for structure
- //
- //
-public:
- be_visitor_structure_ci (be_visitor_context *ctx);
- // constructureor
-
- ~be_visitor_structure_ci (void);
- // destructureor
-
- virtual int visit_structure (be_structure *node);
- // visit structure. We provide code for this method in the derived class
-
-};
-
-class be_visitor_structure_cs : public be_visitor_structure
-{
- //
- // = TITLE
- // be_visitor_structure_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for structure
- //
- //
-public:
- be_visitor_structure_cs (be_visitor_context *ctx);
- // constructureor
-
- ~be_visitor_structure_cs (void);
- // destructureor
-
- virtual int visit_structure (be_structure *node);
- // visit structure. We provide code for this method in the derived class
-
-};
-
-
-#endif // TAO_BE_VISITOR_STRUCTURE_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_typedef.h b/TAO/TAO_IDL/be_include/be_visitor_typedef.h
deleted file mode 100644
index 270f2aae6a0..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_typedef.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_typedef.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Typedef class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_TYPEDEF_H)
-#define TAO_BE_VISITOR_TYPEDEF_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_typedef : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_typedef
- //
- // = DESCRIPTION
- // This is a concrete visitor for typedef that abstracts all common tasks
- //
-
-public:
- be_visitor_typedef (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_typedef (void);
- // destructor
-
- virtual int visit_typedef (be_typedef *node);
- // must be overridden
-
- // =visit methods on all elements syntactically valid as types that can be
- // typedefed.
-
- virtual int visit_array (be_array *node);
- // visit a array
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type node
-
- virtual int visit_string (be_string *node);
- // visit a typedef
-
- virtual int visit_sequence (be_sequence *node);
- // visit a sequence
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_union (be_union *node);
- // visit a union
-
-};
-
-// we need derived typedef visitors for the client files.
-
-class be_visitor_typedef_ch : public be_visitor_typedef
-{
- //
- // = TITLE
- // be_visitor_typedef_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for typedef
- //
- //
-public:
- be_visitor_typedef_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_typedef_ch (void);
- // destructor
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedef. We provide code for this method in the derived class
-
- // =visit methods on all elements syntactically valid as types that can be
- // typedefed.
-
- virtual int visit_array (be_array *node);
- // visit a array
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type node
-
- virtual int visit_string (be_string *node);
- // visit a typedef
-
- virtual int visit_sequence (be_sequence *node);
- // visit a sequence
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_union (be_union *node);
- // visit a union
-
-};
-
-class be_visitor_typedef_ci : public be_visitor_typedef
-{
- //
- // = TITLE
- // be_visitor_typedef_sh
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for typedef
- //
- //
-public:
- be_visitor_typedef_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_typedef_ci (void);
- // destructor
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedef. We provide code for this method in the derived class
-
- // =visit methods on all elements syntactically valid as types that can be
- // typedefed.
-
- virtual int visit_array (be_array *node);
- // visit a array
-
- virtual int visit_sequence (be_sequence *node);
- // visit a sequence
-
- virtual int visit_structure (be_structure *node);
- // visit a structure
-
- virtual int visit_union (be_union *node);
- // visit a union
-
-};
-
-class be_visitor_typedef_cs : public be_visitor_typedef
-{
- //
- // = TITLE
- // be_visitor_typedef_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the server header for typedef
- //
- //
-public:
- be_visitor_typedef_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_typedef_cs (void);
- // destructor
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedef. We provide code for this method in the derived class
-
-};
-
-
-#endif // TAO_BE_VISITOR_TYPEDEF_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union.h b/TAO/TAO_IDL/be_include/be_visitor_union.h
deleted file mode 100644
index 5ed4437fa2c..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_union.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/* -*- c++ -*- */
-//
-// $Id$
-//
-
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_union.h
-//
-// = DESCRIPTION
-// Concrete visitor for the Union class
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_UNION_H)
-#define TAO_BE_VISITOR_UNION_H
-
-#include "be_visitor.h"
-#include "be_visitor_scope.h"
-
-class be_visitor_union : public be_visitor_scope
-{
- //
- // = TITLE
- // be_visitor_union
- //
- // = DESCRIPTION
- // This is the base visitor for union
- //
- //
-public:
- be_visitor_union (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union (void);
- // destructor
-
- virtual int visit_union (be_union *node);
- // visit union. We provide code for this method in the derived class
-
- // =visit operations on syntactically valid elements in our scope
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit union_branch
-};
-
-class be_visitor_union_ch : public be_visitor_union
-{
- //
- // = TITLE
- // be_visitor_union_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for union
- //
- //
-public:
- be_visitor_union_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_ch (void);
- // destructor
-
- virtual int visit_union (be_union *node);
- // visit union. We provide code for this method in the derived class
-
-};
-
-class be_visitor_union_ci : public be_visitor_union
-{
- //
- // = TITLE
- // be_visitor_union_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for union
- //
- //
-public:
- be_visitor_union_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_ci (void);
- // destructor
-
- virtual int visit_union (be_union *node);
- // visit union. We provide code for this method in the derived class
-
-};
-
-class be_visitor_union_cs : public be_visitor_union
-{
- //
- // = TITLE
- // be_visitor_union_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for union
- //
- //
-public:
- be_visitor_union_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_cs (void);
- // destructor
-
- virtual int visit_union (be_union *node);
- // visit union. We provide code for this method in the derived class
-
-};
-
-class be_visitor_union_discriminant_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_discriminant_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client header for union
- // discriminant
- //
- //
-public:
- be_visitor_union_discriminant_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_discriminant_ch (void);
- // destructor
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type
-
- virtual int visit_typedef (be_typedef *node);
- // visit a typedef node
-};
-
-class be_visitor_union_discriminant_ci : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_discriminant_ci
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client inline for union
- // discriminant
- //
- //
-public:
- be_visitor_union_discriminant_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_discriminant_ci (void);
- // destructor
-
- virtual int visit_enum (be_enum *node);
- // visit an enum
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit a predefined type
-
- virtual int visit_typedef (be_typedef *node);
- // visit a typedef node
-};
-
-class be_visitor_union_discriminant_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_discriminant_cs
- //
- // = DESCRIPTION
- // This is a concrete visitor to generate the client stubs for union
- // discriminant
- //
- //
-public:
- be_visitor_union_discriminant_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_discriminant_cs (void);
- // destructor
-
- virtual int visit_enum (be_enum *node);
- // visit an enum. Required to generate the typecode for an enum definition
- // appearing side the union
-
-};
-
-#endif // TAO_BE_VISITOR_UNION_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor_union_branch.h b/TAO/TAO_IDL/be_include/be_visitor_union_branch.h
deleted file mode 100644
index 780099165eb..00000000000
--- a/TAO/TAO_IDL/be_include/be_visitor_union_branch.h
+++ /dev/null
@@ -1,254 +0,0 @@
-//
-// $Id$
-//
-/* -*- c++ -*- */
-// ============================================================================
-//
-// = LIBRARY
-// TAO IDL
-//
-// = FILENAME
-// be_visitor_union_branch.h
-//
-// = DESCRIPTION
-// Concrete visitor for the base "BE_Union_Branch" node
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#if !defined (TAO_BE_VISITOR_UNION_BRANCH_H)
-#define TAO_BE_VISITOR_UNION_BRANCH_H
-
-#include "be_visitor_decl.h"
-
-class be_visitor_union_branch_public_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_branch_public_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_union_branch node for the client
- // header. This generates the code for the public section of the "union"
- // class
- //
-public:
- be_visitor_union_branch_public_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_branch_public_ch (void);
- // destructor
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit the union_branch node
-
- // =visit operations on all possible data types that a union_branch can be
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit enum type
-
- virtual int visit_interface (be_interface *node);
- // visit interface type
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward type
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedefed type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-class be_visitor_union_branch_private_ch : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_branch_private_ch
- //
- // = DESCRIPTION
- // This is a concrete visitor for the be_union_branch node for the client
- // header. This generates the code for the private section of the "union"
- // class
- //
-public:
- be_visitor_union_branch_private_ch (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_branch_private_ch (void);
- // destructor
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit the union_branch node
-
- // =visit operations on all possible data types that a union_branch can be
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit enum type
-
- virtual int visit_interface (be_interface *node);
- // visit interface type
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward type
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedefed type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-class be_visitor_union_branch_public_ci : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_branch_public_ci
- //
- // = DESCRIPTION
- // This visitor is used to generate the accessors for the members of the
- // union
- //
-public:
- be_visitor_union_branch_public_ci (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_branch_public_ci (void);
- // destructor
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit the union_branch node
-
- // =visit operations on all possible data types that a union_branch can be
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit enum type
-
- virtual int visit_interface (be_interface *node);
- // visit interface type
-
- virtual int visit_interface_fwd (be_interface_fwd *node);
- // visit interface forward type
-
- virtual int visit_predefined_type (be_predefined_type *node);
- // visit predefined type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_typedef (be_typedef *node);
- // visit typedefed type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-class be_visitor_union_branch_public_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_branch_public_cs
- //
- // = DESCRIPTION
- // This visitor is used to generate implementation such as typecodes for
- // constructed types
- //
-public:
- be_visitor_union_branch_public_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_branch_public_cs (void);
- // destructor
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit the union_branch node
-
- // =visit operations on all possible data types that a union_branch can be
-
- virtual int visit_array (be_array *node);
- // visit array type
-
- virtual int visit_enum (be_enum *node);
- // visit enum type
-
- virtual int visit_sequence (be_sequence *node);
- // visit sequence type
-
- virtual int visit_string (be_string *node);
- // visit string type
-
- virtual int visit_structure (be_structure *node);
- // visit structure type
-
- virtual int visit_union (be_union *node);
- // visit union type
-
-};
-
-class be_visitor_union_branch_public_assign_cs : public be_visitor_decl
-{
- //
- // = TITLE
- // be_visitor_union_branch_public_assign_cs
- //
- // = DESCRIPTION
- // This is used to generate the body of the assignment operator and the
- // copy constructor of the union class
- //
-public:
- be_visitor_union_branch_public_assign_cs (be_visitor_context *ctx);
- // constructor
-
- ~be_visitor_union_branch_public_assign_cs (void);
- // destructor
-
- virtual int visit_union_branch (be_union_branch *node);
- // visit the union_branch node
-
-};
-
-#endif // TAO_BE_VISITOR_UNION_BRANCH_H