#ifndef _FUNC_H #define _FUNC_H struct node; struct prog; struct type; struct func { const char *name; struct type *type; int static_ret:1; /* return type is statically known */ int (*static_validate)(const struct func *, struct node *); int (*type_infer)(const struct func *, struct node *); }; int func_static_validate(const struct func *func, struct node *n); struct type *func_return_type(const struct func *func); #endif /* _FUNC_H */