summaryrefslogtreecommitdiff
path: root/types.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2020-03-15 14:59:17 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2020-03-15 14:59:17 -0400
commite093297dd5846e963868b62afe55f589d72384c0 (patch)
tree986dfcf4cf6ea5c0f3c94bcaa6da090339abe9ea /types.c
parent6bedd04d011eaadf9ec0dc865bb8f84127db7e75 (diff)
#error, realized this can replace where
Diffstat (limited to 'types.c')
-rw-r--r--types.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/types.c b/types.c
index 9f3d2c6..ce40a88 100644
--- a/types.c
+++ b/types.c
@@ -3385,6 +3385,23 @@ static Status types_stmt(Typer *tr, Statement *s) {
}
} break;
+ case STMT_MESSAGE: {
+ Message *m = &s->message;
+ char *text = eval_expr_as_cstr(tr, &m->text, "message");
+ if (!text)
+ return false;
+ switch (m->kind) {
+ case MESSAGE_INFO:
+ info_print(s->where, "%s", text);
+ break;
+ case MESSAGE_WARN:
+ warn_print(s->where, "%s", text);
+ break;
+ case MESSAGE_ERROR:
+ err_print(s->where, "%s", text);
+ return false;
+ }
+ } break;
}
s->flags |= STMT_TYPED;
return true;