From 0e3ef1f2d7a9b0ee19a4b12c3dfadf15a8d5f4b2 Mon Sep 17 00:00:00 2001 From: Brad Lewis <22850972+BradLewis@users.noreply.github.com> Date: Wed, 4 Jun 2025 20:52:58 -0400 Subject: Resolve assignments before switch statements position context --- src/server/analysis.odin | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/server') diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 7202fe2..7f0007e 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -1669,12 +1669,7 @@ resolve_implicit_selector :: proc( } } - if position_context.switch_stmt != nil { - return resolve_type_expression(ast_context, position_context.switch_stmt.cond) - } - if position_context.assign != nil && len(position_context.assign.lhs) == len(position_context.assign.rhs) { - for _, i in position_context.assign.lhs { if position_in_node(position_context.assign.rhs[i], position_context.position) { return resolve_type_expression(ast_context, position_context.assign.lhs[i]) @@ -1682,6 +1677,10 @@ resolve_implicit_selector :: proc( } } + if position_context.switch_stmt != nil { + return resolve_type_expression(ast_context, position_context.switch_stmt.cond) + } + if position_context.binary != nil { if position_in_node(position_context.binary.left, position_context.position) { return resolve_type_expression(ast_context, position_context.binary.right) -- cgit v1.2.3