aboutsummaryrefslogtreecommitdiff
path: root/src/typecheck.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/typecheck.c')
-rw-r--r--src/typecheck.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/typecheck.c b/src/typecheck.c
index 7f7cb438..7f901010 100644
--- a/src/typecheck.c
+++ b/src/typecheck.c
@@ -223,6 +223,10 @@ void prebind_statement(env_t *env, ast_t *statement)
prebind_statement(env, Match(statement, DocTest)->expr);
break;
}
+ case Assert: {
+ prebind_statement(env, Match(statement, Assert)->expr);
+ break;
+ }
case StructDef: {
DeclareMatch(def, statement, StructDef);
if (get_binding(env, def->name))
@@ -298,6 +302,10 @@ void bind_statement(env_t *env, ast_t *statement)
bind_statement(env, Match(statement, DocTest)->expr);
break;
}
+ case Assert: {
+ bind_statement(env, Match(statement, Assert)->expr);
+ break;
+ }
case Declare: {
DeclareMatch(decl, statement, Declare);
const char *name = Match(decl->var, Var)->name;
@@ -998,7 +1006,7 @@ type_t *get_type(env_t *env, ast_t *ast)
case Extern: {
return parse_type_ast(env, Match(ast, Extern)->type);
}
- case Declare: case Assign: case UPDATE_CASES: case DocTest: {
+ case Declare: case Assign: case UPDATE_CASES: case DocTest: case Assert: {
return Type(VoidType);
}
case Use: {