aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorBradley Lewis <22850972+BradLewis@users.noreply.github.com>2025-09-22 19:34:24 -0400
committerGitHub <noreply@github.com>2025-09-22 19:34:24 -0400
commitd4e3c3a58d3ae0c5d42ef76b3de037fc5b720f77 (patch)
tree2b72fbcdf647c19131b899407496d8413c982733 /src/server
parent7f68dbed834baf3bd697d47c59ac95e914a90fab (diff)
parentc72350d844e15c530e0b3da1ff2faf6e91dfa7c2 (diff)
Merge pull request #1041 from BradLewis/feat/poly-map-type
Substitute poly types for generic maps
Diffstat (limited to 'src/server')
-rw-r--r--src/server/generics.odin11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/generics.odin b/src/server/generics.odin
index 374ffc9..6f0be73 100644
--- a/src/server/generics.odin
+++ b/src/server/generics.odin
@@ -452,6 +452,17 @@ find_and_replace_poly_type :: proc(expr: ^ast.Expr, poly_map: ^map[string]^ast.E
v.pos.file = expr.pos.file
v.end.file = expr.end.file
}
+ case ^ast.Map_Type:
+ if expr, ok := get_poly_map(v.key, poly_map); ok {
+ v.key = expr
+ v.pos.file = expr.pos.file
+ v.end.file = expr.end.file
+ }
+ if expr, ok := get_poly_map(v.value, poly_map); ok {
+ v.value = expr
+ v.pos.file = expr.pos.file
+ v.end.file = expr.end.file
+ }
}
return visitor