aboutsummaryrefslogtreecommitdiff
path: root/src/parse/controlflow.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-08-25 12:12:02 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-08-25 12:12:02 -0400
commit55479cbf9e4a8f36afe41d84df687f05fc7661f0 (patch)
tree0bb00769f319716b75f5e0a3b0e73934de89aa88 /src/parse/controlflow.c
parentc3bcb504a07823ec8a096d34d0f4fe8dc5b27196 (diff)
Initial work to pass metadata for code
Diffstat (limited to 'src/parse/controlflow.c')
-rw-r--r--src/parse/controlflow.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/parse/controlflow.c b/src/parse/controlflow.c
index 6f6292af..f50c84d7 100644
--- a/src/parse/controlflow.c
+++ b/src/parse/controlflow.c
@@ -36,7 +36,7 @@ ast_t *parse_block(parse_ctx_t *ctx, const char *pos) {
if (indent(ctx, &pos)) {
indented:;
int64_t block_indent = get_indent(ctx, pos);
- whitespace(&pos);
+ whitespace(ctx, &pos);
while (*pos) {
ast_t *stmt = optional(ctx, &pos, parse_statement);
if (!stmt) {
@@ -55,7 +55,7 @@ ast_t *parse_block(parse_ctx_t *ctx, const char *pos) {
break;
}
statements = new (ast_list_t, .ast = stmt, .next = statements);
- whitespace(&pos);
+ whitespace(ctx, &pos);
// Guard against having two valid statements on the same line, separated by spaces (but no newlines):
if (!memchr(stmt->end, '\n', (size_t)(pos - stmt->end))) {
@@ -174,7 +174,7 @@ ast_t *parse_if(parse_ctx_t *ctx, const char *pos) {
ast_t *body = expect(ctx, start, &pos, parse_block, "I expected a body for this 'if' statement");
const char *tmp = pos;
- whitespace(&tmp);
+ whitespace(ctx, &tmp);
ast_t *else_body = NULL;
const char *else_start = pos;
if (get_indent(ctx, tmp) == starting_indent && match_word(&tmp, "else")) {
@@ -198,7 +198,7 @@ ast_t *parse_when(parse_ctx_t *ctx, const char *pos) {
when_clause_t *clauses = NULL;
const char *tmp = pos;
- whitespace(&tmp);
+ whitespace(ctx, &tmp);
while (get_indent(ctx, tmp) == starting_indent && match_word(&tmp, "is")) {
pos = tmp;
spaces(&pos);
@@ -217,7 +217,7 @@ ast_t *parse_when(parse_ctx_t *ctx, const char *pos) {
}
clauses = new_clauses;
tmp = pos;
- whitespace(&tmp);
+ whitespace(ctx, &tmp);
}
REVERSE_LIST(clauses);
@@ -255,7 +255,7 @@ ast_t *parse_for(parse_ctx_t *ctx, const char *pos) {
ast_t *body = expect(ctx, start, &pos, parse_block, "I expected a body for this 'for'");
const char *else_start = pos;
- whitespace(&else_start);
+ whitespace(ctx, &else_start);
ast_t *empty = NULL;
if (match_word(&else_start, "else") && get_indent(ctx, else_start) == starting_indent) {
pos = else_start;