/* Objective-C language support definitions for GDB, the GNU debugger.
- Copyright (C) 1992, 2005, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1992-2022 Free Software Foundation, Inc.
Contributed by Apple Computer, Inc.
struct value;
struct block;
+struct parser_state;
-extern int objc_parse (void); /* Defined in c-exp.y */
-
-extern void objc_error (char *); /* Defined in c-exp.y */
-
-extern CORE_ADDR lookup_objc_class (char *classname);
-extern CORE_ADDR lookup_child_selector (char *methodname);
-
-extern char *objc_demangle (const char *mangled, int options);
+extern CORE_ADDR lookup_objc_class (struct gdbarch *gdbarch,
+ const char *classname);
+extern CORE_ADDR lookup_child_selector (struct gdbarch *gdbarch,
+ const char *methodname);
extern int find_objc_msgcall (CORE_ADDR pc, CORE_ADDR *new_pc);
-extern char *parse_selector (char *method, char **selector);
-
-extern char *parse_method (char *method, char *type,
- char **class, char **category,
- char **selector);
-
-extern char *find_imps (struct symtab *symtab, struct block *block,
- char *method, struct symbol **syms,
- unsigned int *nsym, unsigned int *ndebug);
+extern const char *find_imps (const char *method,
+ std::vector<const char *> *symbol_names);
-extern struct value *value_nsstring (char *ptr, int len);
+extern struct value *value_nsstring (struct gdbarch *gdbarch,
+ const char *ptr, int len);
/* for parsing Objective C */
extern void start_msglist (void);
extern void add_msglist (struct stoken *str, int addcolon);
-extern int end_msglist (void);
+extern int end_msglist (struct parser_state *);
-struct symbol *lookup_struct_typedef (char *name, struct block *block,
+struct symbol *lookup_struct_typedef (const char *name,
+ const struct block *block,
int noerr);
#endif