aboutsummaryrefslogtreecommitdiff
path: root/typecheck.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-03-15 14:22:11 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-03-15 14:22:11 -0400
commitf51acef40e8297d7bd41b774413aa8331ca946ed (patch)
tree56aa02541d60beb3ece496fed2c11afd3ae942f3 /typecheck.c
parent7a2653501310825e02d99d51fb4b9f1aacc75214 (diff)
Overhaul of Path so it uses root and array of components instead of
stringly typed
Diffstat (limited to 'typecheck.c')
-rw-r--r--typecheck.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/typecheck.c b/typecheck.c
index c5ca64c1..11b2d6dc 100644
--- a/typecheck.c
+++ b/typecheck.c
@@ -638,6 +638,7 @@ type_t *get_type(env_t *env, ast_t *ast)
return Match(t, OptionalType)->type;
}
case TextLiteral: return TEXT_TYPE;
+ case Path: return PATH_TYPE;
case TextJoin: {
const char *lang = Match(ast, TextJoin)->lang;
if (lang) {
@@ -1050,7 +1051,7 @@ type_t *get_type(env_t *env, ast_t *ast)
return lhs_t;
break;
}
- case BINOP_PLUS: case BINOP_MINUS: case BINOP_AND: case BINOP_OR: case BINOP_XOR: {
+ case BINOP_PLUS: case BINOP_MINUS: case BINOP_AND: case BINOP_OR: case BINOP_XOR: case BINOP_CONCAT: {
if (type_eq(lhs_t, rhs_t) && binding_works(binop_method_names[binop->op], binop->lhs, lhs_t, rhs_t, lhs_t))
return lhs_t;
break;