diff options
Diffstat (limited to 'src/server/analysis.odin')
| -rw-r--r-- | src/server/analysis.odin | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 3b7b87e..44245e1 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -1336,14 +1336,16 @@ resolve_soa_selector_field :: proc( return {}, false } + ast_context.use_locals = true if symbol, ok := resolve_type_expression(ast_context, expr); ok { if v, ok := symbol.value.(SymbolStructValue); ok { for n, i in v.names { if n == name { if .SoaPointer in selector.flags { if resolved, ok := resolve_type_expression(ast_context, v.types[i]); ok { - symbol.value = resolved.value - symbol.pkg = symbol.name + resolved.pkg = symbol.name + resolved.range = v.ranges[i] + return resolved, ok } else { return {}, false } |