11foo(1, 2)
22
3+ handle {
4+ first()
5+ } completion: {
6+ second()
7+ } failure: {
8+ third()
9+ }
10+
311---
412
513sourceFile
@@ -24,12 +32,71 @@ sourceFile
2432 calledExpression:
2533 declReferenceExpr
2634 baseName: identifier "foo"
35+ codeBlockItem
36+ item:
37+ functionCallExpr
38+ arguments:
39+ additionalTrailingClosures:
40+ multipleTrailingClosureElement
41+ colon: :
42+ label: identifier "completion"
43+ closure:
44+ closureExpr
45+ leftBrace: {
46+ rightBrace: }
47+ statements:
48+ codeBlockItem
49+ item:
50+ functionCallExpr
51+ leftParen: (
52+ rightParen: )
53+ arguments:
54+ additionalTrailingClosures:
55+ calledExpression:
56+ declReferenceExpr
57+ baseName: identifier "second"
58+ multipleTrailingClosureElement
59+ colon: :
60+ label: identifier "failure"
61+ closure:
62+ closureExpr
63+ leftBrace: {
64+ rightBrace: }
65+ statements:
66+ codeBlockItem
67+ item:
68+ functionCallExpr
69+ leftParen: (
70+ rightParen: )
71+ arguments:
72+ additionalTrailingClosures:
73+ calledExpression:
74+ declReferenceExpr
75+ baseName: identifier "third"
76+ calledExpression:
77+ declReferenceExpr
78+ baseName: identifier "handle"
79+ trailingClosure:
80+ closureExpr
81+ leftBrace: {
82+ rightBrace: }
83+ statements:
84+ codeBlockItem
85+ item:
86+ functionCallExpr
87+ leftParen: (
88+ rightParen: )
89+ arguments:
90+ additionalTrailingClosures:
91+ calledExpression:
92+ declReferenceExpr
93+ baseName: identifier "first"
2794
2895---
2996
3097top_level source="⟨body⟩"
3198 body:
32- block source="⟨stmt⟩"
99+ block source="⟨stmt⟩\n\n⟨stmt⟩ "
33100 stmt:
34101 call_expr source="⟨callee⟩(⟨argument⟩, ⟨argument⟩)"
35102 callee: identifier "foo" source="foo"
@@ -38,3 +105,14 @@ top_level source="⟨body⟩"
38105 value: int_literal "1" source="1"
39106 argument source="⟨value⟩"
40107 value: int_literal "2" source="2"
108+ call_expr source="⟨callee⟩ ⟨argument⟩ completion: {\n second()\n} failure: {\n third()\n}"
109+ callee: identifier "handle" source="handle"
110+ argument:
111+ argument source="⟨value⟩"
112+ value:
113+ function_expr source="{\n ⟨body⟩\n}"
114+ body:
115+ block source="⟨stmt⟩"
116+ stmt:
117+ call_expr source="⟨callee⟩()"
118+ callee: identifier "first" source="first"
0 commit comments