diff options
| author | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-09-16 18:14:01 -0400 |
|---|---|---|
| committer | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-09-16 18:14:01 -0400 |
| commit | 01e247bb7a4142713fba8ac2c60fb0085816078d (patch) | |
| tree | ec5a37dfe0b72e56c630c6b347142206a5caa889 /src/server | |
| parent | c3195c07d4756219bb01f5815bd5e76285f959d9 (diff) | |
Correct implicit selector expressions within binary expressions
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/analysis.odin | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 856f0ae..113f913 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -2275,10 +2275,12 @@ resolve_implicit_selector :: proc( } if position_context.binary != nil { - if position_in_node(position_context.binary.left, position_context.position) { + if position_in_node(position_context.binary, position_context.position) { + // We resolve whichever is not the implicit_selector + if implicit, ok := position_context.binary.left.derived.(^ast.Implicit_Selector_Expr); ok { + return resolve_type_expression(ast_context, position_context.binary.right) + } return resolve_type_expression(ast_context, position_context.binary.left) - } else if position_in_node(position_context.binary.left, position_context.position) { - return resolve_type_expression(ast_context, position_context.binary.right) } } |