#ifndef DBX_METHOD_H
#define DBX_METHOD_H 1

dbx_method *new_method YARGS((void));
char *method_name YARGS((dbx_method * pm));
dbx_method *enclosing_method YARGS((dbx_method *pm));
unsigned method_beginline YARGS((dbx_method * pm));
unsigned method_endline YARGS((dbx_method * pm));
dbx_method *next_method YARGS((dbx_method * pm)); /* _of_class */
dbx_method *prev_method YARGS((dbx_method * pm)); /* _of_class */
dbx_class *method_class YARGS((dbx_method * pm));
struct dbx_local *first_local YARGS((dbx_method * pm)); /* _of_method */
struct dbx_local *last_local YARGS((dbx_method * pm)); /* _of_method */

dbx_method *find_next_method YARGS((dbx_method *pm,char *pattern));
dbx_method *find_prev_method YARGS((dbx_method *pm,char *pattern));

struct dbx_local *local_in_methods YARGS((dbx_method *pm,char *name));

void inc_bp_count YARGS ((dbx_method *pm));
void dec_bp_count YARGS ((dbx_method *pm));
unsigned bp_count YARGS ((dbx_method *pm));

dbx_method *first_innermethod YARGS((dbx_method *pm));
dbx_method *last_innermethod YARGS((dbx_method *pm));
dbx_method *next_innermethod YARGS((dbx_method *pm));
dbx_method *prev_innermethod YARGS((dbx_method *pm));

#ifdef XDEBUG
void dump_methods YARGS((void));
#endif

#endif
