Add support for named arguments in GIB functions and methods, fix a few

bugs, allow subclasses of classes written in GIB to access the same set
of instance variables.
This commit is contained in:
Brian Koropoff 2003-10-19 00:51:47 +00:00
parent 389ead6f01
commit f4c174184d
9 changed files with 180 additions and 74 deletions

View file

@ -43,14 +43,14 @@ typedef struct gib_function_s {
struct dstring_s *text;
struct gib_tree_s *program;
struct hashtab_s *globals;
struct llist_s *arglist;
unsigned int minargs;
qboolean exported;
} gib_function_t;
gib_function_t *GIB_Function_Define (const char *name, const char *text, gib_tree_t *program, gib_script_t *script, hashtab_t *globals);
gib_function_t *GIB_Function_Find (const char *name);
void GIB_Function_Prepare_Args (cbuf_t *cbuf, const char **args, unsigned int argc);
void GIB_Function_Prepare_Args_D (cbuf_t *cbuf, dstring_t **args, unsigned int argc);
void GIB_Function_Execute (cbuf_t *cbuf, gib_function_t *func, const char **args, unsigned int argc);
void GIB_Function_Execute_D (cbuf_t *cbuf, gib_function_t *func, dstring_t **args, unsigned int argc);
int GIB_Function_Execute (cbuf_t *cbuf, gib_function_t *func, const char **args, unsigned int argc);
int GIB_Function_Execute_D (cbuf_t *cbuf, gib_function_t *func, dstring_t **args, unsigned int argc);
#endif