8607f1bc47
2001-10-03 Ziemowit Laski <zlaski@apple.com> * c-parse.in (objc_inherit_code, objc_pq_context, objc_public_flag): Make static. (objc_interface_context, objc_implementation_context, objc_method_context, objc_ivar_chain, objc_ivar_context): Move to global tree array in objc/objc-act.[ch]. (methoddef): Remove unnecessary code. * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry): Hoist struct definitions to objc-act.h. (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count, cat_count): Place declaration in objc-act.h. (objc_tree_index): Move enumeration to objc-act.h. (objc_global_trees): Place declaration and macro accessors in objc-act.h. (implementation_context): Remove duplicate; use objc_implementation_context instead: (method_context): Remove duplicate; use objc_method_context instead. (objc_ellipsis_node, objc_method_prototype_template, implemented_classes, function_type): Move global vars to objc_global_trees. (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE. (build_message_expr): Move actual construction of ObjC message send nodes to finish_message_expr. (finish_message_expr): New routine, contains code formerly in build_message_expr. * objc/objc-act.h (finish_message_expr): New prototype. (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove declarations; these vars are now part of objc_global_trees. (objc_tree_index, objc_global_trees): Move definitions from objc-act.c. * objc/objc-tree.def: Update copyright info. From-SVN: r46000
36 lines
1.5 KiB
Modula-2
36 lines
1.5 KiB
Modula-2
/* This file contains the definitions and documentation for the
|
|
additional tree codes used in the Objective C front end (see tree.def
|
|
for the standard codes).
|
|
Copyright (C) 1990, 1997, 1998, 1999, 2000, 2001
|
|
Free Software Foundation, Inc.
|
|
|
|
This file is part of GNU CC.
|
|
|
|
GNU CC is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
any later version.
|
|
|
|
GNU CC is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GNU CC; see the file COPYING. If not, write to
|
|
the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA. */
|
|
|
|
|
|
/* Objective-C types. */
|
|
DEFTREECODE (CLASS_INTERFACE_TYPE, "class_interface_type", 't', 0)
|
|
DEFTREECODE (CLASS_IMPLEMENTATION_TYPE, "class_implementation_type", 't', 0)
|
|
DEFTREECODE (CATEGORY_INTERFACE_TYPE, "category_interface_type", 't', 0)
|
|
DEFTREECODE (CATEGORY_IMPLEMENTATION_TYPE,"category_implementation_type", 't', 0)
|
|
DEFTREECODE (PROTOCOL_INTERFACE_TYPE, "protocol_interface_type", 't', 0)
|
|
|
|
/* Objective-C decls. */
|
|
DEFTREECODE (KEYWORD_DECL, "keyword_decl", 'd', 0)
|
|
DEFTREECODE (INSTANCE_METHOD_DECL, "instance_method_decl", 'd', 0)
|
|
DEFTREECODE (CLASS_METHOD_DECL, "class_method_decl", 'd', 0)
|