|
| 1 | +closures.swift: |
| 2 | +# 1| [ConcreteFuncDecl] bar() |
| 3 | +# 1| InterfaceType = () -> String |
| 4 | +# 1| getBody(): [BraceStmt] { ... } |
| 5 | +# 2| getElement(0): [ReturnStmt] return ... |
| 6 | +# 2| getResult(): [StringLiteralExpr] Hello world! |
| 7 | +# 5| [ConcreteFuncDecl] foo() |
| 8 | +# 5| InterfaceType = () -> () |
| 9 | +# 5| getBody(): [BraceStmt] { ... } |
| 10 | +# 6| getElement(0): [PatternBindingDecl] var ... = ... |
| 11 | +# 6| getInit(0): [IntegerLiteralExpr] 123 |
| 12 | +# 6| getPattern(0): [NamedPattern] y |
| 13 | +# 6| getElement(1): [ConcreteVarDecl] y |
| 14 | +# 6| Type = Int |
| 15 | +# 7| getElement(2): [CallExpr] call to ... |
| 16 | +# 7| getFunction(): [CaptureListExpr] { ... } |
| 17 | +# 7| getBindingDecl(0): [PatternBindingDecl] var ... = ... |
| 18 | +# 7| getInit(0): [CallExpr] call to bar() |
| 19 | +# 7| getFunction(): [DeclRefExpr] bar() |
| 20 | +# 7| getPattern(0): [NamedPattern] x |
| 21 | +# 7| getClosureBody(): [ClosureExpr] { ... } |
| 22 | +# 7| getBody(): [BraceStmt] { ... } |
| 23 | +# 8| getElement(0): [CallExpr] call to print(_:separator:terminator:) |
| 24 | +# 8| getFunction(): [DeclRefExpr] print(_:separator:terminator:) |
| 25 | +# 8| getArgument(0): [Argument] : [...] |
| 26 | +# 8| getExpr(): [VarargExpansionExpr] [...] |
| 27 | +# 8| getSubExpr(): [ArrayExpr] [...] |
| 28 | +# 8| getElement(0): [DeclRefExpr] x |
| 29 | +# 8| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ... |
| 30 | +# 8| getArgument(1): [Argument] separator: default separator |
| 31 | +# 8| getExpr(): [DefaultArgumentExpr] default separator |
| 32 | +# 8| getArgument(2): [Argument] terminator: default terminator |
| 33 | +# 8| getExpr(): [DefaultArgumentExpr] default terminator |
| 34 | +# 9| getElement(1): [CallExpr] call to print(_:separator:terminator:) |
| 35 | +# 9| getFunction(): [DeclRefExpr] print(_:separator:terminator:) |
| 36 | +# 9| getArgument(0): [Argument] : [...] |
| 37 | +# 9| getExpr(): [VarargExpansionExpr] [...] |
| 38 | +# 9| getSubExpr(): [ArrayExpr] [...] |
| 39 | +# 9| getElement(0): [DeclRefExpr] y |
| 40 | +# 9| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ... |
| 41 | +# 9| getArgument(1): [Argument] separator: default separator |
| 42 | +# 9| getExpr(): [DefaultArgumentExpr] default separator |
| 43 | +# 9| getArgument(2): [Argument] terminator: default terminator |
| 44 | +# 9| getExpr(): [DefaultArgumentExpr] default terminator |
| 45 | +# 8| getCapture(0): [CapturedDecl] x |
| 46 | +# 9| getCapture(1): [CapturedDecl] y |
| 47 | +# 7| [ConcreteVarDecl] x |
| 48 | +# 7| Type = String |
| 49 | +# 12| [TopLevelCodeDecl] { ... } |
| 50 | +# 12| getBody(): [BraceStmt] { ... } |
| 51 | +# 12| getElement(0): [PatternBindingDecl] var ... = ... |
| 52 | +# 12| getInit(0): [NilLiteralExpr] nil |
| 53 | +# 12| getPattern(0): [TypedPattern] ... as ... |
| 54 | +# 12| getSubPattern(): [NamedPattern] escape |
| 55 | +# 12| getTypeRepr(): [TypeRepr] (() -> ())? |
| 56 | +# 12| [ConcreteVarDecl] escape |
| 57 | +# 12| Type = (() -> ())? |
| 58 | +# 14| [ConcreteFuncDecl] baz() |
| 59 | +# 14| InterfaceType = () -> () |
| 60 | +# 14| getBody(): [BraceStmt] { ... } |
| 61 | +# 15| getElement(0): [PatternBindingDecl] var ... = ... |
| 62 | +# 15| getInit(0): [IntegerLiteralExpr] 0 |
| 63 | +# 15| getPattern(0): [NamedPattern] x |
| 64 | +# 15| getElement(1): [ConcreteVarDecl] x |
| 65 | +# 15| Type = Int |
| 66 | +# 16| getElement(2): [ConcreteFuncDecl] quux() |
| 67 | +# 16| InterfaceType = () -> () |
| 68 | +# 16| getBody(): [BraceStmt] { ... } |
| 69 | +# 17| getElement(0): [BinaryExpr] ... .+=(_:_:) ... |
| 70 | +# 17| getFunction(): [MethodLookupExpr] .+=(_:_:) |
| 71 | +# 17| getBase(): [TypeExpr] Int.Type |
| 72 | +# 17| getTypeRepr(): [TypeRepr] Int |
| 73 | +# 17| getMethodRef(): [DeclRefExpr] +=(_:_:) |
| 74 | +# 17| getArgument(0): [Argument] : &... |
| 75 | +# 17| getExpr(): [InOutExpr] &... |
| 76 | +# 17| getSubExpr(): [DeclRefExpr] x |
| 77 | +# 17| getArgument(1): [Argument] : 1 |
| 78 | +# 17| getExpr(): [IntegerLiteralExpr] 1 |
| 79 | +# 18| getElement(1): [CallExpr] call to print(_:separator:terminator:) |
| 80 | +# 18| getFunction(): [DeclRefExpr] print(_:separator:terminator:) |
| 81 | +# 18| getArgument(0): [Argument] : [...] |
| 82 | +# 18| getExpr(): [VarargExpansionExpr] [...] |
| 83 | +# 18| getSubExpr(): [ArrayExpr] [...] |
| 84 | +# 18| getElement(0): [DeclRefExpr] x |
| 85 | +# 18| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ... |
| 86 | +# 18| getImmediateSubExpr(): [LoadExpr] (Int) ... |
| 87 | +# 18| getArgument(1): [Argument] separator: default separator |
| 88 | +# 18| getExpr(): [DefaultArgumentExpr] default separator |
| 89 | +# 18| getArgument(2): [Argument] terminator: default terminator |
| 90 | +# 18| getExpr(): [DefaultArgumentExpr] default terminator |
| 91 | +# 17| getCapture(0): [CapturedDecl] x |
| 92 | +# 20| getElement(3): [AssignExpr] ... = ... |
| 93 | +# 20| getDest(): [DeclRefExpr] escape |
| 94 | +# 20| getSource(): [DeclRefExpr] quux() |
| 95 | +# 20| getSource().getFullyConverted(): [InjectIntoOptionalExpr] ((() -> ())?) ... |
| 96 | +# 20| getCapture(0): [CapturedDecl] escape |
| 97 | +# 23| [ConcreteFuncDecl] callEscape() |
| 98 | +# 23| InterfaceType = () -> () |
| 99 | +# 23| getBody(): [BraceStmt] { ... } |
| 100 | +# 24| getElement(0): [CallExpr] call to baz() |
| 101 | +# 24| getFunction(): [DeclRefExpr] baz() |
| 102 | +# 25| getElement(1): [OptionalEvaluationExpr] OptionalEvaluationExpr |
| 103 | +# 25| getSubExpr(): [CallExpr] call to ... |
| 104 | +# 25| getFunction(): [BindOptionalExpr] ...? |
| 105 | +# 25| getSubExpr(): [DeclRefExpr] escape |
| 106 | +# 25| getFunction().getFullyConverted(): [LoadExpr] ((() -> ())) ... |
| 107 | +# 25| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (()?) ... |
| 108 | +# 25| getCapture(0): [CapturedDecl] escape |
0 commit comments