aboutsummaryrefslogtreecommitdiff
path: root/src/server/symbol.odin
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-08-04 20:44:50 -0400
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-08-04 20:44:50 -0400
commit23219e126f8fc31dafb8dc6b5d9f7212483d803d (patch)
tree8fe20390e67ee507f9d1804fe31d3408be97a2fd /src/server/symbol.odin
parentb7ff730cc0225297f5cd8f854972a372a27e2e28 (diff)
Resolve poly type variables
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 7352425..a41a310 100644
--- a/src/server/symbol.odin
+++ b/src/server/symbol.odin
@@ -135,6 +135,10 @@ SymbolMatrixValue :: struct {
expr: ^ast.Expr,
}
+SymbolPolyTypeValue :: struct {
+ ident: ^ast.Ident,
+}
+
/*
Generic symbol that is used by the indexer for any variable type(constants, defined global variables, etc),
*/
@@ -161,6 +165,7 @@ SymbolValue :: union {
SymbolUntypedValue,
SymbolMatrixValue,
SymbolBitFieldValue,
+ SymbolPolyTypeValue,
}
SymbolFlag :: enum {
@@ -641,6 +646,8 @@ free_symbol :: proc(symbol: Symbol, allocator: mem.Allocator) {
free_ast(v.expr, allocator)
case SymbolBasicValue:
free_ast(v.ident, allocator)
+ case SymbolPolyTypeValue:
+ free_ast(v.ident, allocator)
case SymbolAggregateValue:
for symbol in v.symbols {
free_symbol(symbol, allocator)