diff options
Diffstat (limited to 'src/typecheck.h')
| -rw-r--r-- | src/typecheck.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/typecheck.h b/src/typecheck.h index b2be77bf..34fc33a1 100644 --- a/src/typecheck.h +++ b/src/typecheck.h @@ -4,6 +4,7 @@ #include <gc.h> #include <stdarg.h> +#include <stdbool.h> #include "ast.h" #include "environment.h" @@ -25,7 +26,12 @@ PUREFUNC bool can_be_mutated(env_t *env, ast_t *ast); type_t *parse_type_string(env_t *env, const char *str); type_t *get_method_type(env_t *env, ast_t *self, const char *name); PUREFUNC bool is_constant(env_t *env, ast_t *ast); -bool is_valid_call(env_t *env, arg_t *spec_args, arg_ast_t *call_args, bool promotion_allowed); PUREFUNC bool can_compile_to_type(env_t *env, ast_t *ast, type_t *needed); +typedef struct { + bool promotion : 1, underscores : 1; +} call_opts_t; + +bool is_valid_call(env_t *env, arg_t *spec_args, arg_ast_t *call_args, call_opts_t options); + // vim: ts=4 sw=0 et cino=L2,l1,(0,W4,m1,\:0 |
