From 21822651204e48675480b33cf2d21d2ed0936551 Mon Sep 17 00:00:00 2001 From: Asger F Date: Thu, 18 Jun 2026 14:57:55 +0200 Subject: [PATCH] unified/swift: Better source range for inferred_type_expr --- unified/extractor/src/languages/swift/swift.rs | 4 ++-- unified/extractor/tests/corpus/swift/control-flow.txt | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/unified/extractor/src/languages/swift/swift.rs b/unified/extractor/src/languages/swift/swift.rs index 9b7bd537932..8d5e9f9052a 100644 --- a/unified/extractor/src/languages/swift/swift.rs +++ b/unified/extractor/src/languages/swift/swift.rs @@ -302,10 +302,10 @@ fn translation_rules() -> Vec { ), // case .foo(x,y) pattern rule!( - (pattern kind: (case_pattern name: @name arguments: (tuple_pattern item: (tuple_pattern_item)* @items)? )) + (pattern kind: (case_pattern dot: @dot name: @name arguments: (tuple_pattern item: (tuple_pattern_item)* @items)? )) => (constructor_pattern - constructor: (member_access_expr base: (inferred_type_expr) member: (identifier #{name})) + constructor: (member_access_expr base: (inferred_type_expr #{dot}) member: (identifier #{name})) element: {..items}) ), // Pattern with bound_identifier → name_pattern diff --git a/unified/extractor/tests/corpus/swift/control-flow.txt b/unified/extractor/tests/corpus/swift/control-flow.txt index 1f06bc05601..369e3f8a3d2 100644 --- a/unified/extractor/tests/corpus/swift/control-flow.txt +++ b/unified/extractor/tests/corpus/swift/control-flow.txt @@ -626,6 +626,7 @@ source_file pattern: pattern bound_identifier: simple_identifier "r" + dot: . name: simple_identifier "circle" statement: call_expression @@ -658,6 +659,7 @@ source_file pattern: pattern bound_identifier: simple_identifier "s" + dot: . name: simple_identifier "square" statement: call_expression @@ -701,7 +703,7 @@ top_level identifier: identifier "r" constructor: member_access_expr - base: inferred_type_expr ".circle(let r)" + base: inferred_type_expr "." member: identifier "circle" switch_case body: @@ -725,7 +727,7 @@ top_level identifier: identifier "s" constructor: member_access_expr - base: inferred_type_expr ".square(let s)" + base: inferred_type_expr "." member: identifier "square" value: name_expr