unified/swift: Better source range for inferred_type_expr

This commit is contained in:
Asger F
2026-06-18 14:57:55 +02:00
parent 0b666d47db
commit 2182265120
2 changed files with 6 additions and 4 deletions

View File

@@ -302,10 +302,10 @@ fn translation_rules() -> Vec<yeast::Rule> {
),
// 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

View File

@@ -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