1130803Smarcel/* Objective-C language support definitions for GDB, the GNU debugger. 2130803Smarcel 3130803Smarcel Copyright 1992 Free Software Foundation, Inc. 4130803Smarcel 5130803Smarcel Contributed by Apple Computer, Inc. 6130803Smarcel 7130803Smarcel This program is free software; you can redistribute it and/or modify 8130803Smarcel it under the terms of the GNU General Public License as published by 9130803Smarcel the Free Software Foundation; either version 2 of the License, or 10130803Smarcel (at your option) any later version. 11130803Smarcel 12130803Smarcel This program is distributed in the hope that it will be useful, 13130803Smarcel but WITHOUT ANY WARRANTY; without even the implied warranty of 14130803Smarcel MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15130803Smarcel GNU General Public License for more details. 16130803Smarcel 17130803Smarcel You should have received a copy of the GNU General Public License 18130803Smarcel along with this program; if not, write to the Free Software 19130803Smarcel Foundation, Inc., 59 Temple Place - Suite 330, 20130803Smarcel Boston, MA 02111-1307, USA. */ 21130803Smarcel 22130803Smarcel#if !defined(OBJC_LANG_H) 23130803Smarcel#define OBJC_LANG_H 24130803Smarcel 25130803Smarcelstruct stoken; 26130803Smarcel 27130803Smarcelstruct value; 28130803Smarcelstruct block; 29130803Smarcel 30130803Smarcelextern int objc_parse (void); /* Defined in c-exp.y */ 31130803Smarcel 32130803Smarcelextern void objc_error (char *); /* Defined in c-exp.y */ 33130803Smarcel 34130803Smarcelextern int c_val_print (struct type *, char *, int, 35130803Smarcel CORE_ADDR, struct ui_file *, int, 36130803Smarcel int, int, enum val_prettyprint); 37130803Smarcel 38130803Smarcelextern int c_value_print (struct value *, struct ui_file *, 39130803Smarcel int, enum val_prettyprint); 40130803Smarcel 41130803Smarcelextern CORE_ADDR lookup_objc_class (char *classname); 42130803Smarcelextern CORE_ADDR lookup_child_selector (char *methodname); 43130803Smarcel 44130803Smarcelextern char *objc_demangle (const char *mangled, int options); 45130803Smarcel 46130803Smarcelextern int find_objc_msgcall (CORE_ADDR pc, CORE_ADDR *new_pc); 47130803Smarcel 48130803Smarcelextern char *parse_selector (char *method, char **selector); 49130803Smarcel 50130803Smarcelextern char *parse_method (char *method, char *type, 51130803Smarcel char **class, char **category, 52130803Smarcel char **selector); 53130803Smarcel 54130803Smarcelextern char *find_imps (struct symtab *symtab, struct block *block, 55130803Smarcel char *method, struct symbol **syms, 56130803Smarcel unsigned int *nsym, unsigned int *ndebug); 57130803Smarcel 58130803Smarcelextern struct value *value_nsstring (char *ptr, int len); 59130803Smarcel 60130803Smarcel/* for parsing Objective C */ 61130803Smarcelextern void start_msglist (void); 62130803Smarcelextern void add_msglist (struct stoken *str, int addcolon); 63130803Smarcelextern int end_msglist (void); 64130803Smarcel 65130803Smarcelstruct symbol *lookup_struct_typedef (char *name, struct block *block, 66130803Smarcel int noerr); 67130803Smarcel 68130803Smarcel#endif 69