diff options
Diffstat (limited to 'TAO/TAO_IDL/be_include')
32 files changed, 0 insertions, 3244 deletions
diff --git a/TAO/TAO_IDL/be_include/be.h b/TAO/TAO_IDL/be_include/be.h deleted file mode 100644 index a1ec674be84..00000000000 --- a/TAO/TAO_IDL/be_include/be.h +++ /dev/null @@ -1,120 +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_helper.h" // helper functions -#include "be_state.h" // code generation states -#include "be_codegen.h" // code generator -#include "be_factory.h" // factory - -#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 a20676a1c82..00000000000 --- a/TAO/TAO_IDL/be_include/be_argument.h +++ /dev/null @@ -1,62 +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 - - // 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 2e256fe95b8..00000000000 --- a/TAO/TAO_IDL/be_include/be_array.h +++ /dev/null @@ -1,104 +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 - - 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 - - // 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 -}; - -#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 2461013a402..00000000000 --- a/TAO/TAO_IDL/be_include/be_attribute.h +++ /dev/null @@ -1,61 +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 - - // 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 b7b7dda3543..00000000000 --- a/TAO/TAO_IDL/be_include/be_codegen.h +++ /dev/null @@ -1,351 +0,0 @@ -/* -*- 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_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. - enum CG_STATE - { - // initial state - TAO_INITIAL, - - // emitting code for root - TAO_ROOT_CH, - TAO_ROOT_CI, - TAO_ROOT_CS, - TAO_ROOT_SH, - TAO_ROOT_SI, - TAO_ROOT_SS, - - // 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 the interface - TAO_INTERFACE_CH, - TAO_INTERFACE_CI, - TAO_INTERFACE_CS, - TAO_INTERFACE_SH, - TAO_INTERFACE_SI, - TAO_INTERFACE_SS, - - // emitting code for the constants - TAO_CONSTANT_CH, - TAO_CONSTANT_CI, - TAO_CONSTANT_CS, - TAO_CONSTANT_SH, - TAO_CONSTANT_SI, - TAO_CONSTANT_SS, - - // 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, - - // 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, - - // emitting code for struct and its members - TAO_STRUCT_CH, - TAO_STRUCT_CI, - TAO_STRUCT_CS, - TAO_STRUCT_SH, - TAO_STRUCT_SI, - TAO_STRUCT_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 code for enums - TAO_ENUM_CH, - TAO_ENUM_CI, - TAO_ENUM_CS, - TAO_ENUM_SH, - TAO_ENUM_SI, - TAO_ENUM_SS, - - // emitting code for array defn - 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 strings - TAO_STRING_CH, - TAO_STRING_CI, - TAO_STRING_CS, - TAO_STRING_SH, - TAO_STRING_SI, - TAO_STRING_SS, - - // emitting code for an operation. - TAO_OPERATION_CH, - TAO_OPERATION_CI, - TAO_OPERATION_RETURN_TYPE_CS, - TAO_OPERATION_RETVAL_DECL_CS, - TAO_OPERATION_RETVAL_EXCEPTION_CS, - TAO_OPERATION_RETVAL_RETURN_CS, - TAO_OPERATION_SH, - TAO_OPERATION_SI, - TAO_OPERATION_RETVAL_DECL_SS, - TAO_OPERATION_RETVAL_ASSIGN_SS, - TAO_OPERATION_RESULT_SS, - - // emitting code for arguments of an operation. No distinction between - // headers, inclines, stubs. - TAO_ARGUMENT_CH, - TAO_ARGUMENT_CI, - TAO_ARGUMENT_CS, - TAO_ARGUMENT_DOCALL_CS, - TAO_ARGUMENT_PRE_DOCALL_CS, - TAO_ARGUMENT_POST_DOCALL_CS, - TAO_ARGUMENT_SH, - TAO_ARGUMENT_SI, - TAO_ARGUMENT_SS, - TAO_ARGUMENT_VARDECL_SS, - TAO_ARGUMENT_UPCALL_SS, - TAO_ARGUMENT_PRE_UPCALL_SS, - TAO_ARGUMENT_POST_UPCALL_SS, - - // emitting code for attributes - 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_RETVAL_DECL_SS, - TAO_ATTRIBUTE_RETVAL_ASSIGN_SS, - 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 typedefs - TAO_TYPEDEF_CH, - TAO_TYPEDEF_CI, - TAO_TYPEDEF_CS, - TAO_TYPEDEF_SH, - TAO_TYPEDEF_SI, - TAO_TYPEDEF_SS - }; - - TAO_CodeGen (void); - // Constructor - - ~TAO_CodeGen (void); - // destructor - - 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 - - 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 -}; - -typedef ACE_Singleton<TAO_CodeGen, ACE_SYNCH_RECURSIVE_MUTEX> TAO_CODEGEN; -// Singleton instance of the BE code generator - - -#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 0bbc21f1f9f..00000000000 --- a/TAO/TAO_IDL/be_include/be_constant.h +++ /dev/null @@ -1,68 +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 - - // Narrowing - DEF_NARROW_METHODS2 (be_constant, AST_Constant, be_decl); - DEF_NARROW_FROM_DECL (be_constant); - -private: - char *exprtype_to_string (void); - // returns the appropriate type -}; - -#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 cc1c2f317ce..00000000000 --- a/TAO/TAO_IDL/be_include/be_decl.h +++ /dev/null @@ -1,156 +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; - -/* - * 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) - - // 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 8929819a793..00000000000 --- a/TAO/TAO_IDL/be_include/be_enum.h +++ /dev/null @@ -1,88 +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 - - // 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 4a52ea0501f..00000000000 --- a/TAO/TAO_IDL/be_include/be_enum_val.h +++ /dev/null @@ -1,68 +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 - - // 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 55391e0bfde..00000000000 --- a/TAO/TAO_IDL/be_include/be_exception.h +++ /dev/null @@ -1,70 +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 - - // 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 ae3d90d2164..00000000000 --- a/TAO/TAO_IDL/be_include/be_expression.h +++ /dev/null @@ -1,43 +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); -}; - -#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 a45affafb94..00000000000 --- a/TAO/TAO_IDL/be_include/be_factory.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- 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_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 d8af5c0ba61..00000000000 --- a/TAO/TAO_IDL/be_include/be_field.h +++ /dev/null @@ -1,71 +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 - - // 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 2b8c91cabfa..00000000000 --- a/TAO/TAO_IDL/be_include/be_generator.h +++ /dev/null @@ -1,160 +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); -}; - -#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 32af2898748..00000000000 --- a/TAO/TAO_IDL/be_include/be_helper.h +++ /dev/null @@ -1,133 +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 -// -// ============================================================================ - -#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); -}; - -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 - - TAO_OutStream &operator<< (const TAO_NL nl); - // 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 584a1bae6ce..00000000000 --- a/TAO/TAO_IDL/be_include/be_interface.h +++ /dev/null @@ -1,134 +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> - - 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 - - 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 - - // Narrowing - DEF_NARROW_METHODS3 (be_interface, AST_Interface, be_scope, be_type); - DEF_NARROW_FROM_DECL (be_interface); - DEF_NARROW_FROM_SCOPE (be_interface); - -private: - 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 - - int gen_optable_entries (be_interface *); - // generate the operation table entries - - static int is_a_helper (be_interface *, be_interface *, TAO_OutStream *os); - // helper method passed to the template method - - 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 - - char *full_skel_name_; // fully scoped skeleton name - - int skel_count_; // number of static skeletons in the operation table -}; - -#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 4bec2a61528..00000000000 --- a/TAO/TAO_IDL/be_include/be_interface_fwd.h +++ /dev/null @@ -1,85 +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 - - // 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_module.h b/TAO/TAO_IDL/be_include/be_module.h deleted file mode 100644 index da1d76aeea2..00000000000 --- a/TAO/TAO_IDL/be_include/be_module.h +++ /dev/null @@ -1,69 +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 - - // 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_operation.h b/TAO/TAO_IDL/be_include/be_operation.h deleted file mode 100644 index 75b3cb091a7..00000000000 --- a/TAO/TAO_IDL/be_include/be_operation.h +++ /dev/null @@ -1,78 +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 - -/* - * 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 - - // 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_count (void); - // count the number of arguments - - int argument_count_; - // number of argument -}; - -#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 7f94b4e3940..00000000000 --- a/TAO/TAO_IDL/be_include/be_predefined_type.h +++ /dev/null @@ -1,86 +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 - - // 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 f1b16b8e22f..00000000000 --- a/TAO/TAO_IDL/be_include/be_root.h +++ /dev/null @@ -1,74 +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 *); - - // 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 bf312c77aad..00000000000 --- a/TAO/TAO_IDL/be_include/be_scope.h +++ /dev/null @@ -1,86 +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 - - virtual be_decl *decl (void); - // return the be_decl node corresponding to this scope node - - // 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 b179dbadb71..00000000000 --- a/TAO/TAO_IDL/be_include/be_sequence.h +++ /dev/null @@ -1,133 +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 - */ - -// 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 (void); - // 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 - - // =Scope management functions - be_sequence *fe_add_sequence (be_sequence *); - - virtual be_decl *decl (void); - // overridden method on the be_scope class - - // 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 ac89639779b..00000000000 --- a/TAO/TAO_IDL/be_include/be_string.h +++ /dev/null @@ -1,80 +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 - - // 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 c0e131bffac..00000000000 --- a/TAO/TAO_IDL/be_include/be_structure.h +++ /dev/null @@ -1,104 +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 - - // 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 a4cc6b5b17c..00000000000 --- a/TAO/TAO_IDL/be_include/be_type.h +++ /dev/null @@ -1,95 +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 - -/* - * 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 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 char *nested_type_name (be_decl *d, char *suffix = 0); - // type name of a node used when generating declarations - - // 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) -}; - -#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 7d0e7270914..00000000000 --- a/TAO/TAO_IDL/be_include/be_typedef.h +++ /dev/null @@ -1,82 +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 - - // 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 74bc6d46927..00000000000 --- a/TAO/TAO_IDL/be_include/be_union.h +++ /dev/null @@ -1,108 +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 - - // Narrowing - DEF_NARROW_METHODS3 (be_union, AST_Union, be_scope, be_type); - DEF_NARROW_FROM_DECL(be_union); - DEF_NARROW_FROM_SCOPE(be_union); - -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 81e512af36b..00000000000 --- a/TAO/TAO_IDL/be_include/be_union_branch.h +++ /dev/null @@ -1,67 +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 - - // Narrowing - DEF_NARROW_METHODS2 (be_union_branch, AST_UnionBranch, be_decl); - DEF_NARROW_FROM_DECL (be_union_branch); -}; - -#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 d52770af90d..00000000000 --- a/TAO/TAO_IDL/be_include/be_union_label.h +++ /dev/null @@ -1,14 +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); -}; - -#endif |