aboutsummaryrefslogtreecommitdiff
path: root/src/server/symbol.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2025-08-07 15:15:27 +0200
committerGitHub <noreply@github.com>2025-08-07 15:15:27 +0200
commitf9c23d7ec2841d8580fb55acd4fb26aaae8d605b (patch)
treea78ece63bffafed2694ff6e453ff285df8c8f6ab /src/server/symbol.odin
parent0167f6c8f58bba8a014d53e3015f741b0b150fe9 (diff)
parent23219e126f8fc31dafb8dc6b5d9f7212483d803d (diff)
Merge pull request #824 from BradLewis/feat/resolve-poly-types
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)