diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-04-21 16:50:40 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-04-21 16:50:40 -0400 |
| commit | ab55eee556ecbe6a8bd0a4f4cd92e38b021f6841 (patch) | |
| tree | 47c339c48c9aaeffb931588c1b6241d35690c5a2 /src/typecheck.c | |
| parent | f2eab0d205d1a60e9ce7a8e2420196e12d7eed10 (diff) | |
Add `assert`
Diffstat (limited to 'src/typecheck.c')
| -rw-r--r-- | src/typecheck.c | 10 |
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: { |
