Skip to content

Commit a658c77

Browse files
committed
unified: Add test showing AST mapping error
Notice the type error in the output
1 parent d6164c3 commit a658c77

2 files changed

Lines changed: 80 additions & 0 deletions

File tree

unified/extractor/tests/corpus/swift/control-flow/nested-enum-case-pattern.output

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
switch event {
22
case let .received(.some(value), timestamp):
33
print(value, timestamp)
4+
case Type.some(let value):
5+
print(value)
46
default:
57
break
68
}
@@ -88,6 +90,54 @@ sourceFile
8890
calledExpression:
8991
declReferenceExpr
9092
baseName: identifier "print"
93+
switchCase
94+
label:
95+
switchCaseLabel
96+
colon: :
97+
caseKeyword: case
98+
caseItems:
99+
switchCaseItem
100+
pattern:
101+
expressionPattern
102+
expression:
103+
functionCallExpr
104+
leftParen: (
105+
rightParen: )
106+
arguments:
107+
labeledExpr
108+
expression:
109+
patternExpr
110+
pattern:
111+
valueBindingPattern
112+
pattern:
113+
identifierPattern
114+
identifier: identifier "value"
115+
bindingSpecifier: let
116+
additionalTrailingClosures:
117+
calledExpression:
118+
memberAccessExpr
119+
period: .
120+
declName:
121+
declReferenceExpr
122+
baseName: identifier "some"
123+
base:
124+
declReferenceExpr
125+
baseName: identifier "Type"
126+
statements:
127+
codeBlockItem
128+
item:
129+
functionCallExpr
130+
leftParen: (
131+
rightParen: )
132+
arguments:
133+
labeledExpr
134+
expression:
135+
declReferenceExpr
136+
baseName: identifier "value"
137+
additionalTrailingClosures:
138+
calledExpression:
139+
declReferenceExpr
140+
baseName: identifier "print"
91141
switchCase
92142
label:
93143
switchDefaultLabel
@@ -154,6 +204,34 @@ top_level
154204
value:
155205
name_expr
156206
identifier: identifier "timestamp"
207+
switch_case
208+
pattern:
209+
constructor_pattern
210+
constructor:
211+
member_access_expr
212+
base:
213+
expr_equality_pattern <-- ERROR: The field member_access_expr.base should contain expr_or_type, but got expr_equality_pattern
214+
expr:
215+
name_expr
216+
identifier: identifier "Type"
217+
member: identifier "some"
218+
element:
219+
pattern_element
220+
pattern:
221+
name_pattern
222+
identifier: identifier "value"
223+
body:
224+
block
225+
stmt:
226+
call_expr
227+
callee:
228+
name_expr
229+
identifier: identifier "print"
230+
argument:
231+
argument
232+
value:
233+
name_expr
234+
identifier: identifier "value"
157235
switch_case
158236
body:
159237
block
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
switch event {
22
case let .received(.some(value), timestamp):
33
print(value, timestamp)
4+
case Type.some(let value):
5+
print(value)
46
default:
57
break
68
}

0 commit comments

Comments
 (0)