aboutsummaryrefslogtreecommitdiff
path: root/src/server/symbol.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2023-12-29 17:43:10 +0100
committerDanielGavin <danielgavin5@hotmail.com>2023-12-29 17:43:10 +0100
commite93830d576ea387cc7dc635306ce07f43c515853 (patch)
treeb810eadd2dfdbaa3a72f90e9db81ade7ca36ac06 /src/server/symbol.odin
parent589f609f76040c3be20adfa799d8b79345477882 (diff)
More poly work
Diffstat (limited to 'src/server/symbol.odin')
-rw-r--r--src/server/symbol.odin7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/symbol.odin b/src/server/symbol.odin
index a62c8cf..0f86d5c 100644
--- a/src/server/symbol.odin
+++ b/src/server/symbol.odin
@@ -314,6 +314,7 @@ symbol_to_expr :: proc(
case SymbolFixedArrayValue:
type := new_type(ast.Array_Type, pos, end, allocator)
type.elem = v.expr
+ type.len = v.len
return type
case SymbolMapValue:
type := new_type(ast.Map_Type, pos, end, allocator)
@@ -332,6 +333,12 @@ symbol_to_expr :: proc(
case SymbolUntypedValue:
type := new_type(ast.Basic_Lit, pos, end, allocator)
return type
+ case SymbolMatrixValue:
+ type := new_type(ast.Matrix_Type, pos, end, allocator)
+ type.row_count = v.x
+ type.column_count = v.y
+ type.elem = v.expr
+ return type
case:
log.errorf("Unhandled symbol %v", symbol)
}