diff options
| author | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-08-17 20:38:26 -0400 |
|---|---|---|
| committer | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-08-17 20:41:54 -0400 |
| commit | c96f264f8df3e83d82471f54b63e872ce5116f01 (patch) | |
| tree | c6f7ac32408a633182488e828d9cb0274209c591 /src/server | |
| parent | 09f6cfa658b77504f1fd1f7c20eb3e15ef473030 (diff) | |
Handle references and go to definition for soa fields
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/analysis.odin | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 57ad029..19c4e0a 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -2630,6 +2630,18 @@ resolve_symbol_selector :: proc( if s, ok := resolve_type_expression(ast_context, v.return_types[0].type); ok { return resolve_symbol_selector(ast_context, selector, s) } + case SymbolSliceValue: + if .Soa in symbol.flags { + return resolve_soa_selector_field(ast_context, v.expr, field) + } + case SymbolDynamicArrayValue: + if .Soa in symbol.flags { + return resolve_soa_selector_field(ast_context, v.expr, field) + } + case SymbolFixedArrayValue: + if .Soa in symbol.flags { + return resolve_soa_selector_field(ast_context, v.expr, field) + } } return symbol, true |