aboutsummaryrefslogtreecommitdiff
path: root/src/typecheck.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-04-07 15:56:49 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-04-07 15:56:49 -0400
commit15fabfb9be3e3620e4b96983a49017116cea40e2 (patch)
treeb57c9a1c17ff0fe47c089a419437136191cf42a2 /src/typecheck.c
parent0d2060717a21653deb3db03ba5b3fe62aa4c098e (diff)
Add table.get_or_set()
Diffstat (limited to 'src/typecheck.c')
-rw-r--r--src/typecheck.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/typecheck.c b/src/typecheck.c
index e42f6ca8..58b74739 100644
--- a/src/typecheck.c
+++ b/src/typecheck.c
@@ -938,6 +938,7 @@ type_t *get_type(env_t *env, ast_t *ast)
auto table = Match(self_value_t, TableType);
if (streq(call->name, "clear")) return Type(VoidType);
else if (streq(call->name, "get")) return Type(OptionalType, .type=table->value_type);
+ else if (streq(call->name, "get_or_set")) return table->value_type;
else if (streq(call->name, "has")) return Type(BoolType);
else if (streq(call->name, "remove")) return Type(VoidType);
else if (streq(call->name, "set")) return Type(VoidType);