diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2025-08-07 15:15:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-07 15:15:27 +0200 |
| commit | f9c23d7ec2841d8580fb55acd4fb26aaae8d605b (patch) | |
| tree | a78ece63bffafed2694ff6e453ff285df8c8f6ab /src/server/symbol.odin | |
| parent | 0167f6c8f58bba8a014d53e3015f741b0b150fe9 (diff) | |
| parent | 23219e126f8fc31dafb8dc6b5d9f7212483d803d (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.odin | 7 |
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) |