diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/analysis.odin | 2 | ||||
| -rw-r--r-- | src/server/file_resolve.odin | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index f02448a..86289f5 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -4080,6 +4080,8 @@ get_locals_type_switch_stmt :: proc( return } + get_locals_stmt(file, stmt.tag, ast_context, document_position, true) + if block, ok := stmt.body.derived.(^Block_Stmt); ok { for block_stmt in block.stmts { if cause, ok := block_stmt.derived.(^Case_Clause); diff --git a/src/server/file_resolve.odin b/src/server/file_resolve.odin index 27ad013..cb77753 100644 --- a/src/server/file_resolve.odin +++ b/src/server/file_resolve.odin @@ -409,6 +409,7 @@ resolve_node :: proc(node: ^ast.Node, data: ^FileResolveData) { case ^Type_Switch_Stmt: data.position_context.switch_type_stmt = n resolve_node(n.label, data) + local_scope(data, n) resolve_node(n.tag, data) resolve_node(n.expr, data) resolve_node(n.body, data) |