diff options
Diffstat (limited to 'TAO/TAO_IDL/util')
24 files changed, 0 insertions, 6721 deletions
diff --git a/TAO/TAO_IDL/util/utl_decllist.cpp b/TAO/TAO_IDL/util/utl_decllist.cpp deleted file mode 100644 index 2a810a6e5f8..00000000000 --- a/TAO/TAO_IDL/util/utl_decllist.cpp +++ /dev/null @@ -1,149 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_decllist.cc -// -// Implementation of a list of declarators - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_decllist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_DeclList::UTL_DeclList(FE_Declarator *s, UTL_DeclList *cdr) - : UTL_List(cdr), - pd_car_data(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get list item -FE_Declarator * -UTL_DeclList::head() -{ - return pd_car_data; -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_DeclList active iterator - -/* - * Constructor - */ - -UTL_DecllistActiveIterator::UTL_DecllistActiveIterator(UTL_DeclList *s) - : UTL_ListActiveIterator(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -FE_Declarator * -UTL_DecllistActiveIterator::item() -{ - if (source == NULL) - return NULL; - - return ((UTL_DeclList *) source)->head(); -} - -/* - * Redefined inherited operations - */ - diff --git a/TAO/TAO_IDL/util/utl_err.cpp b/TAO/TAO_IDL/util/utl_err.cpp deleted file mode 100644 index 33f1eace574..00000000000 --- a/TAO/TAO_IDL/util/utl_err.cpp +++ /dev/null @@ -1,706 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_error.cc - Implementation of error reporting object for IDL -// compiler program - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_error, "$Id$") - -/* - * Helper functions to do: - * - * - Convert an error code to an error string - * - Print out an error message header - * - Convert an ExprType to a string - */ - -// Convert an error code into a char * -static char * -error_string(UTL_Error::ErrorCode c) -{ - switch (c) { - case UTL_Error::EIDL_OK: - return GTDEVEL("all is fine "); - case UTL_Error::EIDL_SYNTAX_ERROR: - return ""; - case UTL_Error::EIDL_REDEF: - return GTDEVEL("illegal redefinition "); - case UTL_Error::EIDL_DEF_USE: - return GTDEVEL("redefinition after use, "); - case UTL_Error::EIDL_MULTIPLE_BRANCH: - return GTDEVEL("union with duplicate branch label "); - case UTL_Error::EIDL_COERCION_FAILURE: - return GTDEVEL("coercion failure "); - case UTL_Error::EIDL_SCOPE_CONFLICT: - return GTDEVEL("definition scope is different than fwd declare scope, "); - case UTL_Error::EIDL_ONEWAY_CONFLICT: - return GTDEVEL("oneway operation with OUT or INOUT parameters, "); - case UTL_Error::EIDL_DISC_TYPE: - return GTDEVEL("union with illegal discriminator type, "); - case UTL_Error::EIDL_LABEL_TYPE: - return GTDEVEL("label type incompatible with union discriminator type, "); - case UTL_Error::EIDL_ILLEGAL_ADD: - return GTDEVEL("illegal add operation, "); - case UTL_Error::EIDL_ILLEGAL_USE: - return GTDEVEL("illegal type used in expression, "); - case UTL_Error::EIDL_ILLEGAL_RAISES: - return GTDEVEL("error in raises(..) clause, "); - case UTL_Error::EIDL_ILLEGAL_CONTEXT: - return GTDEVEL("error in context(..) clause, "); - case UTL_Error::EIDL_CANT_INHERIT: - return GTDEVEL("cannot inherit from "); - case UTL_Error::EIDL_LOOKUP_ERROR: - return GTDEVEL("error in lookup of symbol: "); - case UTL_Error::EIDL_INHERIT_FWD_ERROR: - /* More intelligible message printed by error routine */ - return ""; - case UTL_Error::EIDL_CONSTANT_EXPECTED: - return GTDEVEL("constant expected: "); - case UTL_Error::EIDL_EVAL_ERROR: - return GTDEVEL("expression evaluation error: "); - case UTL_Error::EIDL_NAME_CASE_ERROR: - return GTDEVEL("identifier used with two differing spellings: "); - case UTL_Error::EIDL_ENUM_VAL_EXPECTED: - return GTDEVEL("enumerator expected: "); - case UTL_Error::EIDL_ENUM_VAL_NOT_FOUND: - return GTDEVEL("enumerator by this name not defined: "); - case UTL_Error::EIDL_AMBIGUOUS: - return GTDEVEL("ambiguous definition: "); - case UTL_Error::EIDL_DECL_NOT_DEFINED: - return GTDEVEL("forward declared but never defined: "); - case UTL_Error::EIDL_FWD_DECL_LOOKUP: - /* More intelligible message printed by error routine */ - return ""; - case UTL_Error::EIDL_RECURSIVE_TYPE: - return GTDEVEL("illegal recursive use of type: "); - case UTL_Error::EIDL_NONVOID_ONEWAY: - return GTDEVEL("non-void return type in oneway operation: "); - case UTL_Error::EIDL_REDEF_SCOPE: - return GTDEVEL("redefinition inside defining scope: "); - case UTL_Error::EIDL_NOT_A_TYPE: - return GTDEVEL("specified symbol is not a type: "); - case UTL_Error::EIDL_BACK_END: - return GTDEVEL("back end: "); - } - return NULL; -} - -// Print out an error message header on cerr -static void -idl_error_header(UTL_Error::ErrorCode c, long lineno, String *s) -{ - cerr << idl_global->prog_name() - << ": \"" - << (idl_global->read_from_stdin() ? "standard input" : s->get_string()) - << GTDEVEL("\", line ") - << ((lineno == -1) ? idl_global->lineno() : lineno) - << ": " - << error_string(c); -} - -// Convert the type of an AST_Expression to a char * -static char * -exprtype_to_string(AST_Expression::ExprType t) -{ - switch (t) { - case AST_Expression::EV_short: - return "short"; - case AST_Expression::EV_ushort: - return "unsigned short"; - case AST_Expression::EV_long: - return "long"; - case AST_Expression::EV_ulong: - return "unsigned long"; - case AST_Expression::EV_float: - return "float"; - case AST_Expression::EV_double: - return "double"; - case AST_Expression::EV_char: - return "char"; - case AST_Expression::EV_octet: - return "octet"; - case AST_Expression::EV_bool: - return "boolean"; - case AST_Expression::EV_string: - return "string"; - case AST_Expression::EV_any: - return "any"; - case AST_Expression::EV_void: - return "void"; - case AST_Expression::EV_none: - return "none"; - case AST_Expression::EV_longlong: - case AST_Expression::EV_ulonglong: - case AST_Expression::EV_longdouble: - case AST_Expression::EV_wchar: - case AST_Expression::EV_wstring: - return NULL; - } - return NULL; -} - -/* - * Convert a parse state into a possible error message - */ -static char * -parse_state_to_error_message(IDL_GlobalData::ParseState ps) -{ - switch (ps) { - case IDL_GlobalData::PS_NoState: - return GTDEVEL("Statement can not be parsed"); - case IDL_GlobalData::PS_TypeDeclSeen: - return GTDEVEL("Malformed typedef declaration"); - case IDL_GlobalData::PS_ConstDeclSeen: - return GTDEVEL("Malformed const declaration"); - case IDL_GlobalData::PS_ExceptDeclSeen: - return - GTDEVEL("Malformed exception declaration"); - case IDL_GlobalData::PS_InterfaceDeclSeen: - return - GTDEVEL("Malformed interface declaration"); - case IDL_GlobalData::PS_ModuleDeclSeen: - return GTDEVEL("Malformed module declaration"); - case IDL_GlobalData::PS_AttrDeclSeen: - return - GTDEVEL("Malformed attribute declaration"); - case IDL_GlobalData::PS_OpDeclSeen: - return - GTDEVEL("Malformed operation declaration"); - case IDL_GlobalData::PS_ModuleSeen: - return GTDEVEL("Missing module identifier following MODULE keyword"); - case IDL_GlobalData::PS_ModuleIDSeen: - return GTDEVEL("Missing '{' or illegal syntax following module identifier"); - case IDL_GlobalData::PS_ModuleSqSeen: - return GTDEVEL("Illegal syntax following module '{' opener"); - case IDL_GlobalData::PS_ModuleQsSeen: - return GTDEVEL("Illegal syntax following module '}' closer"); - case IDL_GlobalData::PS_ModuleBodySeen: - return GTDEVEL("Illegal syntax following module body statement(s)"); - case IDL_GlobalData::PS_InterfaceSeen: - return GTDEVEL("Missing interface identifier following INTERFACE keyword"); - case IDL_GlobalData::PS_InterfaceIDSeen: - return GTDEVEL("Illegal syntax following interface identifier"); - case IDL_GlobalData::PS_InheritSpecSeen: - return GTDEVEL("Missing '{' or illegal syntax following inheritance spec"); - case IDL_GlobalData::PS_ForwardDeclSeen: - return GTDEVEL("Missing ';' following forward interface declaration"); - case IDL_GlobalData::PS_InterfaceSqSeen: - return GTDEVEL("Illegal syntax following interface '{' opener"); - case IDL_GlobalData::PS_InterfaceQsSeen: - return GTDEVEL("Illegal syntax following interface '}' closer"); - case IDL_GlobalData::PS_InterfaceBodySeen: - return GTDEVEL("Illegal syntax following interface body statement(s)"); - case IDL_GlobalData::PS_InheritColonSeen: - return GTDEVEL("Illegal syntax following ':' starting inheritance list"); - case IDL_GlobalData::PS_SNListCommaSeen: - return GTDEVEL("Found illegal scoped name in scoped name list"); - case IDL_GlobalData::PS_ScopedNameSeen: - return GTDEVEL("Missing ',' following scoped name in scoped name list"); - case IDL_GlobalData::PS_SN_IDSeen: - return GTDEVEL("Illegal component in scoped name"); - case IDL_GlobalData::PS_ScopeDelimSeen: - return GTDEVEL("Illegal component in scoped name following '::'"); - case IDL_GlobalData::PS_ConstSeen: - return GTDEVEL("Missing type or illegal syntax following CONST keyword"); - case IDL_GlobalData::PS_ConstTypeSeen: - return GTDEVEL("Missing identifier or illegal syntax following const type"); - case IDL_GlobalData::PS_ConstIDSeen: - return GTDEVEL("Missing '=' or illegal syntax after const identifier"); - case IDL_GlobalData::PS_ConstAssignSeen: - return GTDEVEL("Missing value expr or illegal syntax following '='"); - case IDL_GlobalData::PS_ConstExprSeen: - return GTDEVEL("Missing ';' or illegal syntax following value expr in const"); - case IDL_GlobalData::PS_TypedefSeen: - return GTDEVEL("Missing type or illegal syntax following TYPEDEF keyword"); - case IDL_GlobalData::PS_TypeSpecSeen: - return GTDEVEL("Missing declarators or illegal syntax following type spec"); - case IDL_GlobalData::PS_DeclaratorsSeen: - return GTDEVEL("Illegal syntax following declarators in TYPEDEF declaration"); - case IDL_GlobalData::PS_StructSeen: - return GTDEVEL("Missing struct identifier following STRUCT keyword"); - case IDL_GlobalData::PS_StructIDSeen: - return GTDEVEL("Missing '{' or illegal syntax following struct identifier"); - case IDL_GlobalData::PS_StructSqSeen: - return GTDEVEL("Illegal syntax following struct '{' opener"); - case IDL_GlobalData::PS_StructQsSeen: - return GTDEVEL("Illegal syntax following struct '}' closer"); - case IDL_GlobalData::PS_StructBodySeen: - return GTDEVEL("Illegal syntax following struct body statement(s)"); - case IDL_GlobalData::PS_MemberTypeSeen: - return GTDEVEL("Illegal syntax of missing identifier following member type"); - case IDL_GlobalData::PS_MemberDeclsSeen: - return GTDEVEL("Illegal syntax following member declarator(s)"); - case IDL_GlobalData::PS_MemberDeclsCompleted: - return GTDEVEL("Missing ',' between member decls of same type(?)"); - case IDL_GlobalData::PS_UnionSeen: - return GTDEVEL("Missing identifier following UNION keyword"); - case IDL_GlobalData::PS_UnionIDSeen: - return GTDEVEL("Illegal syntax following union identifier"); - case IDL_GlobalData::PS_SwitchSeen: - return GTDEVEL("Illegal syntax following SWITCH keyword"); - case IDL_GlobalData::PS_SwitchOpenParSeen: - return GTDEVEL("Illegal syntax following '(' in switch in union"); - case IDL_GlobalData::PS_SwitchTypeSeen: - return GTDEVEL("Illegal syntax following type decl in switch in union"); - case IDL_GlobalData::PS_SwitchCloseParSeen: - return GTDEVEL("Missing union '{' opener"); - case IDL_GlobalData::PS_UnionSqSeen: - return GTDEVEL("Illegal syntax following union '{' opener"); - case IDL_GlobalData::PS_UnionQsSeen: - return GTDEVEL("Illegal syntax following union '}' closer"); - case IDL_GlobalData::PS_DefaultSeen: - return GTDEVEL("Illegal syntax or missing ':' following DEFAULT keyword"); - case IDL_GlobalData::PS_UnionLabelSeen: - return GTDEVEL("Illegal syntax following branch label in union"); - case IDL_GlobalData::PS_LabelColonSeen: - return GTDEVEL("Illegal syntax following ':' in branch label in union"); - case IDL_GlobalData::PS_LabelExprSeen: - return GTDEVEL("Illegal syntax following label expression in union"); - case IDL_GlobalData::PS_UnionElemSeen: - case IDL_GlobalData::PS_UnionElemCompleted: - return GTDEVEL("Illegal syntax following union element"); - case IDL_GlobalData::PS_CaseSeen: - return GTDEVEL("Illegal syntax following CASE keyword in union"); - case IDL_GlobalData::PS_UnionElemTypeSeen: - return GTDEVEL("Illegal syntax following type decl in union element"); - case IDL_GlobalData::PS_UnionElemDeclSeen: - return GTDEVEL("Illegal syntax following declarator in union element"); - case IDL_GlobalData::PS_UnionBodySeen: - return GTDEVEL("Illegal syntax following union body statement(s)"); - case IDL_GlobalData::PS_EnumSeen: - return GTDEVEL("Illegal syntax or missing identifier following ENUM keyword"); - case IDL_GlobalData::PS_EnumIDSeen: - return GTDEVEL("Illegal syntax or missing '{' following enum identifier"); - case IDL_GlobalData::PS_EnumSqSeen: - return GTDEVEL("Illegal syntax following enum '{' opener"); - case IDL_GlobalData::PS_EnumQsSeen: - return GTDEVEL("Illegal syntax following enum '}' closer"); - case IDL_GlobalData::PS_EnumBodySeen: - return GTDEVEL("Illegal syntax following enum body statement(s)"); - case IDL_GlobalData::PS_EnumCommaSeen: - return GTDEVEL("Illegal syntax or missing identifier following ',' in enum"); - case IDL_GlobalData::PS_SequenceSeen: - return GTDEVEL("Illegal syntax or missing '<' following SEQUENCE keyword"); - case IDL_GlobalData::PS_SequenceSqSeen: - return GTDEVEL("Illegal syntax or missing type following '<' in sequence"); - case IDL_GlobalData::PS_SequenceQsSeen: - return GTDEVEL("Illegal syntax following '>' in sequence"); - case IDL_GlobalData::PS_SequenceTypeSeen: - return GTDEVEL("Illegal syntax following sequence type declaration"); - case IDL_GlobalData::PS_SequenceCommaSeen: - return - GTDEVEL("Illegal syntax of missing size expr following ',' in sequence"); - case IDL_GlobalData::PS_SequenceExprSeen: - return - GTDEVEL("Illegal syntax or missing '>' following size expr in sequence"); - case IDL_GlobalData::PS_StringSeen: - return GTDEVEL("Illegal syntax or missing '<' following STRING keyword"); - case IDL_GlobalData::PS_StringSqSeen: - return GTDEVEL("Illegal syntax or missing size expr following '<' in string"); - case IDL_GlobalData::PS_StringQsSeen: - return GTDEVEL("Illegal syntax following '>' in string"); - case IDL_GlobalData::PS_StringExprSeen: - return GTDEVEL("Illegal syntax or missing '>' after size expr in string"); - case IDL_GlobalData::PS_StringCompleted: - return GTDEVEL("Illegal syntax after string declaration"); - case IDL_GlobalData::PS_ArrayIDSeen: - return GTDEVEL("Illegal syntax or missing dimensions after array identifier"); - case IDL_GlobalData::PS_ArrayCompleted: - return GTDEVEL("Illegal syntax after array declaration"); - case IDL_GlobalData::PS_DimSqSeen: - return - GTDEVEL("Illegal syntax or missing size expr after '[' in array declaration"); - case IDL_GlobalData::PS_DimQsSeen: - return GTDEVEL("Illegal syntax after ']' in array declaration"); - case IDL_GlobalData::PS_DimExprSeen: - return - GTDEVEL("Illegal syntax or missing ']' after size expr in array declaration"); - case IDL_GlobalData::PS_AttrROSeen: - return GTDEVEL("Illegal syntax after READONLY keyword"); - case IDL_GlobalData::PS_AttrSeen: - return GTDEVEL("Illegal syntax after ATTRIBUTE keyword"); - case IDL_GlobalData::PS_AttrTypeSeen: - return GTDEVEL("Illegal syntax after type in attribute declaration"); - case IDL_GlobalData::PS_AttrDeclsSeen: - return GTDEVEL("Illegal syntax after attribute declarators"); - case IDL_GlobalData::PS_AttrCompleted: - return GTDEVEL("Illegal syntax after attribute declaration"); - case IDL_GlobalData::PS_ExceptSeen: - return - GTDEVEL("Illegal syntax or missing identifier after EXCEPTION keyword"); - case IDL_GlobalData::PS_ExceptIDSeen: - return GTDEVEL("Illegal syntax or missing '{' after exception identifier"); - case IDL_GlobalData::PS_ExceptSqSeen: - return GTDEVEL("Illegal syntax after exception '{' opener"); - case IDL_GlobalData::PS_ExceptQsSeen: - return GTDEVEL("Illegal syntax after exception '}' closer"); - case IDL_GlobalData::PS_ExceptBodySeen: - return GTDEVEL("Illegal syntax after exception body statement(s)"); - case IDL_GlobalData::PS_OpAttrSeen: - return GTDEVEL("Illegal syntax or missing type after operation attribute"); - case IDL_GlobalData::PS_OpTypeSeen: - return GTDEVEL("Illegal syntax or missing identifier after operation type"); - case IDL_GlobalData::PS_OpIDSeen: - return GTDEVEL("Illegal syntax or missing '(' after operation identifier"); - case IDL_GlobalData::PS_OpParsCompleted: - return GTDEVEL("Illegal syntax after operation parameter list"); - case IDL_GlobalData::PS_OpRaiseCompleted: - return - GTDEVEL("Illegal syntax after optional RAISES in operation declaration"); - case IDL_GlobalData::PS_OpContextCompleted: - return - GTDEVEL("Illegal syntax after optional CONTEXT in operation declaration"); - case IDL_GlobalData::PS_OpCompleted: - return GTDEVEL("Illegal syntax after operation declaration"); - case IDL_GlobalData::PS_OpSqSeen: - return GTDEVEL("Illegal syntax after operation parameter list '(' opener"); - case IDL_GlobalData::PS_OpQsSeen: - return GTDEVEL("Illegal syntax after operation parameter list ')' closer"); - case IDL_GlobalData::PS_OpParCommaSeen: - return - GTDEVEL("Illegal syntax or missing direction in parameter declaration"); - case IDL_GlobalData::PS_OpParDirSeen: - return GTDEVEL("Illegal syntax or missing type in parameter declaration"); - case IDL_GlobalData::PS_OpParTypeSeen: - return - GTDEVEL("Illegal syntax or missing declarator in parameter declaration"); - case IDL_GlobalData::PS_OpParDeclSeen: - return GTDEVEL("Illegal syntax following parameter declarator"); - case IDL_GlobalData::PS_OpRaiseSeen: - return GTDEVEL("Illegal syntax or missing '(' after RAISES keyword"); - case IDL_GlobalData::PS_OpRaiseSqSeen: - return GTDEVEL("Illegal syntax after RAISES '(' opener"); - case IDL_GlobalData::PS_OpRaiseQsSeen: - return GTDEVEL("Illegal syntax after RAISES ')' closer"); - case IDL_GlobalData::PS_OpContextSeen: - return GTDEVEL("Illegal syntax or missing '(' after CONTEXT keyword"); - case IDL_GlobalData::PS_OpContextSqSeen: - return GTDEVEL("Illegal syntax after CONTEXT '(' opener"); - case IDL_GlobalData::PS_OpContextQsSeen: - return GTDEVEL("Illegal syntax after CONTEXT ')' closer"); - case IDL_GlobalData::PS_OpContextCommaSeen: - return - GTDEVEL("Illegal syntax after ',' in CONTEXT in operation declaration"); - case IDL_GlobalData::PS_DeclsCommaSeen: - return GTDEVEL("Illegal syntax after ',' in declarators list"); - case IDL_GlobalData::PS_DeclsDeclSeen: - return GTDEVEL("Illegal syntax after declarator in declarators list"); - - case IDL_GlobalData::PS_PragmaPrefixSyntax: - return GTDEVEL ("Illegal syntax for #pragma prefix"); - default: - return GTDEVEL("Some syntax error"); - } -} -/* - * Public methods - */ - -// Report error messages with various numbers of arguments - -void -UTL_Error::syntax_error(IDL_GlobalData::ParseState ps) -{ - idl_error_header(EIDL_SYNTAX_ERROR, - idl_global->lineno(), - idl_global->filename()); - cerr << parse_state_to_error_message(ps) << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error0(UTL_Error::ErrorCode c) -{ - idl_error_header(c, idl_global->lineno(), idl_global->filename()); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error1(UTL_Error::ErrorCode c, AST_Decl *d) -{ - idl_error_header(c, d->line(), d->file_name()); - d->name()->dump(cerr); cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error2(UTL_Error::ErrorCode c, AST_Decl *d1, AST_Decl *d2) -{ - idl_error_header(c, d1->line(), d1->file_name()); - d1->name()->dump(cerr); cerr << ", "; - d2->name()->dump(cerr); cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error3(UTL_Error::ErrorCode c, - AST_Decl *d1, - AST_Decl *d2, - AST_Decl *d3) -{ - idl_error_header(c, d1->line(), d1->file_name()); - d1->name()->dump(cerr); cerr << ", "; - d2->name()->dump(cerr); cerr << ", "; - d3->name()->dump(cerr); cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a failed coercion attempt -void -UTL_Error::coercion_error(AST_Expression *v, AST_Expression::ExprType t) -{ - idl_error_header(EIDL_COERCION_FAILURE, v->line(), v->file_name()); - v->dump(cerr); - cerr << GTDEVEL(" to ") << exprtype_to_string(t) << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a failed name lookup attempt -void -UTL_Error::lookup_error(UTL_ScopedName *n) -{ - idl_error_header(EIDL_LOOKUP_ERROR, - idl_global->lineno(), - idl_global->filename()); - n->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an attempt to inherit from an interface which was only -// declared forward but not yet defined -void -UTL_Error::inheritance_fwd_error(UTL_ScopedName *n, AST_Interface *f) -{ - idl_error_header(EIDL_INHERIT_FWD_ERROR, f->line(), f->file_name()); - cerr << "interface "; - n->dump(cerr); - cerr << GTDEVEL(" cannot inherit from forward declared interface "); - f->local_name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an attempt to inherit from something other than an interface -void -UTL_Error::inheritance_error(UTL_ScopedName *n, AST_Decl *d) -{ - idl_error_header(EIDL_CANT_INHERIT, d->line(), d->file_name()); - cerr << " interface "; - n->dump(cerr); - cerr << GTDEVEL(" attempts to inherit from "); - d->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an error while evaluating an expression -void -UTL_Error::eval_error(AST_Expression *v) -{ - idl_error_header(EIDL_EVAL_ERROR, v->line(), v->file_name()); - v->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a situation where a constant was expected but we -// got something else. This may occur in a union when a label -// evaluates to a non-constant -void -UTL_Error::constant_expected(UTL_ScopedName *n, AST_Decl *d) -{ - idl_error_header(EIDL_CONSTANT_EXPECTED, d->line(), d->file_name()); - n->dump(cerr); - cerr << GTDEVEL(" bound to "); - d->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a situation where an enumerator was expected but we -// got something else. This may occur in a union with an enum -// discriminator where a label did not evaluate to a constant -// enumerator -void -UTL_Error::enum_val_expected(AST_Union *u, AST_UnionLabel *l) -{ - idl_error_header(EIDL_ENUM_VAL_EXPECTED, u->line(), u->file_name()); - cerr << " union " << u->local_name()->get_string() << ", "; - l->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a situation where an enumerator was received but we -// could not find it (by name) in an enum. This occurs when -// a union with an enum discriminator is being parsed, and a -// label evaluates to an enumerator which is not a member of -// the enum discriminator type -void -UTL_Error::enum_val_lookup_failure(AST_Union *u, - AST_Enum *e, - UTL_ScopedName *n) -{ - idl_error_header(EIDL_ENUM_VAL_NOT_FOUND, u->line(), u->file_name()); - cerr << " union " << u->local_name()->get_string() << ", "; - cerr << " enum " << e->local_name()->get_string() << ", "; - cerr << " enumerator "; - n->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report two or more spellings for an identifier -void -UTL_Error::name_case_error(char *b, char *n) -{ - idl_error_header(EIDL_NAME_CASE_ERROR, - idl_global->lineno(), - idl_global->filename()); - cerr << "\"" << b << GTDEVEL("\" and ") << "\"" << n << "\"\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an ambiguous definition of a name -void -UTL_Error::ambiguous(UTL_Scope *s, AST_Decl *l, AST_Decl *d) -{ - idl_error_header(EIDL_AMBIGUOUS, d->line(), d->file_name()); - cerr << GTDEVEL(" scope: ") - << (ScopeAsDecl(s))->local_name()->get_string() - << ", "; - cerr << GTDEVEL(" collision: "); - d->name()->dump(cerr); - cerr << " vs. "; - l->name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a forward declared interface which was never defined -void -UTL_Error::fwd_decl_not_defined(AST_Interface *d) -{ - idl_error_header(EIDL_DECL_NOT_DEFINED, d->line(), d->file_name()); - cerr << "interface "; - d->local_name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report lookup in undefined forward declared but undefined interface -void -UTL_Error::fwd_decl_lookup(AST_Interface *d, UTL_ScopedName *n) -{ - idl_error_header(EIDL_FWD_DECL_LOOKUP, - idl_global->lineno(), - idl_global->filename()); - cerr << GTDEVEL("trying to look up "); - n->dump(cerr); - cerr << GTDEVEL(" in undefined forward declared interface "); - d->local_name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a redefinition inside its own scope -void -UTL_Error::redefinition_in_scope(AST_Decl *d, AST_Decl *s) -{ - idl_error_header(EIDL_REDEF_SCOPE, d->line(), d->file_name()); - d->name()->dump(cerr); - cerr << ", "; - s->name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report not a type error -void -UTL_Error::not_a_type(AST_Decl *d) -{ - idl_error_header(EIDL_NOT_A_TYPE, - idl_global->lineno(), - idl_global->filename()); - if (d == NULL || d->name() == NULL) - cerr << GTDEVEL("unknown symbol"); - else - d->name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::back_end(long lineno, String *s) -{ - idl_error_header(EIDL_BACK_END, lineno, s); - idl_global->set_err_count(idl_global->err_count() + 1); -} diff --git a/TAO/TAO_IDL/util/utl_error.cpp b/TAO/TAO_IDL/util/utl_error.cpp deleted file mode 100644 index 33f1eace574..00000000000 --- a/TAO/TAO_IDL/util/utl_error.cpp +++ /dev/null @@ -1,706 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_error.cc - Implementation of error reporting object for IDL -// compiler program - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_error, "$Id$") - -/* - * Helper functions to do: - * - * - Convert an error code to an error string - * - Print out an error message header - * - Convert an ExprType to a string - */ - -// Convert an error code into a char * -static char * -error_string(UTL_Error::ErrorCode c) -{ - switch (c) { - case UTL_Error::EIDL_OK: - return GTDEVEL("all is fine "); - case UTL_Error::EIDL_SYNTAX_ERROR: - return ""; - case UTL_Error::EIDL_REDEF: - return GTDEVEL("illegal redefinition "); - case UTL_Error::EIDL_DEF_USE: - return GTDEVEL("redefinition after use, "); - case UTL_Error::EIDL_MULTIPLE_BRANCH: - return GTDEVEL("union with duplicate branch label "); - case UTL_Error::EIDL_COERCION_FAILURE: - return GTDEVEL("coercion failure "); - case UTL_Error::EIDL_SCOPE_CONFLICT: - return GTDEVEL("definition scope is different than fwd declare scope, "); - case UTL_Error::EIDL_ONEWAY_CONFLICT: - return GTDEVEL("oneway operation with OUT or INOUT parameters, "); - case UTL_Error::EIDL_DISC_TYPE: - return GTDEVEL("union with illegal discriminator type, "); - case UTL_Error::EIDL_LABEL_TYPE: - return GTDEVEL("label type incompatible with union discriminator type, "); - case UTL_Error::EIDL_ILLEGAL_ADD: - return GTDEVEL("illegal add operation, "); - case UTL_Error::EIDL_ILLEGAL_USE: - return GTDEVEL("illegal type used in expression, "); - case UTL_Error::EIDL_ILLEGAL_RAISES: - return GTDEVEL("error in raises(..) clause, "); - case UTL_Error::EIDL_ILLEGAL_CONTEXT: - return GTDEVEL("error in context(..) clause, "); - case UTL_Error::EIDL_CANT_INHERIT: - return GTDEVEL("cannot inherit from "); - case UTL_Error::EIDL_LOOKUP_ERROR: - return GTDEVEL("error in lookup of symbol: "); - case UTL_Error::EIDL_INHERIT_FWD_ERROR: - /* More intelligible message printed by error routine */ - return ""; - case UTL_Error::EIDL_CONSTANT_EXPECTED: - return GTDEVEL("constant expected: "); - case UTL_Error::EIDL_EVAL_ERROR: - return GTDEVEL("expression evaluation error: "); - case UTL_Error::EIDL_NAME_CASE_ERROR: - return GTDEVEL("identifier used with two differing spellings: "); - case UTL_Error::EIDL_ENUM_VAL_EXPECTED: - return GTDEVEL("enumerator expected: "); - case UTL_Error::EIDL_ENUM_VAL_NOT_FOUND: - return GTDEVEL("enumerator by this name not defined: "); - case UTL_Error::EIDL_AMBIGUOUS: - return GTDEVEL("ambiguous definition: "); - case UTL_Error::EIDL_DECL_NOT_DEFINED: - return GTDEVEL("forward declared but never defined: "); - case UTL_Error::EIDL_FWD_DECL_LOOKUP: - /* More intelligible message printed by error routine */ - return ""; - case UTL_Error::EIDL_RECURSIVE_TYPE: - return GTDEVEL("illegal recursive use of type: "); - case UTL_Error::EIDL_NONVOID_ONEWAY: - return GTDEVEL("non-void return type in oneway operation: "); - case UTL_Error::EIDL_REDEF_SCOPE: - return GTDEVEL("redefinition inside defining scope: "); - case UTL_Error::EIDL_NOT_A_TYPE: - return GTDEVEL("specified symbol is not a type: "); - case UTL_Error::EIDL_BACK_END: - return GTDEVEL("back end: "); - } - return NULL; -} - -// Print out an error message header on cerr -static void -idl_error_header(UTL_Error::ErrorCode c, long lineno, String *s) -{ - cerr << idl_global->prog_name() - << ": \"" - << (idl_global->read_from_stdin() ? "standard input" : s->get_string()) - << GTDEVEL("\", line ") - << ((lineno == -1) ? idl_global->lineno() : lineno) - << ": " - << error_string(c); -} - -// Convert the type of an AST_Expression to a char * -static char * -exprtype_to_string(AST_Expression::ExprType t) -{ - switch (t) { - case AST_Expression::EV_short: - return "short"; - case AST_Expression::EV_ushort: - return "unsigned short"; - case AST_Expression::EV_long: - return "long"; - case AST_Expression::EV_ulong: - return "unsigned long"; - case AST_Expression::EV_float: - return "float"; - case AST_Expression::EV_double: - return "double"; - case AST_Expression::EV_char: - return "char"; - case AST_Expression::EV_octet: - return "octet"; - case AST_Expression::EV_bool: - return "boolean"; - case AST_Expression::EV_string: - return "string"; - case AST_Expression::EV_any: - return "any"; - case AST_Expression::EV_void: - return "void"; - case AST_Expression::EV_none: - return "none"; - case AST_Expression::EV_longlong: - case AST_Expression::EV_ulonglong: - case AST_Expression::EV_longdouble: - case AST_Expression::EV_wchar: - case AST_Expression::EV_wstring: - return NULL; - } - return NULL; -} - -/* - * Convert a parse state into a possible error message - */ -static char * -parse_state_to_error_message(IDL_GlobalData::ParseState ps) -{ - switch (ps) { - case IDL_GlobalData::PS_NoState: - return GTDEVEL("Statement can not be parsed"); - case IDL_GlobalData::PS_TypeDeclSeen: - return GTDEVEL("Malformed typedef declaration"); - case IDL_GlobalData::PS_ConstDeclSeen: - return GTDEVEL("Malformed const declaration"); - case IDL_GlobalData::PS_ExceptDeclSeen: - return - GTDEVEL("Malformed exception declaration"); - case IDL_GlobalData::PS_InterfaceDeclSeen: - return - GTDEVEL("Malformed interface declaration"); - case IDL_GlobalData::PS_ModuleDeclSeen: - return GTDEVEL("Malformed module declaration"); - case IDL_GlobalData::PS_AttrDeclSeen: - return - GTDEVEL("Malformed attribute declaration"); - case IDL_GlobalData::PS_OpDeclSeen: - return - GTDEVEL("Malformed operation declaration"); - case IDL_GlobalData::PS_ModuleSeen: - return GTDEVEL("Missing module identifier following MODULE keyword"); - case IDL_GlobalData::PS_ModuleIDSeen: - return GTDEVEL("Missing '{' or illegal syntax following module identifier"); - case IDL_GlobalData::PS_ModuleSqSeen: - return GTDEVEL("Illegal syntax following module '{' opener"); - case IDL_GlobalData::PS_ModuleQsSeen: - return GTDEVEL("Illegal syntax following module '}' closer"); - case IDL_GlobalData::PS_ModuleBodySeen: - return GTDEVEL("Illegal syntax following module body statement(s)"); - case IDL_GlobalData::PS_InterfaceSeen: - return GTDEVEL("Missing interface identifier following INTERFACE keyword"); - case IDL_GlobalData::PS_InterfaceIDSeen: - return GTDEVEL("Illegal syntax following interface identifier"); - case IDL_GlobalData::PS_InheritSpecSeen: - return GTDEVEL("Missing '{' or illegal syntax following inheritance spec"); - case IDL_GlobalData::PS_ForwardDeclSeen: - return GTDEVEL("Missing ';' following forward interface declaration"); - case IDL_GlobalData::PS_InterfaceSqSeen: - return GTDEVEL("Illegal syntax following interface '{' opener"); - case IDL_GlobalData::PS_InterfaceQsSeen: - return GTDEVEL("Illegal syntax following interface '}' closer"); - case IDL_GlobalData::PS_InterfaceBodySeen: - return GTDEVEL("Illegal syntax following interface body statement(s)"); - case IDL_GlobalData::PS_InheritColonSeen: - return GTDEVEL("Illegal syntax following ':' starting inheritance list"); - case IDL_GlobalData::PS_SNListCommaSeen: - return GTDEVEL("Found illegal scoped name in scoped name list"); - case IDL_GlobalData::PS_ScopedNameSeen: - return GTDEVEL("Missing ',' following scoped name in scoped name list"); - case IDL_GlobalData::PS_SN_IDSeen: - return GTDEVEL("Illegal component in scoped name"); - case IDL_GlobalData::PS_ScopeDelimSeen: - return GTDEVEL("Illegal component in scoped name following '::'"); - case IDL_GlobalData::PS_ConstSeen: - return GTDEVEL("Missing type or illegal syntax following CONST keyword"); - case IDL_GlobalData::PS_ConstTypeSeen: - return GTDEVEL("Missing identifier or illegal syntax following const type"); - case IDL_GlobalData::PS_ConstIDSeen: - return GTDEVEL("Missing '=' or illegal syntax after const identifier"); - case IDL_GlobalData::PS_ConstAssignSeen: - return GTDEVEL("Missing value expr or illegal syntax following '='"); - case IDL_GlobalData::PS_ConstExprSeen: - return GTDEVEL("Missing ';' or illegal syntax following value expr in const"); - case IDL_GlobalData::PS_TypedefSeen: - return GTDEVEL("Missing type or illegal syntax following TYPEDEF keyword"); - case IDL_GlobalData::PS_TypeSpecSeen: - return GTDEVEL("Missing declarators or illegal syntax following type spec"); - case IDL_GlobalData::PS_DeclaratorsSeen: - return GTDEVEL("Illegal syntax following declarators in TYPEDEF declaration"); - case IDL_GlobalData::PS_StructSeen: - return GTDEVEL("Missing struct identifier following STRUCT keyword"); - case IDL_GlobalData::PS_StructIDSeen: - return GTDEVEL("Missing '{' or illegal syntax following struct identifier"); - case IDL_GlobalData::PS_StructSqSeen: - return GTDEVEL("Illegal syntax following struct '{' opener"); - case IDL_GlobalData::PS_StructQsSeen: - return GTDEVEL("Illegal syntax following struct '}' closer"); - case IDL_GlobalData::PS_StructBodySeen: - return GTDEVEL("Illegal syntax following struct body statement(s)"); - case IDL_GlobalData::PS_MemberTypeSeen: - return GTDEVEL("Illegal syntax of missing identifier following member type"); - case IDL_GlobalData::PS_MemberDeclsSeen: - return GTDEVEL("Illegal syntax following member declarator(s)"); - case IDL_GlobalData::PS_MemberDeclsCompleted: - return GTDEVEL("Missing ',' between member decls of same type(?)"); - case IDL_GlobalData::PS_UnionSeen: - return GTDEVEL("Missing identifier following UNION keyword"); - case IDL_GlobalData::PS_UnionIDSeen: - return GTDEVEL("Illegal syntax following union identifier"); - case IDL_GlobalData::PS_SwitchSeen: - return GTDEVEL("Illegal syntax following SWITCH keyword"); - case IDL_GlobalData::PS_SwitchOpenParSeen: - return GTDEVEL("Illegal syntax following '(' in switch in union"); - case IDL_GlobalData::PS_SwitchTypeSeen: - return GTDEVEL("Illegal syntax following type decl in switch in union"); - case IDL_GlobalData::PS_SwitchCloseParSeen: - return GTDEVEL("Missing union '{' opener"); - case IDL_GlobalData::PS_UnionSqSeen: - return GTDEVEL("Illegal syntax following union '{' opener"); - case IDL_GlobalData::PS_UnionQsSeen: - return GTDEVEL("Illegal syntax following union '}' closer"); - case IDL_GlobalData::PS_DefaultSeen: - return GTDEVEL("Illegal syntax or missing ':' following DEFAULT keyword"); - case IDL_GlobalData::PS_UnionLabelSeen: - return GTDEVEL("Illegal syntax following branch label in union"); - case IDL_GlobalData::PS_LabelColonSeen: - return GTDEVEL("Illegal syntax following ':' in branch label in union"); - case IDL_GlobalData::PS_LabelExprSeen: - return GTDEVEL("Illegal syntax following label expression in union"); - case IDL_GlobalData::PS_UnionElemSeen: - case IDL_GlobalData::PS_UnionElemCompleted: - return GTDEVEL("Illegal syntax following union element"); - case IDL_GlobalData::PS_CaseSeen: - return GTDEVEL("Illegal syntax following CASE keyword in union"); - case IDL_GlobalData::PS_UnionElemTypeSeen: - return GTDEVEL("Illegal syntax following type decl in union element"); - case IDL_GlobalData::PS_UnionElemDeclSeen: - return GTDEVEL("Illegal syntax following declarator in union element"); - case IDL_GlobalData::PS_UnionBodySeen: - return GTDEVEL("Illegal syntax following union body statement(s)"); - case IDL_GlobalData::PS_EnumSeen: - return GTDEVEL("Illegal syntax or missing identifier following ENUM keyword"); - case IDL_GlobalData::PS_EnumIDSeen: - return GTDEVEL("Illegal syntax or missing '{' following enum identifier"); - case IDL_GlobalData::PS_EnumSqSeen: - return GTDEVEL("Illegal syntax following enum '{' opener"); - case IDL_GlobalData::PS_EnumQsSeen: - return GTDEVEL("Illegal syntax following enum '}' closer"); - case IDL_GlobalData::PS_EnumBodySeen: - return GTDEVEL("Illegal syntax following enum body statement(s)"); - case IDL_GlobalData::PS_EnumCommaSeen: - return GTDEVEL("Illegal syntax or missing identifier following ',' in enum"); - case IDL_GlobalData::PS_SequenceSeen: - return GTDEVEL("Illegal syntax or missing '<' following SEQUENCE keyword"); - case IDL_GlobalData::PS_SequenceSqSeen: - return GTDEVEL("Illegal syntax or missing type following '<' in sequence"); - case IDL_GlobalData::PS_SequenceQsSeen: - return GTDEVEL("Illegal syntax following '>' in sequence"); - case IDL_GlobalData::PS_SequenceTypeSeen: - return GTDEVEL("Illegal syntax following sequence type declaration"); - case IDL_GlobalData::PS_SequenceCommaSeen: - return - GTDEVEL("Illegal syntax of missing size expr following ',' in sequence"); - case IDL_GlobalData::PS_SequenceExprSeen: - return - GTDEVEL("Illegal syntax or missing '>' following size expr in sequence"); - case IDL_GlobalData::PS_StringSeen: - return GTDEVEL("Illegal syntax or missing '<' following STRING keyword"); - case IDL_GlobalData::PS_StringSqSeen: - return GTDEVEL("Illegal syntax or missing size expr following '<' in string"); - case IDL_GlobalData::PS_StringQsSeen: - return GTDEVEL("Illegal syntax following '>' in string"); - case IDL_GlobalData::PS_StringExprSeen: - return GTDEVEL("Illegal syntax or missing '>' after size expr in string"); - case IDL_GlobalData::PS_StringCompleted: - return GTDEVEL("Illegal syntax after string declaration"); - case IDL_GlobalData::PS_ArrayIDSeen: - return GTDEVEL("Illegal syntax or missing dimensions after array identifier"); - case IDL_GlobalData::PS_ArrayCompleted: - return GTDEVEL("Illegal syntax after array declaration"); - case IDL_GlobalData::PS_DimSqSeen: - return - GTDEVEL("Illegal syntax or missing size expr after '[' in array declaration"); - case IDL_GlobalData::PS_DimQsSeen: - return GTDEVEL("Illegal syntax after ']' in array declaration"); - case IDL_GlobalData::PS_DimExprSeen: - return - GTDEVEL("Illegal syntax or missing ']' after size expr in array declaration"); - case IDL_GlobalData::PS_AttrROSeen: - return GTDEVEL("Illegal syntax after READONLY keyword"); - case IDL_GlobalData::PS_AttrSeen: - return GTDEVEL("Illegal syntax after ATTRIBUTE keyword"); - case IDL_GlobalData::PS_AttrTypeSeen: - return GTDEVEL("Illegal syntax after type in attribute declaration"); - case IDL_GlobalData::PS_AttrDeclsSeen: - return GTDEVEL("Illegal syntax after attribute declarators"); - case IDL_GlobalData::PS_AttrCompleted: - return GTDEVEL("Illegal syntax after attribute declaration"); - case IDL_GlobalData::PS_ExceptSeen: - return - GTDEVEL("Illegal syntax or missing identifier after EXCEPTION keyword"); - case IDL_GlobalData::PS_ExceptIDSeen: - return GTDEVEL("Illegal syntax or missing '{' after exception identifier"); - case IDL_GlobalData::PS_ExceptSqSeen: - return GTDEVEL("Illegal syntax after exception '{' opener"); - case IDL_GlobalData::PS_ExceptQsSeen: - return GTDEVEL("Illegal syntax after exception '}' closer"); - case IDL_GlobalData::PS_ExceptBodySeen: - return GTDEVEL("Illegal syntax after exception body statement(s)"); - case IDL_GlobalData::PS_OpAttrSeen: - return GTDEVEL("Illegal syntax or missing type after operation attribute"); - case IDL_GlobalData::PS_OpTypeSeen: - return GTDEVEL("Illegal syntax or missing identifier after operation type"); - case IDL_GlobalData::PS_OpIDSeen: - return GTDEVEL("Illegal syntax or missing '(' after operation identifier"); - case IDL_GlobalData::PS_OpParsCompleted: - return GTDEVEL("Illegal syntax after operation parameter list"); - case IDL_GlobalData::PS_OpRaiseCompleted: - return - GTDEVEL("Illegal syntax after optional RAISES in operation declaration"); - case IDL_GlobalData::PS_OpContextCompleted: - return - GTDEVEL("Illegal syntax after optional CONTEXT in operation declaration"); - case IDL_GlobalData::PS_OpCompleted: - return GTDEVEL("Illegal syntax after operation declaration"); - case IDL_GlobalData::PS_OpSqSeen: - return GTDEVEL("Illegal syntax after operation parameter list '(' opener"); - case IDL_GlobalData::PS_OpQsSeen: - return GTDEVEL("Illegal syntax after operation parameter list ')' closer"); - case IDL_GlobalData::PS_OpParCommaSeen: - return - GTDEVEL("Illegal syntax or missing direction in parameter declaration"); - case IDL_GlobalData::PS_OpParDirSeen: - return GTDEVEL("Illegal syntax or missing type in parameter declaration"); - case IDL_GlobalData::PS_OpParTypeSeen: - return - GTDEVEL("Illegal syntax or missing declarator in parameter declaration"); - case IDL_GlobalData::PS_OpParDeclSeen: - return GTDEVEL("Illegal syntax following parameter declarator"); - case IDL_GlobalData::PS_OpRaiseSeen: - return GTDEVEL("Illegal syntax or missing '(' after RAISES keyword"); - case IDL_GlobalData::PS_OpRaiseSqSeen: - return GTDEVEL("Illegal syntax after RAISES '(' opener"); - case IDL_GlobalData::PS_OpRaiseQsSeen: - return GTDEVEL("Illegal syntax after RAISES ')' closer"); - case IDL_GlobalData::PS_OpContextSeen: - return GTDEVEL("Illegal syntax or missing '(' after CONTEXT keyword"); - case IDL_GlobalData::PS_OpContextSqSeen: - return GTDEVEL("Illegal syntax after CONTEXT '(' opener"); - case IDL_GlobalData::PS_OpContextQsSeen: - return GTDEVEL("Illegal syntax after CONTEXT ')' closer"); - case IDL_GlobalData::PS_OpContextCommaSeen: - return - GTDEVEL("Illegal syntax after ',' in CONTEXT in operation declaration"); - case IDL_GlobalData::PS_DeclsCommaSeen: - return GTDEVEL("Illegal syntax after ',' in declarators list"); - case IDL_GlobalData::PS_DeclsDeclSeen: - return GTDEVEL("Illegal syntax after declarator in declarators list"); - - case IDL_GlobalData::PS_PragmaPrefixSyntax: - return GTDEVEL ("Illegal syntax for #pragma prefix"); - default: - return GTDEVEL("Some syntax error"); - } -} -/* - * Public methods - */ - -// Report error messages with various numbers of arguments - -void -UTL_Error::syntax_error(IDL_GlobalData::ParseState ps) -{ - idl_error_header(EIDL_SYNTAX_ERROR, - idl_global->lineno(), - idl_global->filename()); - cerr << parse_state_to_error_message(ps) << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error0(UTL_Error::ErrorCode c) -{ - idl_error_header(c, idl_global->lineno(), idl_global->filename()); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error1(UTL_Error::ErrorCode c, AST_Decl *d) -{ - idl_error_header(c, d->line(), d->file_name()); - d->name()->dump(cerr); cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error2(UTL_Error::ErrorCode c, AST_Decl *d1, AST_Decl *d2) -{ - idl_error_header(c, d1->line(), d1->file_name()); - d1->name()->dump(cerr); cerr << ", "; - d2->name()->dump(cerr); cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::error3(UTL_Error::ErrorCode c, - AST_Decl *d1, - AST_Decl *d2, - AST_Decl *d3) -{ - idl_error_header(c, d1->line(), d1->file_name()); - d1->name()->dump(cerr); cerr << ", "; - d2->name()->dump(cerr); cerr << ", "; - d3->name()->dump(cerr); cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a failed coercion attempt -void -UTL_Error::coercion_error(AST_Expression *v, AST_Expression::ExprType t) -{ - idl_error_header(EIDL_COERCION_FAILURE, v->line(), v->file_name()); - v->dump(cerr); - cerr << GTDEVEL(" to ") << exprtype_to_string(t) << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a failed name lookup attempt -void -UTL_Error::lookup_error(UTL_ScopedName *n) -{ - idl_error_header(EIDL_LOOKUP_ERROR, - idl_global->lineno(), - idl_global->filename()); - n->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an attempt to inherit from an interface which was only -// declared forward but not yet defined -void -UTL_Error::inheritance_fwd_error(UTL_ScopedName *n, AST_Interface *f) -{ - idl_error_header(EIDL_INHERIT_FWD_ERROR, f->line(), f->file_name()); - cerr << "interface "; - n->dump(cerr); - cerr << GTDEVEL(" cannot inherit from forward declared interface "); - f->local_name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an attempt to inherit from something other than an interface -void -UTL_Error::inheritance_error(UTL_ScopedName *n, AST_Decl *d) -{ - idl_error_header(EIDL_CANT_INHERIT, d->line(), d->file_name()); - cerr << " interface "; - n->dump(cerr); - cerr << GTDEVEL(" attempts to inherit from "); - d->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an error while evaluating an expression -void -UTL_Error::eval_error(AST_Expression *v) -{ - idl_error_header(EIDL_EVAL_ERROR, v->line(), v->file_name()); - v->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a situation where a constant was expected but we -// got something else. This may occur in a union when a label -// evaluates to a non-constant -void -UTL_Error::constant_expected(UTL_ScopedName *n, AST_Decl *d) -{ - idl_error_header(EIDL_CONSTANT_EXPECTED, d->line(), d->file_name()); - n->dump(cerr); - cerr << GTDEVEL(" bound to "); - d->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a situation where an enumerator was expected but we -// got something else. This may occur in a union with an enum -// discriminator where a label did not evaluate to a constant -// enumerator -void -UTL_Error::enum_val_expected(AST_Union *u, AST_UnionLabel *l) -{ - idl_error_header(EIDL_ENUM_VAL_EXPECTED, u->line(), u->file_name()); - cerr << " union " << u->local_name()->get_string() << ", "; - l->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a situation where an enumerator was received but we -// could not find it (by name) in an enum. This occurs when -// a union with an enum discriminator is being parsed, and a -// label evaluates to an enumerator which is not a member of -// the enum discriminator type -void -UTL_Error::enum_val_lookup_failure(AST_Union *u, - AST_Enum *e, - UTL_ScopedName *n) -{ - idl_error_header(EIDL_ENUM_VAL_NOT_FOUND, u->line(), u->file_name()); - cerr << " union " << u->local_name()->get_string() << ", "; - cerr << " enum " << e->local_name()->get_string() << ", "; - cerr << " enumerator "; - n->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report two or more spellings for an identifier -void -UTL_Error::name_case_error(char *b, char *n) -{ - idl_error_header(EIDL_NAME_CASE_ERROR, - idl_global->lineno(), - idl_global->filename()); - cerr << "\"" << b << GTDEVEL("\" and ") << "\"" << n << "\"\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report an ambiguous definition of a name -void -UTL_Error::ambiguous(UTL_Scope *s, AST_Decl *l, AST_Decl *d) -{ - idl_error_header(EIDL_AMBIGUOUS, d->line(), d->file_name()); - cerr << GTDEVEL(" scope: ") - << (ScopeAsDecl(s))->local_name()->get_string() - << ", "; - cerr << GTDEVEL(" collision: "); - d->name()->dump(cerr); - cerr << " vs. "; - l->name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a forward declared interface which was never defined -void -UTL_Error::fwd_decl_not_defined(AST_Interface *d) -{ - idl_error_header(EIDL_DECL_NOT_DEFINED, d->line(), d->file_name()); - cerr << "interface "; - d->local_name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report lookup in undefined forward declared but undefined interface -void -UTL_Error::fwd_decl_lookup(AST_Interface *d, UTL_ScopedName *n) -{ - idl_error_header(EIDL_FWD_DECL_LOOKUP, - idl_global->lineno(), - idl_global->filename()); - cerr << GTDEVEL("trying to look up "); - n->dump(cerr); - cerr << GTDEVEL(" in undefined forward declared interface "); - d->local_name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report a redefinition inside its own scope -void -UTL_Error::redefinition_in_scope(AST_Decl *d, AST_Decl *s) -{ - idl_error_header(EIDL_REDEF_SCOPE, d->line(), d->file_name()); - d->name()->dump(cerr); - cerr << ", "; - s->name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -// Report not a type error -void -UTL_Error::not_a_type(AST_Decl *d) -{ - idl_error_header(EIDL_NOT_A_TYPE, - idl_global->lineno(), - idl_global->filename()); - if (d == NULL || d->name() == NULL) - cerr << GTDEVEL("unknown symbol"); - else - d->name()->dump(cerr); - cerr << "\n"; - idl_global->set_err_count(idl_global->err_count() + 1); -} - -void -UTL_Error::back_end(long lineno, String *s) -{ - idl_error_header(EIDL_BACK_END, lineno, s); - idl_global->set_err_count(idl_global->err_count() + 1); -} diff --git a/TAO/TAO_IDL/util/utl_exceptlist.cpp b/TAO/TAO_IDL/util/utl_exceptlist.cpp deleted file mode 100644 index e291f95a82e..00000000000 --- a/TAO/TAO_IDL/util/utl_exceptlist.cpp +++ /dev/null @@ -1,147 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_exceptlist.cc -// -// Implementation of a list of exceptions - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_exceptlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_ExceptList::UTL_ExceptList(AST_Exception *s, UTL_ExceptList *cdr) - : UTL_List(cdr), - pd_car_data(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get list item -AST_Exception * -UTL_ExceptList::head() -{ - return pd_car_data; -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_ExceptList active iterator - -/* - * Constructor - */ - -UTL_ExceptlistActiveIterator::UTL_ExceptlistActiveIterator(UTL_ExceptList *s) - : UTL_ListActiveIterator(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -AST_Exception * -UTL_ExceptlistActiveIterator::item() -{ - if (source == NULL) - return NULL; - return ((UTL_ExceptList *) source)->head(); -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_exprlist.cpp b/TAO/TAO_IDL/util/utl_exprlist.cpp deleted file mode 100644 index ad710e53ae2..00000000000 --- a/TAO/TAO_IDL/util/utl_exprlist.cpp +++ /dev/null @@ -1,147 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_exprlist.cc -// -// Implementation of a list of strings - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_exprlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_ExprList::UTL_ExprList(AST_Expression *s, UTL_ExprList *cdr) - : UTL_List(cdr), - pd_car_data(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get list item -AST_Expression * -UTL_ExprList::head() -{ - return pd_car_data; -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_ExprList active iterator - -/* - * Constructor - */ - -UTL_ExprlistActiveIterator::UTL_ExprlistActiveIterator(UTL_ExprList *s) - : UTL_ListActiveIterator(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -AST_Expression * -UTL_ExprlistActiveIterator::item() -{ - if (source == NULL) - return NULL; - return ((UTL_ExprList *) source)->head(); -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_global.cpp b/TAO/TAO_IDL/util/utl_global.cpp deleted file mode 100644 index f7ed0257326..00000000000 --- a/TAO/TAO_IDL/util/utl_global.cpp +++ /dev/null @@ -1,1021 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_global.cc - Implementation of class IDL_GlobalData -// - -#include "idl.h" -#include "idl_extern.h" -#include "ace/OS.h" - -ACE_RCSID(util, utl_global, "$Id$") - -// Define an increment for the size of the array used to store names of -// included files -#undef INCREMENT -#define INCREMENT 64 - -IDL_GlobalData::IDL_GlobalData (void) - : pd_scopes (0), - pd_root (0), - pd_gen (0), - pd_err (0), - pd_err_count (0), - pd_lineno (0), - pd_filename (0), - pd_main_filename (0), - pd_real_filename (0), - pd_in_main_file (I_FALSE), - pd_prog_name (0), - pd_cpp_location (0), - pd_compile_flags (0), - pd_be (0), - pd_local_escapes (0), - pd_indent (0), - pd_pragmas (0), - pd_read_from_stdin (I_FALSE), - pd_include_file_names (0), - pd_n_include_file_names (0), - pd_n_alloced_file_names (0), - included_idl_files_ (0), - n_included_idl_files_ (0), - n_allocated_idl_files_ (0), - pd_parse_state (PS_NoState), - pd_idl_src_file (0), - export_macro_ (0), - export_include_ (0), - client_hdr_ending_ (ACE::strnew ("C.h")), - client_stub_ending_ (ACE::strnew ("C.cpp")), - client_inline_ending_ (ACE::strnew ("C.i")), - server_hdr_ending_ (ACE::strnew ("S.h")), - server_template_hdr_ending_ (ACE::strnew ("S_T.h")), - server_skeleton_ending_ (ACE::strnew ("S.cpp")), - server_template_skeleton_ending_ (ACE::strnew ("S_T.cpp")), - server_inline_ending_ (ACE::strnew ("S.i")), - server_template_inline_ending_ (ACE::strnew ("S_T.i")), - gperf_path_ (0), - output_dir_ (0), - any_support_ (I_TRUE), - tc_support_ (I_TRUE), - compiled_marshaling_ (I_FALSE), - exception_support_ (I_FALSE), - opt_tc_ (I_FALSE) -{ - // Path for the perfect hash generator(gperf) program. Default - // is $ACE_ROOT/bin/gperf. - // Form the absolute pathname. - char* ace_root = ACE_OS::getenv ("ACE_ROOT"); - if (ace_root == 0) - // This may not cause any problem if -g option is used to specify - // the correct path for the gperf program. Let us ignore this - // error here. It will be caught when we check the existence of - // the perfect hasher and at that time, we can switch over to some - // other scheme. - { - this->gperf_path_ = 0; - } - else - { - // Set it to the default value. - ACE_NEW (this->gperf_path_, - char [ACE_OS::strlen (ace_root) + ACE_OS::strlen ("/bin/gperf") + 1]); -#if defined (ACE_WIN32) - ACE_OS::sprintf (this->gperf_path_, - "%s\\bin\\gperf", - ace_root); -#else /* Not ACE_WIN32 */ - ACE_OS::sprintf (this->gperf_path_, - "%s/bin/gperf", - ace_root); -#endif /* ACE_WIN32 */ - } -} - -// Get or set scopes stack -UTL_ScopeStack * -IDL_GlobalData::scopes (void) -{ - return this->pd_scopes; -} - -void -IDL_GlobalData::set_scopes (UTL_ScopeStack *s) -{ - this->pd_scopes = s; -} - -// Get or set root of AST -AST_Root * -IDL_GlobalData::root (void) -{ - return this->pd_root; -} -void -IDL_GlobalData::set_root (AST_Root *r) -{ - this->pd_root = r; -} - -// Get or set generator object -AST_Generator * -IDL_GlobalData::gen (void) -{ - return this->pd_gen; -} -void -IDL_GlobalData::set_gen (AST_Generator *g) -{ - this->pd_gen = g; -} - -// Get or set error object -UTL_Error * -IDL_GlobalData::err (void) -{ - return this->pd_err; -} -void -IDL_GlobalData::set_err (UTL_Error *e) -{ - this->pd_err = e; -} - -// Get or set error count -long -IDL_GlobalData::err_count (void) -{ - return this->pd_err_count; -} -void -IDL_GlobalData::set_err_count (long c) -{ - this->pd_err_count = c; -} - -// Get or set line number -long -IDL_GlobalData::lineno (void) -{ - return this->pd_lineno; -} -void -IDL_GlobalData::set_lineno (long n) -{ - this->pd_lineno = n; -} - -// Get or set file name being read now -String * -IDL_GlobalData::filename (void) -{ - return this->pd_filename; -} -void -IDL_GlobalData::set_filename (String *f) -{ - this->pd_filename = f; -} - -// Get or set main file name -String * -IDL_GlobalData::main_filename (void) -{ - return this->pd_main_filename; -} -void -IDL_GlobalData::set_main_filename (String *n) -{ - this->pd_main_filename = n; -} - -// Get or set real file name -String * -IDL_GlobalData::real_filename (void) -{ - return this->pd_real_filename; -} -void -IDL_GlobalData::set_real_filename (String *n) -{ - this->pd_real_filename = n; -} - -// Get or set indicator whether import is on -idl_bool -IDL_GlobalData::imported (void) -{ - return this->pd_in_main_file ? I_FALSE : pd_import; -} -idl_bool -IDL_GlobalData::import (void) -{ - return this->pd_import; -} -void -IDL_GlobalData::set_import (idl_bool is_in) -{ - this->pd_import = is_in; -} - -// Get or set indicator whether we're reading the main file now -idl_bool -IDL_GlobalData::in_main_file (void) -{ - return this->pd_in_main_file; -} -void -IDL_GlobalData::set_in_main_file (idl_bool is_in) -{ - this->pd_in_main_file = is_in; -} - -// Get or set stripped file name -String * -IDL_GlobalData::stripped_filename (void) -{ - return this->pd_stripped_filename; -} -void -IDL_GlobalData::set_stripped_filename (String *nm) -{ - this->pd_stripped_filename = nm; -} - -// Get or set cache value for argv[0] -char * -IDL_GlobalData::prog_name (void) -{ - return this->pd_prog_name; -} -void -IDL_GlobalData::set_prog_name (char *pn) -{ - this->pd_prog_name = pn; -} - -// Get or set location to find C preprocessor -char * -IDL_GlobalData::cpp_location (void) -{ - return this->pd_cpp_location; -} -void -IDL_GlobalData::set_cpp_location (char *l) -{ - this->pd_cpp_location = l; -} - -// Get or set IDL compiler flags -long -IDL_GlobalData::compile_flags (void) -{ - return this->pd_compile_flags; -} -void -IDL_GlobalData::set_compile_flags (long cf) -{ - this->pd_compile_flags = cf; -} - -// Get or set BE to be used -char * -IDL_GlobalData::be (void) -{ - return this->pd_be; -} -void -IDL_GlobalData::set_be (char *nbe) -{ - this->pd_be = nbe; -} - -// Get or set local escapes string. This provides additional mechanism -// to pass information to a BE. -char * -IDL_GlobalData::local_escapes (void) -{ - return this->pd_local_escapes; -} -void -IDL_GlobalData::set_local_escapes (char *e) -{ - this->pd_local_escapes = e; -} - -// Get or set indent object -UTL_Indenter * -IDL_GlobalData::indent (void) -{ - return this->pd_indent; -} -void -IDL_GlobalData::set_indent (UTL_Indenter *i) -{ - this->pd_indent = i; -} - -// Get or set list of pragmas being parsed -UTL_StrList * -IDL_GlobalData::pragmas (void) -{ - UTL_StrList *p = this->pd_pragmas; - - this->pd_pragmas = 0; - return p; -} - -void -IDL_GlobalData::set_pragmas (UTL_StrList *p) -{ - this->pd_pragmas = p; -} - -// Get or set indicator whether we're reading from stdin. -idl_bool -IDL_GlobalData::read_from_stdin (void) -{ - return this->pd_read_from_stdin; -} - -void -IDL_GlobalData::set_read_from_stdin (idl_bool r) -{ - this->pd_read_from_stdin = r; -} - -// Have we seen this include file name before? -long -IDL_GlobalData::seen_include_file_before (String *n) -{ - unsigned long i; - - for (i = 0; i < this->pd_n_include_file_names; i++) - if (n->compare (this->pd_include_file_names[i])) - return I_TRUE; - return I_FALSE; -} - -// Store a name of an #include file -void -IDL_GlobalData::store_include_file_name (String *n) -{ - String **o_include_file_names; - unsigned long o_n_alloced_file_names, i; - - /* - * Check if we need to store it at all or whether we've seen it already - */ - if (seen_include_file_before (n)) - return; - /* - * OK, need to store. Make sure there's space for one more string - */ - if (this->pd_n_include_file_names == this->pd_n_alloced_file_names) - { - // Allocating more space. - - if (this->pd_n_alloced_file_names == 0) - { - this->pd_n_alloced_file_names = INCREMENT; - this->pd_include_file_names = new String *[this->pd_n_alloced_file_names]; - } - else - { - o_include_file_names = this->pd_include_file_names; - o_n_alloced_file_names = this->pd_n_alloced_file_names; - this->pd_n_alloced_file_names += INCREMENT; - this->pd_include_file_names = new String *[this->pd_n_alloced_file_names]; - for (i = 0; i < o_n_alloced_file_names; i++) - this->pd_include_file_names[i] = o_include_file_names[i]; - delete [] o_include_file_names; - } - } - - // Store it. - this->pd_include_file_names[this->pd_n_include_file_names++] = n; -} - -void -IDL_GlobalData::set_include_file_names (String **ns) -{ - this->pd_include_file_names = ns; -} - -String ** -IDL_GlobalData::include_file_names (void) -{ - return this->pd_include_file_names; -} - -void -IDL_GlobalData::set_n_include_file_names (unsigned long n) -{ - pd_n_include_file_names = n; -} - -unsigned long -IDL_GlobalData::n_include_file_names() -{ - return pd_n_include_file_names; -} - -// Access methods to deal with other IDL files included in the main -// IDL file. - -void -IDL_GlobalData::add_to_included_idl_files (char* file_name) -{ - // Is there enough space there to store one more file. - if (this->n_included_idl_files_ == this->n_allocated_idl_files_) - { - // Allocating more space. - if (this->n_allocated_idl_files_ == 0) - { - // First time creation. - this->n_allocated_idl_files_ = INCREMENT; - ACE_NEW (this->included_idl_files_, - char *[this->n_allocated_idl_files_]); - } - else - { - // Adding more storage. - - char** old_included_idl_files; - size_t n_old_allocated_idl_files; - - old_included_idl_files = this->included_idl_files_; - n_old_allocated_idl_files = this->n_allocated_idl_files_; - this->n_included_idl_files_ += INCREMENT; - ACE_NEW (this->included_idl_files_, - char *[this->n_allocated_idl_files_]); - for (size_t i = 0; i < n_old_allocated_idl_files; i++) - this->included_idl_files_ [i] = old_included_idl_files [i]; - delete [] old_included_idl_files; - } - } - - // Store it. - this->included_idl_files_ [this->n_included_idl_files_++] = - file_name; -} - -char** -IDL_GlobalData::included_idl_files (void) -{ - return this->included_idl_files_; -} - -size_t -IDL_GlobalData::n_included_idl_files (void) -{ - return this->n_included_idl_files_; -} - -void -IDL_GlobalData::set_parse_state(ParseState ps) -{ - pd_parse_state = ps; -} - -IDL_GlobalData::ParseState -IDL_GlobalData::parse_state() -{ - return pd_parse_state; -} - -/* - * Convert a PredefinedType to an ExprType - */ -AST_Expression::ExprType -IDL_GlobalData::PredefinedTypeToExprType(AST_PredefinedType::PredefinedType pt) -{ - switch (pt) { - case AST_PredefinedType::PT_long: - return AST_Expression::EV_long; - case AST_PredefinedType::PT_ulong: - return AST_Expression::EV_ulong; - case AST_PredefinedType::PT_short: - return AST_Expression::EV_short; - case AST_PredefinedType::PT_ushort: - return AST_Expression::EV_ushort; - case AST_PredefinedType::PT_float: - return AST_Expression::EV_float; - case AST_PredefinedType::PT_double: - return AST_Expression::EV_double; - case AST_PredefinedType::PT_char: - return AST_Expression::EV_char; - case AST_PredefinedType::PT_octet: - return AST_Expression::EV_octet; - case AST_PredefinedType::PT_boolean: - return AST_Expression::EV_bool; - default: - return AST_Expression::EV_any; - } -} - -// returns the IDL source file being copiled -String* IDL_GlobalData::idl_src_file() -{ - return this->pd_idl_src_file; -} - -// set the source IDL file that is being parsed -void IDL_GlobalData::idl_src_file(String *s) -{ - this->pd_idl_src_file = s; -} - -/************ Helper functions **************/ -static const char* -be_change_idl_file_extension (String* idl_file, - const char *new_extension, - int base_name_only = 0) -{ - // @@ This shouldn't happen anyway; but a better error handling - // mechanism is needed. - if (idl_file == 0 || new_extension == 0) - return 0; - - static char fname[MAXPATHLEN]; - ACE_OS::memset (fname, 0, MAXPATHLEN); - - // Get the char* from the String. - const char* string = idl_file->get_string (); - - // Get the base part of the filename. - const char *base = ACE_OS::strstr (string, ".idl"); - - if (base == 0) - return 0; - - if ((!base_name_only) && (idl_global->output_dir () != 0)) - { - // Path info should also be added to fname. - - // Add path and "/". - ACE_OS::sprintf (fname, "%s/", idl_global->output_dir ()); - - // Append the base part to fname. - ACE_OS::strncpy (fname + strlen (fname), string, base - string); - } - else - // Base_name_only or no putput_dir specified by user. JUST put the - // base part to fname. - ACE_OS::strncpy (fname, string, base - string); - - // Turn '\' and '\\' into '/'. - char* i = fname; - for (char* j = fname; *j != 0; ++i, ++j) - { - if (*j == '\\') - { - *i = '/'; - if (*(j+1) == '\\') - ++j; - } - else - *i = *j; - } - *i = 0; - - // Append the newextension. - ACE_OS::strcat (fname, new_extension); - - return fname; -} - -const char * -IDL_GlobalData::be_get_client_hdr (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->client_hdr_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_client_stub (String *idl_file_name) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->client_stub_ending ()); -} - -const char * -IDL_GlobalData::be_get_client_inline (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->client_inline_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_hdr (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->server_hdr_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_template_hdr (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->server_template_hdr_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_skeleton (String *idl_file_name) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->server_skeleton_ending ()); -} - -const char * -IDL_GlobalData::be_get_server_template_skeleton (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->server_template_skeleton_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_inline (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->server_inline_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_template_inline (String *idl_file_name, - int base_name_only) -{ - return be_change_idl_file_extension (idl_file_name, - idl_global->server_template_inline_ending (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_client_hdr_fname (int base_name_only) -{ - return be_get_client_hdr (idl_global->stripped_filename (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_client_stub_fname () -{ - return be_get_client_stub (idl_global->stripped_filename ()); -} - -const char * -IDL_GlobalData::be_get_client_inline_fname (int base_name_only) -{ - return be_get_client_inline (idl_global->stripped_filename (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_hdr_fname (int base_name_only) -{ - return be_get_server_hdr (idl_global->stripped_filename (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_template_hdr_fname (int base_name_only) -{ - return be_get_server_template_hdr (idl_global->stripped_filename (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_skeleton_fname () -{ - return be_get_server_skeleton (idl_global->stripped_filename ()); -} - -const char * -IDL_GlobalData::be_get_server_template_skeleton_fname (int base_name_only) -{ - return be_get_server_template_skeleton (idl_global->stripped_filename (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_inline_fname (int base_name_only) -{ - return be_get_server_inline (idl_global->stripped_filename (), - base_name_only); -} - -const char * -IDL_GlobalData::be_get_server_template_inline_fname (int base_name_only) -{ - return be_get_server_template_inline (idl_global->stripped_filename (), - base_name_only); -} - -const char* -IDL_GlobalData::export_macro (void) const -{ - if (this->export_macro_ == 0) - return ""; - return this->export_macro_; -} - -void -IDL_GlobalData::export_macro (const char *s) -{ - this->export_macro_ = ACE_OS::strdup (s); -} - -const char* -IDL_GlobalData::export_include (void) const -{ - return this->export_include_; -} - -void -IDL_GlobalData::export_include (const char *s) -{ - this->export_include_ = ACE_OS::strdup (s); -} - -// Set the client_hdr_ending. -void -IDL_GlobalData::client_hdr_ending (const char* s) -{ - delete [] this->client_hdr_ending_; - this->client_hdr_ending_ = ACE::strnew (s); -} - -// Get the client_hdr_ending. -const char* -IDL_GlobalData::client_hdr_ending (void) const -{ - return this->client_hdr_ending_; -} - -void -IDL_GlobalData::client_inline_ending (const char* s) -{ - delete [] this->client_inline_ending_; - this->client_inline_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::client_inline_ending (void) const -{ - return this->client_inline_ending_; -} - -// Set the client_stub_ending. -void -IDL_GlobalData::client_stub_ending (const char* s) -{ - delete [] this->client_stub_ending_; - this->client_stub_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::client_stub_ending (void) const -{ - return this->client_stub_ending_; -} - -void -IDL_GlobalData::server_hdr_ending (const char* s) -{ - delete [] this->server_hdr_ending_; - this->server_hdr_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::server_hdr_ending (void) const -{ - return this->server_hdr_ending_; -} - -void -IDL_GlobalData::server_template_hdr_ending (const char* s) -{ - delete [] this->server_template_hdr_ending_; - this->server_template_hdr_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::server_template_hdr_ending (void) const -{ - return this->server_template_hdr_ending_; -} - -void -IDL_GlobalData::server_skeleton_ending (const char* s) -{ - delete [] this->server_skeleton_ending_; - this->server_skeleton_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::server_skeleton_ending (void) const -{ - return this->server_skeleton_ending_; -} - -void -IDL_GlobalData::server_template_skeleton_ending (const char* s) -{ - delete [] this->server_template_skeleton_ending_; - this->server_template_skeleton_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::server_template_skeleton_ending (void) const -{ - return this->server_template_skeleton_ending_; -} - -void -IDL_GlobalData::server_inline_ending (const char* s) -{ - delete [] this->server_inline_ending_; - this->server_inline_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::server_inline_ending (void) const -{ - return this->server_inline_ending_; -} - -void -IDL_GlobalData::server_template_inline_ending (const char* s) -{ - delete [] this->server_template_inline_ending_; - this->server_template_inline_ending_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::server_template_inline_ending (void) const -{ - return this->server_template_inline_ending_; -} - -void -IDL_GlobalData::output_dir (const char* s) -{ - delete [] this->output_dir_; - this->output_dir_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::output_dir (void) const -{ - return this->output_dir_; -} - -void -IDL_GlobalData::gperf_path (const char* s) -{ - delete [] this->gperf_path_; - this->gperf_path_ = ACE::strnew (s); -} - -const char* -IDL_GlobalData::gperf_path (void) const -{ - return this->gperf_path_; -} - -void -IDL_GlobalData::any_support (idl_bool val) -{ - this->any_support_ = val; -} - -idl_bool -IDL_GlobalData::any_support (void) -{ - return this->any_support_; -} - -void -IDL_GlobalData::tc_support (idl_bool val) -{ - this->tc_support_ = val; -} - -idl_bool -IDL_GlobalData::tc_support (void) -{ - return this->tc_support_; -} - -void -IDL_GlobalData::compiled_marshaling (idl_bool val) -{ - this->compiled_marshaling_ = val; -} - -idl_bool -IDL_GlobalData::compiled_marshaling (void) -{ - return this->compiled_marshaling_; -} - -void -IDL_GlobalData::exception_support (idl_bool val) -{ - this->exception_support_ = val; -} - -idl_bool -IDL_GlobalData::exception_support (void) -{ - return this->exception_support_; -} - -void -IDL_GlobalData::opt_tc (idl_bool val) -{ - this->opt_tc_ = val; -} - -idl_bool -IDL_GlobalData::opt_tc (void) -{ - return this->opt_tc_; -} - - - diff --git a/TAO/TAO_IDL/util/utl_identifier.cpp b/TAO/TAO_IDL/util/utl_identifier.cpp deleted file mode 100644 index 185cd23f413..00000000000 --- a/TAO/TAO_IDL/util/utl_identifier.cpp +++ /dev/null @@ -1,124 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_identifier - Implementation of identifiers - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_identifier, "$Id$") - -/* - * Constructors - */ - -Identifier::Identifier () - : pv_string (NULL) -{ -} - -Identifier::Identifier (char *s, long, long, long) - : pv_string (ACE_OS::strdup (s)) -{ -} - -Identifier::~Identifier () -{ - if (this->pv_string != 0) - { - // The string was allocated using strdup, which uses malloc. - ACE_OS::free (this->pv_string); - } -} - -// Operations - -char * -Identifier::get_string () -{ - return pv_string; -} - -// Compare two Identifier * -long -Identifier::compare (Identifier *o) -{ - if (o == NULL) return I_FALSE; - if (pv_string == NULL || o->get_string() == NULL) - return I_FALSE; - return (ACE_OS::strcmp (pv_string, o->get_string ()) == 0) ? I_TRUE : I_FALSE; -} - -// Dumping - -void -Identifier::dump (ostream &o) -{ - if (pv_string == NULL) return; - - o << get_string(); -} - diff --git a/TAO/TAO_IDL/util/utl_idlist.cpp b/TAO/TAO_IDL/util/utl_idlist.cpp deleted file mode 100644 index 93fd57bd468..00000000000 --- a/TAO/TAO_IDL/util/utl_idlist.cpp +++ /dev/null @@ -1,191 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_idlist.cc -// -// Implementation of a list of utl_string nodes - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_idlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_IdList::UTL_IdList (Identifier *s, UTL_IdList *cdr) - : UTL_List ((UTL_List *) cdr), - pd_car_data (s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Copy a list -UTL_List * -UTL_IdList::copy () -{ - if (tail () == NULL) - return (UTL_List *) new UTL_IdList (head (), NULL); - return (UTL_List *) new UTL_IdList (head (), (UTL_IdList *) tail ()->copy ()); -} - -// Get list item -Identifier * -UTL_IdList::head () -{ - return pd_car_data; -} - -// Get last item of this list -Identifier * -UTL_IdList::last_component () -{ - if (tail()== NULL) - return head (); - return ((UTL_IdList *) tail ())->last_component (); -} - -// AST Dumping -void -UTL_IdList::dump (ostream &o) -{ - UTL_IdListActiveIterator *i = new UTL_IdListActiveIterator (this); - long first = I_TRUE; - long second = I_FALSE; - - while (!(i->is_done ())) - { - if (!first) - o << "::"; - else if (second) - first = second = I_FALSE; - i->item ()->dump (o); - if (first) - { - if (ACE_OS::strcmp (i->item ()->get_string (), "::") != 0) - first = I_FALSE; - else - second = I_TRUE; - } - i->next (); - } -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_IdList active iterator - -/* - * Constructor - */ - -UTL_IdListActiveIterator::UTL_IdListActiveIterator (UTL_IdList *s) - : UTL_ListActiveIterator (s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -Identifier * -UTL_IdListActiveIterator::item () -{ - if (source == NULL) - return NULL; - return ((UTL_IdList *) source)->head (); -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_indenter.cpp b/TAO/TAO_IDL/util/utl_indenter.cpp deleted file mode 100644 index 852e5c203f6..00000000000 --- a/TAO/TAO_IDL/util/utl_indenter.cpp +++ /dev/null @@ -1,135 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_indenter.cc - Implementation of indenter for dumping IDL AST -// - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_indenter, "$Id$") - -/* - * Constructors - */ -UTL_Indenter::UTL_Indenter () - : pd_indent_level (0) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Reset indentation level -void -UTL_Indenter::reset () -{ - pd_indent_level = 0; -} - -// Increase indentation level -void -UTL_Indenter::increase () -{ - pd_indent_level++; -} - -// Decrease indentation level -void -UTL_Indenter::decrease () -{ - if (pd_indent_level > 0) - pd_indent_level--; -} - -// Produce white space to indent to current indentation level on ostream o -void -UTL_Indenter::skip_to (ostream &o) -{ - long i; - - for (i = 0; i < pd_indent_level; i++) - o << " "; -} - -// Produce white space to indent to current indentation level on ostream o -void -UTL_Indenter::skip_to (FILE *fp) -{ - long i; - - for (i = 0; i < pd_indent_level; i++) - ACE_OS::fprintf (fp, " "); -} - -/* - * Redefined virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_labellist.cpp b/TAO/TAO_IDL/util/utl_labellist.cpp deleted file mode 100644 index 8dfa1b4907f..00000000000 --- a/TAO/TAO_IDL/util/utl_labellist.cpp +++ /dev/null @@ -1,147 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_labellist.cc -// -// Implementation of a list of scoped names - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_labellist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_LabelList::UTL_LabelList(AST_UnionLabel *s, UTL_LabelList *cdr) - : UTL_List(cdr), - pd_car_data(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get list item -AST_UnionLabel * -UTL_LabelList::head() -{ - return pd_car_data; -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_LabelList active iterator - -/* - * Constructor - */ - -UTL_LabellistActiveIterator::UTL_LabellistActiveIterator(UTL_LabelList *s) - : UTL_ListActiveIterator(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -AST_UnionLabel * -UTL_LabellistActiveIterator::item() -{ - if (source == NULL) - return NULL; - return ((UTL_LabelList *) source)->head(); -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_list.cpp b/TAO/TAO_IDL/util/utl_list.cpp deleted file mode 100644 index ffbbe4e52f4..00000000000 --- a/TAO/TAO_IDL/util/utl_list.cpp +++ /dev/null @@ -1,199 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_list.cc -// -// Implementation of generic single-linked lists - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_list, "$Id$") - -/* - * Constructor(s) - */ - -UTL_List::UTL_List(UTL_List *c) - : pd_cdr_data(c) -{ -} - -/* - * Private operations - */ - -// Compute list length -long -UTL_List::list_length(long n) -{ - if (pd_cdr_data == NULL) - return n; - else - return pd_cdr_data->list_length(n+1); -} - -/* - * Public operations - */ - -// Smash last cdr with l -void -UTL_List::nconc(UTL_List *l) -{ - if (pd_cdr_data == NULL) - pd_cdr_data = l; - else - pd_cdr_data->nconc(l); -} - -/* - * Override this operation to copy lists of other types - */ -// Copy a list -UTL_List * -UTL_List::copy() -{ - if (pd_cdr_data == NULL) - return new UTL_List(NULL); - return new UTL_List(pd_cdr_data->copy()); -} - -// Get next list -UTL_List * -UTL_List::tail() -{ - return pd_cdr_data; -} - -// Set next list -void -UTL_List::set_tail(UTL_List *l) -{ - pd_cdr_data = l; -} - -// Compute list length -long -UTL_List::length() -{ - return list_length(1); -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_List active iterator - -/* - * Constructor - */ - -UTL_ListActiveIterator::UTL_ListActiveIterator(UTL_List *s) - : source(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Is iterator done? -long -UTL_ListActiveIterator::is_done() -{ - return (source == NULL) ? I_TRUE : I_FALSE; -} - -// Advance to next item -void -UTL_ListActiveIterator::next() -{ - if (source != NULL) - source = source->tail(); -} - -/* - * Redefinition of inherited operations - */ - diff --git a/TAO/TAO_IDL/util/utl_namelist.cpp b/TAO/TAO_IDL/util/utl_namelist.cpp deleted file mode 100644 index d0f34fbf3f7..00000000000 --- a/TAO/TAO_IDL/util/utl_namelist.cpp +++ /dev/null @@ -1,147 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_namelist.cc -// -// Implementation of a list of scoped names - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_namelist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_NameList::UTL_NameList(UTL_ScopedName *s, UTL_NameList *cdr) - : UTL_List(cdr), - pd_car_data(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get list item -UTL_ScopedName * -UTL_NameList::head() -{ - return pd_car_data; -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_NameList active iterator - -/* - * Constructor - */ - -UTL_NamelistActiveIterator::UTL_NamelistActiveIterator(UTL_NameList *s) - : UTL_ListActiveIterator(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -UTL_ScopedName * -UTL_NamelistActiveIterator::item() -{ - if (source == NULL) - return NULL; - return ((UTL_NameList *) source)->head(); -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_scope.cpp b/TAO/TAO_IDL/util/utl_scope.cpp deleted file mode 100644 index 63176110668..00000000000 --- a/TAO/TAO_IDL/util/utl_scope.cpp +++ /dev/null @@ -1,1206 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -/* - * utl_scope.cc - Implementation of class UTL_Scope - */ - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_scope, "$Id$") - -#undef INCREMENT -#define INCREMENT 64 - -/* - * Static functions - */ -static Identifier *_global_scope_name = NULL; -static Identifier *_global_scope_root_name = NULL; - -/* - * Determines if a name is global - */ -static long -is_global_name(Identifier *i) -{ - long comp_result = 0; - - if (i == NULL) return comp_result; - - if (_global_scope_name == NULL) - _global_scope_name = new Identifier("::", 1, 0, I_FALSE); - - if (_global_scope_root_name == NULL) - _global_scope_root_name = new Identifier("", 1, 0, I_FALSE); - - comp_result = i->compare(_global_scope_name); - if (!comp_result) - comp_result = i->compare(_global_scope_root_name); - - return comp_result; -} - -/* - * Helper function for lookup_by_name. Iterates doing local lookups of - * subsequent components of a scoped name - */ -static AST_Decl * -iter_lookup_by_name_local(AST_Decl *d, UTL_ScopedName *e, - idl_bool treat_as_ref) -{ - Identifier *s; - AST_Typedef *td; - UTL_IdListActiveIterator *i; - UTL_Scope *sc; - - i = new UTL_IdListActiveIterator(e); - for (i->next(); !(i->is_done()); ) { - s = i->item(); - /* - * Update iterator before loop. This is needed for the check for - * typedef, since we only want to look at the base type if there - * actually are more components of the name to resolve. - */ - i->next(); - /* - * Next component in name was not found - */ - if (d == NULL) { - return NULL; - } - /* - * If this is a typedef and we're not done, we should get the - * base type to get the scope it defines (if any) - */ - if (!(i->is_done())) { - while (d != NULL && d->node_type() == AST_Decl::NT_typedef) { - td = AST_Typedef::narrow_from_decl(d); - if (td == NULL) - return NULL; - d = td->base_type(); - } - if (d == NULL) - return NULL; - } - /* - * Try to convert the AST_Decl to a UTL_Scope - */ - sc = DeclAsScope(d); - if (sc == NULL) - return NULL; - /* - * Look up the next element - */ - d = sc->lookup_by_name_local(s, treat_as_ref); - } - /* - * OK, done with the loop - */ - return d; -} - -/* - * Constructor(s) - */ -UTL_Scope::UTL_Scope() - : pd_scope_node_type(AST_Decl::NT_module), - pd_decls(NULL), - pd_decls_allocated(0), - pd_decls_used(0), - pd_local_types(NULL), - pd_locals_allocated(0), - pd_locals_used(0), - pd_referenced(NULL), - pd_referenced_allocated(0), - pd_referenced_used(0) -{ -} - -UTL_Scope::UTL_Scope(AST_Decl::NodeType nt) - : pd_scope_node_type(nt), - pd_decls(NULL), - pd_decls_allocated(0), - pd_decls_used(0), - pd_local_types(NULL), - pd_locals_allocated(0), - pd_locals_used(0), - pd_referenced(NULL), - pd_referenced_allocated(0), - pd_referenced_used(0) -{ -} - -/* - * Private operations - */ - -static -AST_Decl * add_type(AST_Type *type) -{ - AST_Decl * result = 0; - UTL_Scope * scope = 0; - switch (type->node_type()) { - case AST_Decl::NT_array: - result = - idl_global->root()->add_array(AST_Array::narrow_from_decl(type)); - break; - case AST_Decl::NT_enum: - result = type->defined_in()->add_enum(AST_Enum::narrow_from_decl(type)); - scope = AST_Enum::narrow_from_decl(type); - break; - case AST_Decl::NT_sequence: - result = - idl_global->root()->add_sequence(AST_Sequence::narrow_from_decl(type)); - break; - case AST_Decl::NT_string: - result = - idl_global->root()->add_string(AST_String::narrow_from_decl(type)); - break; - case AST_Decl::NT_struct: - result = - type->defined_in()-> - add_structure(AST_Structure::narrow_from_decl(type)); - scope = AST_Structure::narrow_from_decl(type); - break; - case AST_Decl::NT_union: - result = - type->defined_in()->add_union(AST_Union::narrow_from_decl(type)); - scope = AST_Union::narrow_from_decl(type); - break; - default: - // for non-complex types, like predefined types - // no additional add needed, assume everything is ok - result = (AST_Decl *) 1; - break; - } - if (scope) - result = scope->call_add(); - return result; -} - -/* - * Protected operations - */ - -/* - * Special version of lookup which only looks at the local name instead of - * the fully scoped name, when doing lookups. This version is intended to - * be used only by the CFE add_xxx functions - */ -AST_Decl * -UTL_Scope::lookup_for_add(AST_Decl *d, idl_bool treat_as_ref) -{ - if (d == NULL) - return NULL; - return lookup_by_name_local(d->local_name(), treat_as_ref); -} - -/* - * Public operations - */ - -// Narrowing -IMPL_NARROW_METHODS0(UTL_Scope) -IMPL_NARROW_FROM_SCOPE(UTL_Scope) - -// Scope Management Protocol -// -// All members of the protocol defined in UTL_Scope simply return the node -// and don't do a thing. These members are simply dummies to retain -// compatibility with pre-two-pass compiler back-ends. - -AST_PredefinedType *UTL_Scope::add_predefined_type(AST_PredefinedType *p) -{ - if (p == NULL) return NULL; - p->set_added(I_TRUE); - return p; -} - -AST_Module *UTL_Scope::add_module(AST_Module *m) -{ - if (m == NULL) return NULL; - m->set_added(I_TRUE); - return m; -} - -AST_Interface *UTL_Scope::add_interface(AST_Interface *i) -{ - if (i == NULL) return NULL; - i->set_added(I_TRUE); - return i; -} - -AST_InterfaceFwd *UTL_Scope::add_interface_fwd(AST_InterfaceFwd *i) -{ - if (i == NULL) return NULL; - i->set_added(I_TRUE); - return i; -} - -AST_Exception *UTL_Scope::add_exception(AST_Exception *e) -{ - if (e == NULL) return NULL; - e->set_added(I_TRUE); - return e; -} - -AST_Constant *UTL_Scope::add_constant(AST_Constant *c) -{ - if (c == NULL) return NULL; - c->set_added(I_TRUE); - return c; -} - -UTL_StrList *UTL_Scope::add_context(UTL_StrList *c) -{ - return c; -} - -UTL_NameList *UTL_Scope::add_exceptions(UTL_NameList *e) -{ - return e; -} - -AST_Attribute *UTL_Scope::add_attribute(AST_Attribute *a) -{ - if (a == NULL) return NULL; - a->set_added(I_TRUE); - if (!a->field_type()->added()) { - return add_type(a->field_type()) ? a : 0 ; - } else - return a; -} - -AST_Operation *UTL_Scope::add_operation(AST_Operation *o) -{ - if (o == NULL) return NULL; - o->set_added(I_TRUE); - if (!o->return_type()->added()) { - return add_type(o->return_type()) ? o : 0 ; - } else - return o; -} - -AST_Argument *UTL_Scope::add_argument(AST_Argument *a) -{ - if (a == NULL) return NULL; - a->set_added(I_TRUE); - if (!a->field_type()->added()) { - return add_type(a->field_type()) ? a : 0 ; - } else - return a; -} - -AST_Union *UTL_Scope::add_union(AST_Union *u) -{ - if (u == NULL) return NULL; - u->set_added(I_TRUE); - return u; -} - -AST_UnionBranch *UTL_Scope::add_union_branch(AST_UnionBranch *u) -{ - if (u == NULL) return NULL; - u->set_added(I_TRUE); - if (!u->field_type()->added()) { - return add_type(u->field_type()) ? u : 0 ; - } else - return u; -} - -AST_Structure *UTL_Scope::add_structure(AST_Structure *s) -{ - if (s == NULL) return NULL; - s->set_added(I_TRUE); - return s; -} - -AST_Field *UTL_Scope::add_field(AST_Field *f) -{ - if (f == NULL) return NULL; - f->set_added(I_TRUE); - if (!f->field_type()->added()) { - return add_type(f->field_type()) ? f : 0 ; - } else - return f; -} - -AST_Enum *UTL_Scope::add_enum(AST_Enum *e) -{ - if (e == NULL) return NULL; - e->set_added(I_TRUE); - return e; -} - -AST_EnumVal *UTL_Scope::add_enum_val(AST_EnumVal *e) -{ - if (e == NULL) return NULL; - e->set_added(I_TRUE); - return e; -} - -AST_Typedef *UTL_Scope::add_typedef(AST_Typedef *t) -{ - if (t == NULL) return NULL; - t->set_added(I_TRUE); - if (!t->base_type()->added()) { - return add_type(t->base_type()) ? t : 0 ; - } else - return t; -} - -AST_Sequence *UTL_Scope::add_sequence(AST_Sequence *s) -{ - if (s == NULL) return NULL; - s->set_added(I_TRUE); - if (!s->base_type()->added()) { - return add_type(s->base_type()) ? s : 0 ; - } else - return s; -} - -AST_String *UTL_Scope::add_string(AST_String *s) -{ - if (s == NULL) return NULL; - s->set_added(I_TRUE); - return s; -} - -AST_Array *UTL_Scope::add_array(AST_Array *a) -{ - if (a == NULL) return NULL; - a->set_added(I_TRUE); - if (!a->base_type()->added()) { - return add_type(a->base_type()) ? a : 0 ; - } else - return a; -} - -AST_Native *UTL_Scope::add_native (AST_Native *n) -{ - if (n == NULL) return NULL; - n->set_added (I_TRUE); - return n; -} - -// Protected Front End Scope Management Protocol -// -// All members of the protocol defined in UTL_Scope simply return NULL -// and don't do a thing. This ensures that runtime errors will discover -// operations which should have been redefined to allow certain kinds of -// AST nodes to appear in a given context - -AST_PredefinedType *UTL_Scope::fe_add_predefined_type(AST_PredefinedType *) -{ - return NULL; -} - -AST_Module *UTL_Scope::fe_add_module(AST_Module *) -{ - return NULL; -} - -AST_Interface *UTL_Scope::fe_add_interface(AST_Interface *) -{ - return NULL; -} - -AST_InterfaceFwd *UTL_Scope::fe_add_interface_fwd(AST_InterfaceFwd *) -{ - return NULL; -} - -AST_Exception *UTL_Scope::fe_add_exception(AST_Exception *) -{ - return NULL; -} - -AST_Constant *UTL_Scope::fe_add_constant(AST_Constant *) -{ - return NULL; -} - -UTL_StrList *UTL_Scope::fe_add_context(UTL_StrList *) -{ - return NULL; -} - -UTL_NameList *UTL_Scope::fe_add_exceptions(UTL_NameList *) -{ - return NULL; -} - -AST_Attribute *UTL_Scope::fe_add_attribute(AST_Attribute *) -{ - return NULL; -} - -AST_Operation *UTL_Scope::fe_add_operation(AST_Operation *) -{ - return NULL; -} - -AST_Argument *UTL_Scope::fe_add_argument(AST_Argument *) -{ - return NULL; -} - -AST_Union *UTL_Scope::fe_add_union(AST_Union *) -{ - return NULL; -} - -AST_UnionBranch *UTL_Scope::fe_add_union_branch(AST_UnionBranch *) -{ - return NULL; -} - -AST_Structure *UTL_Scope::fe_add_structure(AST_Structure *) -{ - return NULL; -} - -AST_Field *UTL_Scope::fe_add_field(AST_Field *) -{ - return NULL; -} - -AST_Enum *UTL_Scope::fe_add_enum(AST_Enum *) -{ - return NULL; -} - -AST_EnumVal *UTL_Scope::fe_add_enum_val(AST_EnumVal *) -{ - return NULL; -} - -AST_Typedef *UTL_Scope::fe_add_typedef(AST_Typedef *) -{ - return NULL; -} - -AST_Sequence *UTL_Scope::fe_add_sequence(AST_Sequence *) -{ - return NULL; -} - -AST_String *UTL_Scope::fe_add_string(AST_String *) -{ - return NULL; -} - -AST_Array *UTL_Scope::fe_add_array(AST_Array *) -{ - return NULL; -} - -AST_Native *UTL_Scope::fe_add_native (AST_Native *) -{ - return NULL; -} - -// This is the second pass of the front end -// It calls the public add protocol on everything in scope. -// It calls the add_xx functions of the most derived AST_Node. - -AST_Decl *UTL_Scope::call_add() -{ - AST_Decl *result = NULL; - AST_Decl *decl; - - UTL_ScopeActiveIterator *i; - UTL_Scope *scope; - - i = new UTL_ScopeActiveIterator(this, UTL_Scope::IK_decls); - while(!(i->is_done())) { - decl = i->item(); - scope = 0; - switch (decl->node_type()) { - case AST_Decl::NT_argument: - result = add_argument(AST_Argument::narrow_from_decl(decl)); - break; - case AST_Decl::NT_array: - result = add_array(AST_Array::narrow_from_decl(decl)); - break; - case AST_Decl::NT_attr: - result = add_attribute(AST_Attribute::narrow_from_decl(decl)); - break; - case AST_Decl::NT_const: - result = add_constant(AST_Constant::narrow_from_decl(decl)); - break; - case AST_Decl::NT_enum: - scope = AST_Enum::narrow_from_decl(decl); - result = add_enum(AST_Enum::narrow_from_decl(decl)); - break; - case AST_Decl::NT_enum_val: - result = add_enum_val(AST_EnumVal::narrow_from_decl(decl)); - break; - case AST_Decl::NT_except: - scope = AST_Exception::narrow_from_decl(decl); - result = add_exception(AST_Exception::narrow_from_decl(decl)); - break; - case AST_Decl::NT_field: - result = add_field(AST_Field::narrow_from_decl(decl)); - break; - case AST_Decl::NT_interface: - scope = AST_Interface::narrow_from_decl(decl); - result = add_interface(AST_Interface::narrow_from_decl(decl)); - break; - case AST_Decl::NT_interface_fwd: - result = add_interface_fwd(AST_InterfaceFwd::narrow_from_decl(decl)); - break; - case AST_Decl::NT_module: - scope = AST_Module::narrow_from_decl(decl); - result = add_module(AST_Module::narrow_from_decl(decl)); - break; - case AST_Decl::NT_native: - result = add_native (AST_Native::narrow_from_decl(decl)); - break; - case AST_Decl::NT_op: - result = add_operation(AST_Operation::narrow_from_decl(decl)); - scope = AST_Operation::narrow_from_decl(decl); - break; - case AST_Decl::NT_pre_defined: - result = - add_predefined_type(AST_PredefinedType::narrow_from_decl(decl)); - break; - case AST_Decl::NT_sequence: - result = add_sequence(AST_Sequence::narrow_from_decl(decl)); - break; - case AST_Decl::NT_string: - result = add_string(AST_String::narrow_from_decl(decl)); - break; - case AST_Decl::NT_struct: - result = add_structure(AST_Structure::narrow_from_decl(decl)); - scope = AST_Structure::narrow_from_decl(decl); - break; - case AST_Decl::NT_typedef: - result = add_typedef(AST_Typedef::narrow_from_decl(decl)); - break; - case AST_Decl::NT_union: - result = add_union(AST_Union::narrow_from_decl(decl)); - scope = AST_Union::narrow_from_decl(decl); - break; - case AST_Decl::NT_union_branch: - result = add_union_branch(AST_UnionBranch::narrow_from_decl(decl)); - break; - default: - return NULL; - } - if (scope) - scope->call_add(); - i->next(); - } - return result; -} - -// Private lookup mechanism - -/* - * Lookup the node for a primitive (built in) type - */ -AST_Decl * -UTL_Scope::lookup_primitive_type(AST_Expression::ExprType et) -{ - AST_Decl *as_decl; - UTL_Scope *ancestor; - AST_PredefinedType *t; - UTL_ScopeActiveIterator *i; - AST_PredefinedType::PredefinedType pdt; - - as_decl = ScopeAsDecl(this); - if (as_decl == NULL) - return NULL; - ancestor = as_decl->defined_in(); - if (ancestor != NULL) - return ancestor->lookup_primitive_type(et); - - switch (et) { - case AST_Expression::EV_short: - pdt = AST_PredefinedType::PT_short; - break; - case AST_Expression::EV_ushort: - pdt = AST_PredefinedType::PT_ushort; - break; - case AST_Expression::EV_long: - pdt = AST_PredefinedType::PT_long; - break; - case AST_Expression::EV_ulong: - pdt = AST_PredefinedType::PT_ulong; - break; - case AST_Expression::EV_longlong: - pdt = AST_PredefinedType::PT_longlong; - break; - case AST_Expression::EV_ulonglong: - pdt = AST_PredefinedType::PT_ulonglong; - break; - case AST_Expression::EV_float: - pdt = AST_PredefinedType::PT_float; - break; - case AST_Expression::EV_double: - pdt = AST_PredefinedType::PT_double; - break; - case AST_Expression::EV_longdouble: - pdt = AST_PredefinedType::PT_longdouble; - break; - case AST_Expression::EV_char: - pdt = AST_PredefinedType::PT_char; - break; - case AST_Expression::EV_wchar: - pdt = AST_PredefinedType::PT_wchar; - break; - case AST_Expression::EV_octet: - pdt = AST_PredefinedType::PT_octet; - break; - case AST_Expression::EV_bool: - pdt = AST_PredefinedType::PT_boolean; - break; - case AST_Expression::EV_any: - pdt = AST_PredefinedType::PT_any; - break; - case AST_Expression::EV_void: - pdt = AST_PredefinedType::PT_void; - break; - case AST_Expression::EV_string: - case AST_Expression::EV_wstring: - case AST_Expression::EV_none: - default: - return NULL; - } - i = new UTL_ScopeActiveIterator(this, UTL_Scope::IK_decls); - while (!(i->is_done())) { - as_decl = i->item(); - if (as_decl->node_type() == AST_Decl::NT_pre_defined) { - t = AST_PredefinedType::narrow_from_decl(as_decl); - if (t == NULL) { - i->next(); - continue; - } - if (t->pt() == pdt) { - delete i; - return t; - } - } - i->next(); - } - delete i; - return NULL; -} - -/* - * Look through inherited interfaces - */ -AST_Decl * -UTL_Scope::look_in_inherited(UTL_ScopedName *e, idl_bool treat_as_ref) -{ - AST_Decl *d = NULL; - AST_Interface *i = AST_Interface::narrow_from_scope(this); - AST_Interface **is; - long nis; - - /* - * This scope is not an interface.. - */ - if (i == NULL) - return NULL; - /* - * Can't look in an interface which was not yet defined - */ - if (!i->is_defined()) { - idl_global->err()->fwd_decl_lookup(i, e); - return NULL; - } - /* - * OK, loop through inherited interfaces. Stop when you find it - */ - for (nis = i->n_inherits(), is = i->inherits(); nis > 0; nis--, is++) { - d = (*is)->lookup_by_name(e, treat_as_ref); - if (d != NULL) - return d; - } - /* - * Not found - */ - return NULL; -} - -/* - * Look up a String * in local scope only - */ -AST_Decl * -UTL_Scope::lookup_by_name_local(Identifier *e, idl_bool) -{ - UTL_ScopeActiveIterator *i = new UTL_ScopeActiveIterator(this, - UTL_Scope::IK_both); - AST_Decl *d; - AST_InterfaceFwd *fwd; - - /* - * Iterate over this scope - */ - while (!(i->is_done())) { - d = i->item(); - if (d->local_name() != NULL && d->local_name()->compare(e)) { - delete i; - /* - * Special case for forward declared interfaces. Look through the - * forward declaration and retrieve the full definition - */ - if (d->node_type() == AST_Decl::NT_interface_fwd) { - fwd = AST_InterfaceFwd::narrow_from_decl(d); - if (fwd == NULL) - d = NULL; - else - d = fwd->full_definition(); - } - return d; - } - i->next(); - } - /* - * OK, not found, return NULL - */ - return NULL; -} - -/* - * Implements lookup by name for scoped names - */ -AST_Decl * -UTL_Scope::lookup_by_name(UTL_ScopedName *e, idl_bool treat_as_ref) -{ - AST_Decl *d; - UTL_Scope *t = NULL; - - /* - * Empty name? error - */ - if (e == NULL) { - return NULL; - } - /* - * If name starts with "::" or "" start look up in global scope - */ - if (is_global_name(e->head())) { - /* - * Get parent scope - */ - d = ScopeAsDecl(this); - if (d == NULL) - return NULL; - t = d->defined_in(); - /* - * If this is the global scope.. - */ - if (t == NULL) { - /* - * Look up tail of name starting here - */ - d = lookup_by_name((UTL_ScopedName *) e->tail(), treat_as_ref); - /* - * Now return whatever we have - */ - return d; - } - /* - * OK, not global scope yet, so simply iterate with parent scope - */ - d = t->lookup_by_name(e, treat_as_ref); - /* - * If treat_as_ref is true and d is not NULL, add d to - * set of nodes referenced here - */ - if (treat_as_ref && d != NULL) - add_to_referenced(d, I_FALSE); - /* - * Now return what we have - */ - return d; - } - /* - * The name does not start with "::" - * - * Is name defined here? - */ - d = lookup_by_name_local(e->head(), treat_as_ref); - if (d == NULL) { - /* - * OK, not found. Go down parent scope chain. - */ - d = ScopeAsDecl(this); - if (d != NULL) { - t = d->defined_in(); - if (t == NULL) - d = NULL; - else - d = t->lookup_by_name(e, treat_as_ref); - } - /* - * Special case for scope which is an interface. We have to look - * in the inherited interfaces as well.. - */ - if (d == NULL) { - if (pd_scope_node_type == AST_Decl::NT_interface) - d = look_in_inherited(e, treat_as_ref); - } - /* - * If treat_as_ref is true and d is not NULL, add d to - * set of nodes referenced here - */ - if (treat_as_ref && d != NULL) - add_to_referenced(d, I_FALSE); - /* - * OK, now return whatever we found - */ - return d; - } - /* - * OK, start of name is defined. Now loop doing local lookups - * of subsequent elements of the name - */ - d = iter_lookup_by_name_local(d, e, treat_as_ref); - /* - * If treat_as_ref is true and d is not NULL, add d to set - * of nodes referenced here. - */ - if (treat_as_ref && d != NULL) - add_to_referenced(d, I_FALSE); - /* - * All OK, name fully resolved - */ - return d; -} - -// Add a node to set of nodes referenced in this scope -void -UTL_Scope::add_to_referenced(AST_Decl *e, idl_bool recursive) -{ - UTL_Scope *s; - AST_Decl **tmp; - AST_Interface *itf; - long oreferenced_allocated; - long i; - - if (e == NULL) return; - - // Special case for forward declared interfaces in the - // scope in which they're defined. Cannot add before full - // definition is seen - if (e->node_type() == AST_Decl::NT_interface) { - itf = AST_Interface::narrow_from_decl(e); - if (itf != NULL && itf->defined_in() == this && !itf->is_defined()) - return; - } - // Only insert if it is not there already - if (referenced(e)) - return; - - // Make sure there's space for one more - if (pd_referenced_allocated == pd_referenced_used) { - - oreferenced_allocated = pd_referenced_allocated; - pd_referenced_allocated += INCREMENT; - tmp = new AST_Decl *[pd_referenced_allocated]; - - for (i = 0; i < oreferenced_allocated; i++) - tmp[i] = pd_referenced[i]; - - delete []pd_referenced; - - pd_referenced = tmp; - } - - // Insert new reference - pd_referenced[pd_referenced_used++] = e; - - // Now, if recursive is specified and "this" is not a common ancestor - // of the referencing scope and the scope of definition of "e" then - // add "e" to the set of referenced nodes in the parent of "this" - if (recursive && !(e->has_ancestor(ScopeAsDecl(this)))) { - s = e->defined_in(); - if (s != NULL) - s->add_to_referenced(e, recursive); - } -} - -// Add a node to set of nodes declared in this scope -void -UTL_Scope::add_to_scope(AST_Decl *e) -{ - AST_Decl **tmp; - long odecls_allocated; - long i; - - if (e == NULL) return; - - // Make sure there's space for one more - if (pd_decls_allocated == pd_decls_used) { - - odecls_allocated = pd_decls_allocated; - pd_decls_allocated += INCREMENT; - tmp = new AST_Decl *[pd_decls_allocated]; - - for (i = 0; i < odecls_allocated; i++) - tmp[i] = pd_decls[i]; - - delete []pd_decls; - - pd_decls = tmp; - } - - // Insert new decl - pd_decls[pd_decls_used++] = e; -} - -// Add a node to set of nodes representing manifest types defined in this scope -void -UTL_Scope::add_to_local_types(AST_Decl *e) -{ - AST_Decl **tmp; - long olocals_allocated; - long i; - - if (e == NULL) return; - - // Make sure there's space for one more - if (pd_locals_allocated == pd_locals_used) { - - olocals_allocated = pd_locals_allocated; - pd_locals_allocated += INCREMENT; - tmp = new AST_Decl *[pd_locals_allocated]; - - for (i = 0; i < olocals_allocated; i++) - tmp[i] = pd_local_types[i]; - - delete []pd_local_types; - - pd_local_types = tmp; - } - - // Insert new decl - pd_local_types[pd_locals_used++] = e; -} - -// Has this node been referenced here before? -idl_bool -UTL_Scope::referenced(AST_Decl *e) -{ - long i = pd_referenced_used; - AST_Decl **tmp = pd_referenced; - - for (; i > 0; i--, tmp++) - if (*tmp == e) // Same node? - return I_TRUE; - - return I_FALSE; // Not found -} - -/* - * Redefinition of inherited virtual operations - */ - -// AST Dumping -void -UTL_Scope::dump(ostream &o) -{ - UTL_ScopeActiveIterator *i; - AST_Decl *d; - - if (idl_global->indent() == NULL) - idl_global->set_indent(new UTL_Indenter()); - - idl_global->indent()->increase(); - - if (pd_locals_used > 0) { - i = new UTL_ScopeActiveIterator(this, UTL_Scope::IK_localtypes); - - o << GTDEVEL("\n/* Locally defined types: */\n"); - while (!(i->is_done())) { - d = i->item(); - if (!d->imported()) { - idl_global->indent()->skip_to(o); - d->dump(o); - o << "\n"; - } - i->next(); - } - delete i; - } - - if (pd_decls_used > 0) { - i = new UTL_ScopeActiveIterator(this, UTL_Scope::IK_decls); - - o << GTDEVEL("\n/* Declarations: */\n"); - while (!(i->is_done())) { - d = i->item(); - if (!d->imported()) { - idl_global->indent()->skip_to(o); - d->dump(o); - o << ";\n"; - } - i->next(); - } - delete i; - } - - idl_global->indent()->decrease(); -} - -// How many entries are defined? -unsigned long -UTL_Scope::nmembers() -{ - return pd_decls_used; -} - -// UTL_SCOPE_ACTIVE_ITERATOR - -/* - * Constructor - */ - -UTL_ScopeActiveIterator::UTL_ScopeActiveIterator( - UTL_Scope *s, - UTL_Scope::ScopeIterationKind i) - : iter_source(s), - ik(i), - stage(i == UTL_Scope::IK_both - ? UTL_Scope::IK_decls - : i), - il(0) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Advance to next iterm -void -UTL_ScopeActiveIterator::next() -{ - il++; -} - -// Get current item -AST_Decl * -UTL_ScopeActiveIterator::item() -{ - if (is_done()) - return NULL; - if (stage == UTL_Scope::IK_decls) - return iter_source->pd_decls[il]; - if (stage == UTL_Scope::IK_localtypes) - return iter_source->pd_local_types[il]; - - return NULL; -} - -// Is this iteration done? -idl_bool -UTL_ScopeActiveIterator::is_done() -{ - long limit; - - limit = (stage == UTL_Scope::IK_decls) - ? iter_source->pd_decls_used - : iter_source->pd_locals_used; - - for (;;) { - if (il < limit) // Last element? - return I_FALSE; - if (stage == UTL_Scope::IK_localtypes) // Already done local types? - return I_TRUE; - if (ik == UTL_Scope::IK_decls) // Only want decls? - return I_TRUE; - - // Switch to next stage - stage = UTL_Scope::IK_localtypes; - il = 0; - limit = iter_source->pd_locals_used; - } -} - -// What kind of iterator is this? -UTL_Scope::ScopeIterationKind -UTL_ScopeActiveIterator::iteration_kind() -{ - return ik; -} - -// And where are we in the iteration? -UTL_Scope::ScopeIterationKind -UTL_ScopeActiveIterator::iteration_stage() -{ - return stage; -} diff --git a/TAO/TAO_IDL/util/utl_stack.cpp b/TAO/TAO_IDL/util/utl_stack.cpp deleted file mode 100644 index 2e70c1bb7c5..00000000000 --- a/TAO/TAO_IDL/util/utl_stack.cpp +++ /dev/null @@ -1,258 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -/* - * utl_stack.cc - Implementation of class UTL_ScopeStack - */ - -#include "idl.h" -#include "ast_decl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_stack, "$Id$") - -// Class UTL_ScopeStack - -#undef INCREMENT -#define INCREMENT 64 - -/* - * Constructor(s) and destructor - */ - -UTL_ScopeStack::UTL_ScopeStack() - : pd_stack_data(new UTL_Scope *[INCREMENT]), - pd_stack_data_nalloced(INCREMENT), - pd_stack_top(0) -{ -} - -UTL_ScopeStack::~UTL_ScopeStack() -{ - if (pd_stack_data != NULL) - delete pd_stack_data; -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Push an element on the stack -UTL_ScopeStack * -UTL_ScopeStack::push(UTL_Scope *el) -{ - UTL_Scope **tmp; - AST_Decl *d = ScopeAsDecl(el); - long ostack_data_nalloced; - long i; - - // Macro to avoid "warning: unused parameter" type warning. - ACE_UNUSED_ARG (d); - - // Make sure there's space for one more - if (pd_stack_data_nalloced == pd_stack_top) { - ostack_data_nalloced = pd_stack_data_nalloced; - pd_stack_data_nalloced += INCREMENT; - tmp = new UTL_Scope *[pd_stack_data_nalloced]; - - for (i = 0; i < ostack_data_nalloced; i++) - tmp[i] = pd_stack_data[i]; - - delete []pd_stack_data; - pd_stack_data = tmp; - } - - // Insert new scope - pd_stack_data[pd_stack_top++] = el; - - return this; -} - -// Pop an element from the stack -void -UTL_ScopeStack::pop() -{ - if (pd_stack_top <= 0) - return; - pd_stack_data[--pd_stack_top]; -} - -// Return top element on stack -UTL_Scope * -UTL_ScopeStack::top() -{ - if (pd_stack_top <= 0) - return NULL; - return pd_stack_data[pd_stack_top - 1]; -} - -// Return bottom element on stack -UTL_Scope * -UTL_ScopeStack::bottom() -{ - if (pd_stack_top == 0) - return NULL; - return pd_stack_data[0]; -} - -// Clear entire stack -void -UTL_ScopeStack::clear() -{ - pd_stack_top = 0; -} - -// How deep is the stack? -unsigned long -UTL_ScopeStack::depth() -{ - return pd_stack_top; -} - -// Return (top - 1) element on stack -UTL_Scope * -UTL_ScopeStack::next_to_top() -{ - UTL_Scope *tmp, *retval; - - if (depth() < 2) - return NULL; - - tmp = top(); // Save top - (void) pop(); // Pop it - retval = top(); // Get next one down - (void) push(tmp); // Push top back - return retval; // Return next one down -} - -// Return topmost non-NULL element -UTL_Scope * -UTL_ScopeStack::top_non_null() -{ - long i; - - for (i = pd_stack_top - 1; i >= 0; i--) - if (pd_stack_data[i] != NULL) - return pd_stack_data[i]; - return NULL; -} - -/* - * Redefinition of inherited virtual operations - */ - -// Class UTL_ScopeStackActiveIterator - -/* - * Constructor(s) - */ - -UTL_ScopeStackActiveIterator::UTL_ScopeStackActiveIterator(UTL_ScopeStack *s) - : source(s), - il(s->pd_stack_top - 1) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Advance to next item -void -UTL_ScopeStackActiveIterator::next() -{ - il--; -} - -// Get current item -UTL_Scope * -UTL_ScopeStackActiveIterator::item() -{ - if (il >= 0) - return source->pd_stack_data[il]; - return NULL; -} - -// Is this iteration done? -long -UTL_ScopeStackActiveIterator::is_done() -{ - if (il >= 0) - return I_FALSE; - return I_TRUE; -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_string.cpp b/TAO/TAO_IDL/util/utl_string.cpp deleted file mode 100644 index 692c5ba37a6..00000000000 --- a/TAO/TAO_IDL/util/utl_string.cpp +++ /dev/null @@ -1,214 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_string.cc - Implementation of quick and dirty TEMPORARY String -// for IDL compiler - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_string, "$Id$") - -/* - * Constructors - */ - -UTL_String::UTL_String (void) - : p_str (NULL), - len (0), - alloced (0) -{ -} - -UTL_String::UTL_String (char *str) -{ - if (str == NULL) - { - len = alloced = 0; - p_str = c_str = NULL; - } - else - { - len = ACE_OS::strlen (str); - alloced = len + 1; - p_str = new char [alloced]; - c_str = new char [alloced]; - ACE_OS::strcpy (p_str, str); - canonicalize (); - } -} - -UTL_String::UTL_String (unsigned long maxlen) -{ - len = maxlen; - alloced = maxlen + 1; - p_str = new char [alloced]; - c_str = new char [alloced]; - p_str[0] = '\0'; - c_str[0] = '\0'; -} - -UTL_String::UTL_String (UTL_String *s) -{ - char *b; - - if (s == NULL) - { - p_str = c_str = NULL; - alloced = len = 0; - } - else - { - b = s->get_string (); - if (b == NULL) - { - p_str = c_str = NULL; - alloced = len = 0; - } - else - { - len = ACE_OS::strlen (b); - alloced = len + 1; - p_str = new char [alloced]; - c_str = new char [alloced]; - ACE_OS::strcpy (p_str, b); - canonicalize (); - } - } -} - -/* - * Private operations - */ - -// Compute a canonical form for this string. This is (implemented as) -// a corresponding string with all upper case characters where the -// original has lower case characters, identical characters otherwise. -void -UTL_String::canonicalize (void) -{ - unsigned long i; - - for (i = 0; i < len; i++) - c_str[i] = isalpha (p_str[i]) ? toupper (p_str[i]) : p_str[i]; - - c_str[i] = '\0'; -} - -/* - * Public operations - */ - -// Compare two String * -long -UTL_String::compare (UTL_String *s) -{ - char *s_c_str; - long result; - - if (c_str == NULL || s == NULL || (s_c_str = s->get_canonical_rep ()) == NULL) - result = I_FALSE; - else - result = (ACE_OS::strcmp (c_str, s_c_str) == 0) ? I_TRUE : I_FALSE; - - /* - * Check that the names are typed consistently - */ - if (result == I_TRUE && ACE_OS::strcmp (p_str, s->get_string ()) != 0) - idl_global->err ()->name_case_error (p_str, s->get_string ()); - - return result; -} - -// Get the char * from a String -char * -UTL_String::get_string (void) -{ - return p_str; -} - -// Get the canonical representation from a String -char * -UTL_String::get_canonical_rep (void) -{ - if (c_str == NULL) - { - c_str = new char [alloced]; - canonicalize (); - } - return c_str; -} - -/* - * Redefined virtual operations - */ - -// AST Dumping -void -UTL_String::dump (ostream &o) -{ - o << p_str; -} diff --git a/TAO/TAO_IDL/util/utl_strlist.cpp b/TAO/TAO_IDL/util/utl_strlist.cpp deleted file mode 100644 index 115a9b04898..00000000000 --- a/TAO/TAO_IDL/util/utl_strlist.cpp +++ /dev/null @@ -1,198 +0,0 @@ -// $Id$ - -/* - -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. - - */ - -// utl_strlist.cc -// -// Implementation of a list of utl_string nodes - -// NOTE: This list class only works correctly because we use single public -// inheritance, as opposed to multiple inheritance or public virtual. -// It relies on a type-unsafe cast from UTL_List to subclasses, which -// will cease to operate correctly if you use either multiple or -// public virtual inheritance. -// -// For portability reasons we have decided to provide both this and -// an implementation of the list classes in terms of templates. If -// your compiler supports templates, please use the files in the -// include/utl_tmpl and util/utl_tmpl directories instead of the -// files by the same names in the include and util directories. - -#include "idl.h" -#include "idl_extern.h" - -ACE_RCSID(util, utl_strlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_StrList::UTL_StrList(String *s, UTL_StrList *cdr) - : UTL_List(cdr), - pd_car_data(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get list item -String * -UTL_StrList::head() -{ - return pd_car_data; -} - -// Set list item -void -UTL_StrList::set_head(String *s) -{ - pd_car_data = s; -} - -// Get last item of this list -String * -UTL_StrList::last_component() -{ - if (tail() == NULL) - return pd_car_data; - return ((UTL_StrList *) tail())->last_component(); -} - -// Copy a list -UTL_List * -UTL_StrList::copy() -{ - if (tail() == NULL) - return new UTL_StrList(head(), NULL); - return new UTL_StrList(head(), (UTL_StrList *) tail()->copy()); -} - -// AST Dumping -void -UTL_StrList::dump(ostream &o) -{ - char *s; - UTL_StrlistActiveIterator *i = new UTL_StrlistActiveIterator(this); - idl_bool first = I_TRUE; - idl_bool second = I_FALSE; - - while (!(i->is_done())) { - if (!first) - o << "::"; - else if (second) - first = second = I_FALSE; - s = i->item()->get_string(); - o << s; - if (first) { - if (strcmp(s, "::") != 0) - first = I_FALSE; - else - second = I_TRUE; - } - i->next(); - } -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_StrList active iterator - -/* - * Constructor - */ - -UTL_StrlistActiveIterator::UTL_StrlistActiveIterator(UTL_StrList *s) - : UTL_ListActiveIterator(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get current item -String * -UTL_StrlistActiveIterator::item() -{ - if (source == NULL) - return NULL; - return ((UTL_StrList *) source)->head(); -} - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_decllist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_decllist.cpp deleted file mode 100644 index 8d15d072d72..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_decllist.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_decllist.cc -// -// Implementation of a list of declarators - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_decllist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_DeclList::UTL_DeclList(FE_Declarator *s, UTL_DeclList *cdr) - : UTL_List<UTL_DeclList, FE_Declarator>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_DeclList active iterator - -/* - * Constructor - */ - -UTL_DecllistActiveIterator::UTL_DecllistActiveIterator(UTL_DeclList *s) - : UTL_ListActiveIterator<UTL_DeclList, FE_Declarator>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefined inherited operations - */ - diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp deleted file mode 100644 index f9752591fae..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_exceptlist.cc -// -// Implementation of a list of exceptions - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_exceptlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_ExceptList::UTL_ExceptList(AST_Exception *s, UTL_ExceptList *cdr) - : UTL_List<UTL_ExceptList, AST_Exception>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_ExceptList active iterator - -/* - * Constructor - */ - -UTL_ExceptlistActiveIterator::UTL_ExceptlistActiveIterator(UTL_ExceptList *s) - : UTL_ListActiveIterator<UTL_ExceptList, AST_Exception>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_exprlist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_exprlist.cpp deleted file mode 100644 index 5fb0bfc514c..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_exprlist.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_exprlist.cc -// -// Implementation of a list of strings - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_exprlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_ExprList::UTL_ExprList(AST_Expression *s, UTL_ExprList *cdr) - : UTL_List<UTL_ExprList, AST_Expression>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_ExprList active iterator - -/* - * Constructor - */ - -UTL_ExprlistActiveIterator::UTL_ExprlistActiveIterator(UTL_ExprList *s) - : UTL_ListActiveIterator<UTL_ExprList, AST_Expression>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_idlist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_idlist.cpp deleted file mode 100644 index 2ed64484720..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_idlist.cpp +++ /dev/null @@ -1,139 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_idlist.cc -// -// Implementation of a list of utl_string nodes - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_idlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_IdList::UTL_IdList(Identifier *s, UTL_IdList *cdr) - : UTL_List<UTL_IdList, Identifier>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get last item of this list -Identifier * -UTL_IdList::last_component() -{ - if (tail() == NULL) - return head(); - return tail()->last_component(); -} - -// AST Dumping -void -UTL_IdList::dump(ostream &o) -{ - UTL_IdListActiveIterator *i = new UTL_IdListActiveIterator(this); - long first = I_TRUE; - long second = I_FALSE; - - while (!(i->is_done())) { - if (!first) - o << "::"; - else if (second) - first = second = I_FALSE; - i->item()->dump(o); - if (first) { - if (strcmp(i->item()->get_string(), "::") != 0) - first = I_FALSE; - else - second = I_TRUE; - } - i->next(); - } -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_IdList active iterator - -/* - * Constructor - */ - -UTL_IdListActiveIterator::UTL_IdListActiveIterator(UTL_IdList *s) - : UTL_ListActiveIterator<UTL_IdList, Identifier>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_labellist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_labellist.cpp deleted file mode 100644 index 9b71db9b83d..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_labellist.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_labellist.cc -// -// Implementation of a list of scoped names - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_labellist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_LabelList::UTL_LabelList(AST_UnionLabel *s, UTL_LabelList *cdr) - : UTL_List<UTL_LabelList, AST_UnionLabel>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_LabelList active iterator - -/* - * Constructor - */ - -UTL_LabellistActiveIterator::UTL_LabellistActiveIterator(UTL_LabelList *s) - : UTL_ListActiveIterator<UTL_LabelList, AST_UnionLabel>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_list.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_list.cpp deleted file mode 100644 index 997b1301d41..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_list.cpp +++ /dev/null @@ -1,213 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_list.cc -// -// Implementation of generic single-linked lists - -#include <stddef.h> -#include <utl_list.hh> -#include <idl_bool.hh> - -ACE_RCSID(utl_tmpl, utl_list, "$Id$") - -/* - * Constructor(s) - */ - -template<class L, class T> -UTL_List<L, T>::UTL_List(T *c, L *l) - : pd_car_data(c), - pd_cdr_data(l) -{ -} - -/* - * Private operations - */ - -// Compute list length -template<class L, class T> -long -UTL_List<L, T>::list_length(long n) -{ - if (pd_cdr_data == NULL) - return n; - else - return pd_cdr_data->list_length(n+1); -} - -/* - * Public operations - */ - -// Smash last cdr with l -template<class L, class T> -void -UTL_List<L, T>::nconc(L *l) -{ - if (pd_cdr_data == NULL) - pd_cdr_data = l; - else - pd_cdr_data->nconc(l); -} - -/* - * Override this operation to copy lists of other types - */ -// Copy a list -template<class L, class T> -L * -UTL_List<L, T>::copy() -{ - if (pd_cdr_data == NULL) - return new L(head(), NULL); - return new L(head(), pd_cdr_data->copy()); -} - -// Get list item -template<class L, class T> -T * -UTL_List<L, T>::head() -{ - return pd_car_data; -} - -// Get next list -template<class L, class T> -L * -UTL_List<L, T>::tail() -{ - return pd_cdr_data; -} - -// Set list item -template<class L, class T> -void -UTL_List<L, T>::set_head(T *s) -{ - pd_car_data = s; -} - -// Set next list -template<class L, class T> -void -UTL_List<L, T>::set_tail(L *l) -{ - pd_cdr_data = l; -} - -// Compute list length -template<class L, class T> -long -UTL_List<L, T>::length() -{ - return list_length(1); -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_List active iterator - -/* - * Constructor - */ - -template<class L, class T> -UTL_ListActiveIterator<L, T>::UTL_ListActiveIterator(UTL_List<L, T> *s) - : source(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Is iterator done? -template<class L, class T> -long -UTL_ListActiveIterator<L, T>::is_done() -{ - return (source == NULL) ? I_TRUE : I_FALSE; -} - -// Get current item -template<class L, class T> -T * -UTL_ListActiveIterator<L, T>::item() -{ - if (source == NULL) - return NULL; - return source->head(); -} - -// Advance to next item -template<class L, class T> -void -UTL_ListActiveIterator<L, T>::next() -{ - if (source != NULL) - source = source->tail(); -} - -/* - * Redefinition of inherited operations - */ - diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_namelist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_namelist.cpp deleted file mode 100644 index f181d60648a..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_namelist.cpp +++ /dev/null @@ -1,108 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_namelist.cc -// -// Implementation of a list of scoped names - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_namelist, "$Id$") - -typedef UTL_List<UTL_NameList, UTL_ScopedName> _dummy_; - -/* - * Constructor(s) - */ - -UTL_NameList::UTL_NameList(UTL_ScopedName *s, UTL_NameList *cdr) - : UTL_List<UTL_NameList, UTL_ScopedName>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_NameList active iterator - -/* - * Constructor - */ - -UTL_NamelistActiveIterator::UTL_NamelistActiveIterator(UTL_NameList *s) - : UTL_ListActiveIterator<UTL_NameList, UTL_ScopedName>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ diff --git a/TAO/TAO_IDL/util/utl_tmpl/utl_strlist.cpp b/TAO/TAO_IDL/util/utl_tmpl/utl_strlist.cpp deleted file mode 100644 index 2d79f76a3b1..00000000000 --- a/TAO/TAO_IDL/util/utl_tmpl/utl_strlist.cpp +++ /dev/null @@ -1,141 +0,0 @@ -// $Id$ - -/* - *====================================================================== - * - *Copyright 1992 Sun Microsystems, Inc. - * - *The Interface Definition Language Compiler Front End (CFE) is made - *available for use provided that this legend is included on all media and - *documentation and as a part of the software program in whole or part. - *Users may copy and extend functionality (but may not remove - *functionality) of the Interface Definition Language CFE without charge, - *but are not authorized to license or distribute it to anyone else except - *as part of a product or program developed by the user or with the express - *written consent of Sun Microsystems, Inc. - * - *The names of Sun Microsystems, Inc. and any of its subsidiaries may not - *be used in advertising or publicity pertaining to distribution of - *Interface Definition Language CFE as permitted herein. - * - *The Interface Definition Language CFE may not be exported outside the - *United States without first obtaining the appropriate government - *approvals. - * - *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 Microsystems, Inc. or any of - *its subsidiaries or affiliates to assist in its use, correction, - *modification or enhancement. - * - *SUN MICROSYSTEMS, INC. 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 MICROSYSTEMS, INC. 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. - * - *SunSoft, Inc. - *2550 Garcia Avenue - *Mountain View, California 94043 - * - * - * - * - *====================================================================== - */ - -// utl_strlist.cc -// -// Implementation of a list of utl_string nodes - -#include <idl.hh> -#include <idl_extern.hh> - -ACE_RCSID(utl_tmpl, utl_strlist, "$Id$") - -/* - * Constructor(s) - */ - -UTL_StrList::UTL_StrList(String *s, UTL_StrList *cdr) - : UTL_List<UTL_StrList, String>(s, cdr) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -// Get last item of this list -String * -UTL_StrList::last_component() -{ - if (tail() == NULL) - return head(); - return tail()->last_component(); -} - -// AST Dumping -void -UTL_StrList::dump(ostream &o) -{ - char *s; - UTL_StrlistActiveIterator *i = new UTL_StrlistActiveIterator(this); - long first = I_TRUE; - long second = I_FALSE; - - while (!(i->is_done())) { - if (!first) - o << "::"; - else if (second) - first = second = I_FALSE; - s = i->item()->get_string(); - o << s; - if (first) { - if (strcmp(s, "::") != 0) - first = I_FALSE; - else - second = I_TRUE; - } - i->next(); - } -} - -/* - * Redefinition of inherited virtual operations - */ - -// UTL_StrList active iterator - -/* - * Constructor - */ - -UTL_StrlistActiveIterator::UTL_StrlistActiveIterator(UTL_StrList *s) - : UTL_ListActiveIterator<UTL_StrList, String>(s) -{ -} - -/* - * Private operations - */ - -/* - * Public operations - */ - -/* - * Redefinition of inherited virtual operations - */ |