mirror of
https://github.com/github/codeql.git
synced 2026-05-01 03:35:13 +02:00
1194 lines
66 KiB
Plaintext
1194 lines
66 KiB
Plaintext
closures.swift:
|
|
# 1| [NamedFunction] hello()
|
|
# 1| InterfaceType = () -> String
|
|
# 1| getBody(): [BraceStmt] { ... }
|
|
# 2| getElement(0): [ReturnStmt] return ...
|
|
# 2| getResult(): [StringLiteralExpr] Hello world!
|
|
# 5| [NamedFunction] captureList()
|
|
# 5| InterfaceType = () -> ()
|
|
# 5| getBody(): [BraceStmt] { ... }
|
|
# 6| getVariable(0): [ConcreteVarDecl] y
|
|
# 6| Type = Int
|
|
# 6| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 6| getInit(0): [IntegerLiteralExpr] 123
|
|
# 6| getPattern(0): [NamedPattern] y
|
|
# 7| getElement(1): [CallExpr] call to ...
|
|
# 7| getFunction(): [CaptureListExpr] { ... }
|
|
# 7| getBindingDecl(0): [PatternBindingDecl] var ... = ...
|
|
# 7| getInit(0): [CallExpr] call to hello()
|
|
# 7| getFunction(): [DeclRefExpr] hello()
|
|
# 7| getPattern(0): [NamedPattern] x
|
|
# 7| getVariable(0): [ConcreteVarDecl] x
|
|
# 7| Type = String
|
|
# 7| getClosureBody(): [ExplicitClosureExpr] { ... }
|
|
# 7| getBody(): [BraceStmt] { ... }
|
|
# 8| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 8| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 8| getArgument(0): [Argument] : [...]
|
|
# 8| getExpr(): [VarargExpansionExpr] [...]
|
|
# 8| getSubExpr(): [ArrayExpr] [...]
|
|
# 8| getElement(0): [DeclRefExpr] x
|
|
# 8| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 8| getArgument(1): [Argument] separator: default separator
|
|
# 8| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 8| getArgument(2): [Argument] terminator: default terminator
|
|
# 8| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 9| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 9| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 9| getArgument(0): [Argument] : [...]
|
|
# 9| getExpr(): [VarargExpansionExpr] [...]
|
|
# 9| getSubExpr(): [ArrayExpr] [...]
|
|
# 9| getElement(0): [DeclRefExpr] y
|
|
# 9| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 9| getArgument(1): [Argument] separator: default separator
|
|
# 9| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 9| getArgument(2): [Argument] terminator: default terminator
|
|
# 9| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 8| getCapture(0): [CapturedDecl] x
|
|
# 9| getCapture(1): [CapturedDecl] y
|
|
# 12| [TopLevelCodeDecl] { ... }
|
|
# 12| getBody(): [BraceStmt] { ... }
|
|
# 12| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 12| getInit(0): [NilLiteralExpr] nil
|
|
# 12| getPattern(0): [TypedPattern] ... as ...
|
|
# 12| getSubPattern(): [NamedPattern] escape
|
|
# 12| getTypeRepr(): [TypeRepr] (() -> ())?
|
|
# 12| [ConcreteVarDecl] escape
|
|
# 12| Type = (() -> ())?
|
|
# 14| [NamedFunction] setEscape()
|
|
# 14| InterfaceType = () -> ()
|
|
# 14| getBody(): [BraceStmt] { ... }
|
|
# 15| getVariable(0): [ConcreteVarDecl] x
|
|
# 15| Type = Int
|
|
# 15| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 15| getInit(0): [IntegerLiteralExpr] 0
|
|
# 15| getPattern(0): [NamedPattern] x
|
|
# 16| getElement(1): [AssignExpr] ... = ...
|
|
# 16| getDest(): [DeclRefExpr] escape
|
|
# 16| getSource(): [ExplicitClosureExpr] { ... }
|
|
# 16| getBody(): [BraceStmt] { ... }
|
|
# 17| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 17| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 17| getBase(): [TypeExpr] Int.Type
|
|
# 17| getTypeRepr(): [TypeRepr] Int
|
|
# 17| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 17| getArgument(0): [Argument] : x
|
|
# 17| getExpr(): [DeclRefExpr] x
|
|
# 17| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 17| getArgument(1): [Argument] : 1
|
|
# 17| getExpr(): [IntegerLiteralExpr] 1
|
|
# 18| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 18| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 18| getArgument(0): [Argument] : [...]
|
|
# 18| getExpr(): [VarargExpansionExpr] [...]
|
|
# 18| getSubExpr(): [ArrayExpr] [...]
|
|
# 18| getElement(0): [DeclRefExpr] x
|
|
# 18| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 18| getSubExpr(): [LoadExpr] (Int) ...
|
|
# 18| getArgument(1): [Argument] separator: default separator
|
|
# 18| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 18| getArgument(2): [Argument] terminator: default terminator
|
|
# 18| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 17| getCapture(0): [CapturedDecl] x
|
|
# 16| getSource().getFullyConverted(): [InjectIntoOptionalExpr] ((() -> ())?) ...
|
|
# 16| getCapture(0): [CapturedDecl] escape
|
|
# 22| [NamedFunction] callEscape()
|
|
# 22| InterfaceType = () -> ()
|
|
# 22| getBody(): [BraceStmt] { ... }
|
|
# 23| getElement(0): [CallExpr] call to setEscape()
|
|
# 23| getFunction(): [DeclRefExpr] setEscape()
|
|
# 24| getElement(1): [OptionalEvaluationExpr] OptionalEvaluationExpr
|
|
# 24| getSubExpr(): [CallExpr] call to ...
|
|
# 24| getFunction(): [BindOptionalExpr] ...?
|
|
# 24| getSubExpr(): [DeclRefExpr] escape
|
|
# 24| getFunction().getFullyConverted(): [LoadExpr] ((() -> ())) ...
|
|
# 24| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (()?) ...
|
|
# 24| getCapture(0): [CapturedDecl] escape
|
|
# 27| [NamedFunction] logical()
|
|
# 27| InterfaceType = () -> Bool
|
|
# 27| getBody(): [BraceStmt] { ... }
|
|
# 28| getVariable(0): [ConcreteVarDecl] f
|
|
# 28| Type = ((Int) -> Int)?
|
|
# 29| getVariable(1): [ConcreteVarDecl] x
|
|
# 29| Type = Int?
|
|
# 28| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 28| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 28| getParam(0): [ParamDecl] x
|
|
# 28| Type = Int
|
|
# 28| getBody(): [BraceStmt] { ... }
|
|
# 28| getElement(0): [ReturnStmt] return ...
|
|
# 28| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 28| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 28| getBase(): [TypeExpr] Int.Type
|
|
# 28| getTypeRepr(): [TypeRepr] Int
|
|
# 28| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 28| getArgument(0): [Argument] : x
|
|
# 28| getExpr(): [DeclRefExpr] x
|
|
# 28| getArgument(1): [Argument] : 1
|
|
# 28| getExpr(): [IntegerLiteralExpr] 1
|
|
# 28| getInit(0).getFullyConverted(): [InjectIntoOptionalExpr] (((Int) -> Int)?) ...
|
|
# 28| getPattern(0): [TypedPattern] ... as ...
|
|
# 28| getSubPattern(): [NamedPattern] f
|
|
# 28| getTypeRepr(): [TypeRepr] ((Int) -> Int)?
|
|
# 29| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 29| getInit(0): [IntegerLiteralExpr] 42
|
|
# 29| getInit(0).getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 29| getPattern(0): [TypedPattern] ... as ...
|
|
# 29| getSubPattern(): [NamedPattern] x
|
|
# 29| getTypeRepr(): [TypeRepr] Int?
|
|
# 30| getElement(2): [ReturnStmt] return ...
|
|
# 30| getResult(): [BinaryExpr] ... .&&(_:_:) ...
|
|
# 31| getFunction(): [MethodLookupExpr] .&&(_:_:)
|
|
# 31| getBase(): [TypeExpr] Bool.Type
|
|
# 31| getTypeRepr(): [TypeRepr] Bool
|
|
# 31| getMethodRef(): [DeclRefExpr] &&(_:_:)
|
|
# 30| getArgument(0): [Argument] : ... .!=(_:_:) ...
|
|
# 30| getExpr(): [BinaryExpr] ... .!=(_:_:) ...
|
|
# 30| getFunction(): [MethodLookupExpr] .!=(_:_:)
|
|
# 30| getBase(): [TypeExpr] Optional<((Int) -> Int)>.Type
|
|
# 30| getTypeRepr(): [TypeRepr] Optional<((Int) -> Int)>
|
|
# 30| getMethodRef(): [DeclRefExpr] !=(_:_:)
|
|
# 30| getArgument(0): [Argument] : f
|
|
# 30| getExpr(): [DeclRefExpr] f
|
|
# 30| getArgument(1): [Argument] : nil
|
|
# 30| getExpr(): [NilLiteralExpr] nil
|
|
# 31| getArgument(1): [Argument] : { ... }
|
|
# 31| getExpr(): [AutoClosureExpr] { ... }
|
|
# 31| getBody(): [BraceStmt] { ... }
|
|
# 31| getElement(0): [ReturnStmt] return ...
|
|
# 31| getResult(): [BinaryExpr] ... .&&(_:_:) ...
|
|
# 32| getFunction(): [MethodLookupExpr] .&&(_:_:)
|
|
# 32| getBase(): [TypeExpr] Bool.Type
|
|
# 32| getTypeRepr(): [TypeRepr] Bool
|
|
# 32| getMethodRef(): [DeclRefExpr] &&(_:_:)
|
|
# 31| getArgument(0): [Argument] : ... .!=(_:_:) ...
|
|
# 31| getExpr(): [BinaryExpr] ... .!=(_:_:) ...
|
|
# 31| getFunction(): [MethodLookupExpr] .!=(_:_:)
|
|
# 31| getBase(): [TypeExpr] Optional<Int>.Type
|
|
# 31| getTypeRepr(): [TypeRepr] Optional<Int>
|
|
# 31| getMethodRef(): [DeclRefExpr] !=(_:_:)
|
|
# 31| getArgument(0): [Argument] : x
|
|
# 31| getExpr(): [DeclRefExpr] x
|
|
# 31| getArgument(1): [Argument] : nil
|
|
# 31| getExpr(): [NilLiteralExpr] nil
|
|
# 32| getArgument(1): [Argument] : { ... }
|
|
# 32| getExpr(): [AutoClosureExpr] { ... }
|
|
# 32| getBody(): [BraceStmt] { ... }
|
|
# 32| getElement(0): [ReturnStmt] return ...
|
|
# 32| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 32| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 32| getBase(): [TypeExpr] Int.Type
|
|
# 32| getTypeRepr(): [TypeRepr] Int
|
|
# 32| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 32| getArgument(0): [Argument] : call to ...
|
|
# 32| getExpr(): [CallExpr] call to ...
|
|
# 32| getFunction(): [ForceValueExpr] ...!
|
|
# 32| getSubExpr(): [DeclRefExpr] f
|
|
# 32| getArgument(0): [Argument] : ...!
|
|
# 32| getExpr(): [ForceValueExpr] ...!
|
|
# 32| getSubExpr(): [DeclRefExpr] x
|
|
# 32| getArgument(1): [Argument] : 43
|
|
# 32| getExpr(): [IntegerLiteralExpr] 43
|
|
# 32| getCapture(0): [CapturedDecl] f
|
|
# 32| getCapture(1): [CapturedDecl] x
|
|
# 31| getResult().getFullyConverted(): [ParenExpr] (...)
|
|
# 31| getCapture(0): [CapturedDecl] x
|
|
# 32| getCapture(1): [CapturedDecl] f
|
|
# 35| [NamedFunction] asyncTest()
|
|
# 35| InterfaceType = () -> ()
|
|
# 35| getBody(): [BraceStmt] { ... }
|
|
# 36| getElement(0): [NamedFunction] withCallback(_:)
|
|
# 36| InterfaceType = (@escaping (Int) async -> Int) -> ()
|
|
# 36| getParam(0): [ParamDecl] callback
|
|
# 36| Type = (Int) async -> Int
|
|
# 36| getBody(): [BraceStmt] { ... }
|
|
# 38| getElement(0): [NamedFunction] wrapper(_:)
|
|
# 38| InterfaceType = @Sendable (Int) async -> Int
|
|
# 38| getParam(0): [ParamDecl] x
|
|
# 38| Type = Int
|
|
# 38| getBody(): [BraceStmt] { ... }
|
|
# 39| getElement(0): [ReturnStmt] return ...
|
|
# 39| getResult(): [CallExpr] call to ...
|
|
# 39| getFunction(): [DeclRefExpr] callback
|
|
# 39| getArgument(0): [Argument] : ... .+(_:_:) ...
|
|
# 39| getExpr(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 39| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 39| getBase(): [TypeExpr] Int.Type
|
|
# 39| getTypeRepr(): [TypeRepr] Int
|
|
# 39| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 39| getArgument(0): [Argument] : x
|
|
# 39| getExpr(): [DeclRefExpr] x
|
|
# 39| getArgument(1): [Argument] : 1
|
|
# 39| getExpr(): [IntegerLiteralExpr] 1
|
|
# 39| getResult().getFullyConverted(): [AwaitExpr] await ...
|
|
# 39| getCapture(0): [CapturedDecl] callback
|
|
# 41| getElement(1): [CallExpr] call to Task<Success, Never>.init(priority:operation:)
|
|
# 41| getFunction(): [MethodLookupExpr] Task<Success, Never>.init(priority:operation:)
|
|
# 41| getBase(): [TypeExpr] Task<(), Never>.Type
|
|
# 41| getTypeRepr(): [TypeRepr] Task<(), Never>
|
|
# 41| getMethodRef(): [DeclRefExpr] Task<Success, Never>.init(priority:operation:)
|
|
# 41| getArgument(0): [Argument] priority: default priority
|
|
# 41| getExpr(): [DefaultArgumentExpr] default priority
|
|
# 41| getArgument(1): [Argument] operation: { ... }
|
|
# 41| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
# 42| getElement(0): [ReturnStmt] return ...
|
|
# 42| getResult(): [CallExpr] call to print(_:separator:terminator:)
|
|
# 42| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 42| getArgument(0): [Argument] : [...]
|
|
# 42| getExpr(): [VarargExpansionExpr] [...]
|
|
# 42| getSubExpr(): [ArrayExpr] [...]
|
|
# 42| getElement(0): [StringLiteralExpr] asyncTest():
|
|
# 42| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 42| getElement(1): [CallExpr] call to wrapper(_:)
|
|
# 42| getFunction(): [DeclRefExpr] wrapper(_:)
|
|
# 42| getArgument(0): [Argument] : 40
|
|
# 42| getExpr(): [IntegerLiteralExpr] 40
|
|
# 42| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 42| getSubExpr(): [AwaitExpr] await ...
|
|
# 42| getArgument(1): [Argument] separator: default separator
|
|
# 42| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 42| getArgument(2): [Argument] terminator: default terminator
|
|
# 42| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 42| getCapture(0): [CapturedDecl] wrapper(_:)
|
|
# 45| getElement(1): [CallExpr] call to withCallback(_:)
|
|
# 45| getFunction(): [DeclRefExpr] withCallback(_:)
|
|
# 45| getArgument(0): [Argument] : { ... }
|
|
# 45| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 45| getParam(0): [ParamDecl] x
|
|
# 45| Type = Int
|
|
# 45| getBody(): [BraceStmt] { ... }
|
|
# 46| getElement(0): [ReturnStmt] return ...
|
|
# 46| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 46| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 46| getBase(): [TypeExpr] Int.Type
|
|
# 46| getTypeRepr(): [TypeRepr] Int
|
|
# 46| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 46| getArgument(0): [Argument] : x
|
|
# 46| getExpr(): [DeclRefExpr] x
|
|
# 46| getArgument(1): [Argument] : 1
|
|
# 46| getExpr(): [IntegerLiteralExpr] 1
|
|
# 41| [NilLiteralExpr] nil
|
|
# 50| [NamedFunction] foo()
|
|
# 50| InterfaceType = () -> Int
|
|
# 50| getBody(): [BraceStmt] { ... }
|
|
# 51| getVariable(0): [ConcreteVarDecl] x
|
|
# 51| Type = Int
|
|
# 52| getVariable(1): [ConcreteVarDecl] f
|
|
# 52| Type = (Int) -> ()
|
|
# 54| getVariable(2): [ConcreteVarDecl] r
|
|
# 54| Type = () -> Int
|
|
# 51| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 51| getInit(0): [IntegerLiteralExpr] 1
|
|
# 51| getPattern(0): [NamedPattern] x
|
|
# 52| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 52| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 52| getParam(0): [ParamDecl] y
|
|
# 52| Type = Int
|
|
# 52| getBody(): [BraceStmt] { ... }
|
|
# 52| getElement(0): [ReturnStmt] return ...
|
|
# 52| getResult(): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 52| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 52| getBase(): [TypeExpr] Int.Type
|
|
# 52| getTypeRepr(): [TypeRepr] Int
|
|
# 52| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 52| getArgument(0): [Argument] : x
|
|
# 52| getExpr(): [DeclRefExpr] x
|
|
# 52| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 52| getArgument(1): [Argument] : y
|
|
# 52| getExpr(): [DeclRefExpr] y
|
|
# 52| getCapture(0): [CapturedDecl] x
|
|
# 52| getPattern(0): [NamedPattern] f
|
|
# 53| getElement(2): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 53| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 53| getBase(): [TypeExpr] Int.Type
|
|
# 53| getTypeRepr(): [TypeRepr] Int
|
|
# 53| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 53| getArgument(0): [Argument] : x
|
|
# 53| getExpr(): [DeclRefExpr] x
|
|
# 53| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 53| getArgument(1): [Argument] : 40
|
|
# 53| getExpr(): [IntegerLiteralExpr] 40
|
|
# 54| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 54| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 54| getBody(): [BraceStmt] { ... }
|
|
# 54| getElement(0): [ReturnStmt] return ...
|
|
# 54| getResult(): [DeclRefExpr] x
|
|
# 54| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 54| getCapture(0): [CapturedDecl] x
|
|
# 54| getPattern(0): [NamedPattern] r
|
|
# 55| getElement(4): [CallExpr] call to ...
|
|
# 55| getFunction(): [DeclRefExpr] f
|
|
# 55| getArgument(0): [Argument] : 1
|
|
# 55| getExpr(): [IntegerLiteralExpr] 1
|
|
# 56| getElement(5): [ReturnStmt] return ...
|
|
# 56| getResult(): [CallExpr] call to ...
|
|
# 56| getFunction(): [DeclRefExpr] r
|
|
# 51| [Comment] // x is a non-escaping capture of f and r
|
|
# 51|
|
|
# 56| [Comment] // 42
|
|
# 56|
|
|
# 59| [NamedFunction] bar()
|
|
# 59| InterfaceType = () -> () -> Int
|
|
# 59| getBody(): [BraceStmt] { ... }
|
|
# 60| getVariable(0): [ConcreteVarDecl] x
|
|
# 60| Type = Int
|
|
# 61| getVariable(1): [ConcreteVarDecl] f
|
|
# 61| Type = (Int) -> ()
|
|
# 63| getVariable(2): [ConcreteVarDecl] r
|
|
# 63| Type = () -> Int
|
|
# 60| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 60| getInit(0): [IntegerLiteralExpr] 1
|
|
# 60| getPattern(0): [NamedPattern] x
|
|
# 61| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 61| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 61| getParam(0): [ParamDecl] y
|
|
# 61| Type = Int
|
|
# 61| getBody(): [BraceStmt] { ... }
|
|
# 61| getElement(0): [ReturnStmt] return ...
|
|
# 61| getResult(): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 61| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 61| getBase(): [TypeExpr] Int.Type
|
|
# 61| getTypeRepr(): [TypeRepr] Int
|
|
# 61| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 61| getArgument(0): [Argument] : x
|
|
# 61| getExpr(): [DeclRefExpr] x
|
|
# 61| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 61| getArgument(1): [Argument] : y
|
|
# 61| getExpr(): [DeclRefExpr] y
|
|
# 61| getCapture(0): [CapturedDecl] x
|
|
# 61| getPattern(0): [NamedPattern] f
|
|
# 62| getElement(2): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 62| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 62| getBase(): [TypeExpr] Int.Type
|
|
# 62| getTypeRepr(): [TypeRepr] Int
|
|
# 62| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 62| getArgument(0): [Argument] : x
|
|
# 62| getExpr(): [DeclRefExpr] x
|
|
# 62| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 62| getArgument(1): [Argument] : 40
|
|
# 62| getExpr(): [IntegerLiteralExpr] 40
|
|
# 63| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 63| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 63| getBody(): [BraceStmt] { ... }
|
|
# 63| getElement(0): [ReturnStmt] return ...
|
|
# 63| getResult(): [DeclRefExpr] x
|
|
# 63| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 63| getCapture(0): [CapturedDecl] x
|
|
# 63| getPattern(0): [NamedPattern] r
|
|
# 64| getElement(4): [CallExpr] call to ...
|
|
# 64| getFunction(): [DeclRefExpr] f
|
|
# 64| getArgument(0): [Argument] : 1
|
|
# 64| getExpr(): [IntegerLiteralExpr] 1
|
|
# 65| getElement(5): [ReturnStmt] return ...
|
|
# 65| getResult(): [DeclRefExpr] r
|
|
# 60| [Comment] // x is a non-escaping capture of f, escaping capture of r
|
|
# 60|
|
|
# 65| [Comment] // constantly 42
|
|
# 65|
|
|
# 68| [TopLevelCodeDecl] { ... }
|
|
# 68| getBody(): [BraceStmt] { ... }
|
|
# 68| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 68| getInit(0): [NilLiteralExpr] nil
|
|
# 68| getPattern(0): [TypedPattern] ... as ...
|
|
# 68| getSubPattern(): [NamedPattern] g
|
|
# 68| getTypeRepr(): [TypeRepr] ((Int) -> Void)?
|
|
# 68| [ConcreteVarDecl] g
|
|
# 68| Type = ((Int) -> Void)?
|
|
# 69| [NamedFunction] baz()
|
|
# 69| InterfaceType = () -> () -> Int
|
|
# 69| getBody(): [BraceStmt] { ... }
|
|
# 70| getVariable(0): [ConcreteVarDecl] x
|
|
# 70| Type = Int
|
|
# 73| getVariable(1): [ConcreteVarDecl] r
|
|
# 73| Type = () -> Int
|
|
# 70| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 70| getInit(0): [IntegerLiteralExpr] 1
|
|
# 70| getPattern(0): [NamedPattern] x
|
|
# 71| getElement(1): [AssignExpr] ... = ...
|
|
# 71| getDest(): [DeclRefExpr] g
|
|
# 71| getSource(): [ExplicitClosureExpr] { ... }
|
|
# 71| getParam(0): [ParamDecl] y
|
|
# 71| Type = Int
|
|
# 71| getBody(): [BraceStmt] { ... }
|
|
# 71| getElement(0): [ReturnStmt] return ...
|
|
# 71| getResult(): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 71| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 71| getBase(): [TypeExpr] Int.Type
|
|
# 71| getTypeRepr(): [TypeRepr] Int
|
|
# 71| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 71| getArgument(0): [Argument] : x
|
|
# 71| getExpr(): [DeclRefExpr] x
|
|
# 71| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 71| getArgument(1): [Argument] : y
|
|
# 71| getExpr(): [DeclRefExpr] y
|
|
# 71| getCapture(0): [CapturedDecl] x
|
|
# 71| getSource().getFullyConverted(): [InjectIntoOptionalExpr] (((Int) -> Void)?) ...
|
|
# 72| getElement(2): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 72| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 72| getBase(): [TypeExpr] Int.Type
|
|
# 72| getTypeRepr(): [TypeRepr] Int
|
|
# 72| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 72| getArgument(0): [Argument] : x
|
|
# 72| getExpr(): [DeclRefExpr] x
|
|
# 72| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 72| getArgument(1): [Argument] : 40
|
|
# 72| getExpr(): [IntegerLiteralExpr] 40
|
|
# 73| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 73| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 73| getBody(): [BraceStmt] { ... }
|
|
# 73| getElement(0): [ReturnStmt] return ...
|
|
# 73| getResult(): [DeclRefExpr] x
|
|
# 73| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 73| getCapture(0): [CapturedDecl] x
|
|
# 73| getPattern(0): [NamedPattern] r
|
|
# 74| getElement(4): [CallExpr] call to ...
|
|
# 74| getFunction(): [ForceValueExpr] ...!
|
|
# 74| getSubExpr(): [DeclRefExpr] g
|
|
# 74| getSubExpr().getFullyConverted(): [LoadExpr] (((Int) -> Void)?) ...
|
|
# 74| getArgument(0): [Argument] : 1
|
|
# 74| getExpr(): [IntegerLiteralExpr] 1
|
|
# 75| getElement(5): [ReturnStmt] return ...
|
|
# 75| getResult(): [DeclRefExpr] r
|
|
# 71| getCapture(0): [CapturedDecl] g
|
|
# 70| [Comment] // x is an escaping capture of g and r
|
|
# 70|
|
|
# 71| [Comment] // closure escapes!
|
|
# 71|
|
|
# 78| [NamedFunction] quux()
|
|
# 78| InterfaceType = () -> Int
|
|
# 78| getBody(): [BraceStmt] { ... }
|
|
# 79| getVariable(0): [ConcreteVarDecl] y
|
|
# 79| Type = Int
|
|
# 103| getVariable(1): [ConcreteVarDecl] a
|
|
# 103| Type = () -> Void
|
|
# 79| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 79| getInit(0): [IntegerLiteralExpr] 0
|
|
# 79| getPattern(0): [NamedPattern] y
|
|
# 81| getElement(1): [NamedFunction] f()
|
|
# 81| InterfaceType = () -> () -> Void
|
|
# 81| getBody(): [BraceStmt] { ... }
|
|
# 82| getVariable(0): [ConcreteVarDecl] x
|
|
# 82| Type = Int
|
|
# 82| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 82| getInit(0): [IntegerLiteralExpr] 5
|
|
# 82| getPattern(0): [NamedPattern] x
|
|
# 84| getElement(1): [NamedFunction] a()
|
|
# 84| InterfaceType = () -> ()
|
|
# 84| getBody(): [BraceStmt] { ... }
|
|
# 85| getElement(0): [AssignExpr] ... = ...
|
|
# 85| getDest(): [DeclRefExpr] y
|
|
# 85| getSource(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 85| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 85| getBase(): [TypeExpr] Int.Type
|
|
# 85| getTypeRepr(): [TypeRepr] Int
|
|
# 85| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 85| getArgument(0): [Argument] : ... .*(_:_:) ...
|
|
# 85| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 85| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 85| getBase(): [TypeExpr] Int.Type
|
|
# 85| getTypeRepr(): [TypeRepr] Int
|
|
# 85| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 85| getArgument(0): [Argument] : 10
|
|
# 85| getExpr(): [IntegerLiteralExpr] 10
|
|
# 85| getArgument(1): [Argument] : y
|
|
# 85| getExpr(): [DeclRefExpr] y
|
|
# 85| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 85| getArgument(1): [Argument] : x
|
|
# 85| getExpr(): [DeclRefExpr] x
|
|
# 85| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 86| getElement(1): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 86| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 86| getBase(): [TypeExpr] Int.Type
|
|
# 86| getTypeRepr(): [TypeRepr] Int
|
|
# 86| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 86| getArgument(0): [Argument] : x
|
|
# 86| getExpr(): [DeclRefExpr] x
|
|
# 86| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 86| getArgument(1): [Argument] : 1
|
|
# 86| getExpr(): [IntegerLiteralExpr] 1
|
|
# 87| getElement(2): [IfStmt] if ... then { ... }
|
|
# 87| getCondition(): [StmtCondition] StmtCondition
|
|
# 87| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 87| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 87| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 87| getBase(): [TypeExpr] Int.Type
|
|
# 87| getTypeRepr(): [TypeRepr] Int
|
|
# 87| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 87| getArgument(0): [Argument] : x
|
|
# 87| getExpr(): [DeclRefExpr] x
|
|
# 87| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 87| getArgument(1): [Argument] : 0
|
|
# 87| getExpr(): [IntegerLiteralExpr] 0
|
|
# 87| getThen(): [BraceStmt] { ... }
|
|
# 88| getElement(0): [CallExpr] call to b()
|
|
# 88| getFunction(): [DeclRefExpr] b()
|
|
# 85| getCapture(0): [CapturedDecl] y
|
|
# 85| getCapture(1): [CapturedDecl] x
|
|
# 88| getCapture(2): [CapturedDecl] b()
|
|
# 92| getElement(2): [NamedFunction] b()
|
|
# 92| InterfaceType = () -> ()
|
|
# 92| getBody(): [BraceStmt] { ... }
|
|
# 93| getElement(0): [AssignExpr] ... = ...
|
|
# 93| getDest(): [DeclRefExpr] y
|
|
# 93| getSource(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 93| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 93| getBase(): [TypeExpr] Int.Type
|
|
# 93| getTypeRepr(): [TypeRepr] Int
|
|
# 93| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 93| getArgument(0): [Argument] : ... .*(_:_:) ...
|
|
# 93| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 93| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 93| getBase(): [TypeExpr] Int.Type
|
|
# 93| getTypeRepr(): [TypeRepr] Int
|
|
# 93| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 93| getArgument(0): [Argument] : 10
|
|
# 93| getExpr(): [IntegerLiteralExpr] 10
|
|
# 93| getArgument(1): [Argument] : y
|
|
# 93| getExpr(): [DeclRefExpr] y
|
|
# 93| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 93| getArgument(1): [Argument] : ... .*(_:_:) ...
|
|
# 93| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 93| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 93| getBase(): [TypeExpr] Int.Type
|
|
# 93| getTypeRepr(): [TypeRepr] Int
|
|
# 93| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 93| getArgument(0): [Argument] : 2
|
|
# 93| getExpr(): [IntegerLiteralExpr] 2
|
|
# 93| getArgument(1): [Argument] : x
|
|
# 93| getExpr(): [DeclRefExpr] x
|
|
# 93| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 94| getElement(1): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 94| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 94| getBase(): [TypeExpr] Int.Type
|
|
# 94| getTypeRepr(): [TypeRepr] Int
|
|
# 94| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 94| getArgument(0): [Argument] : x
|
|
# 94| getExpr(): [DeclRefExpr] x
|
|
# 94| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 94| getArgument(1): [Argument] : 1
|
|
# 94| getExpr(): [IntegerLiteralExpr] 1
|
|
# 95| getElement(2): [IfStmt] if ... then { ... }
|
|
# 95| getCondition(): [StmtCondition] StmtCondition
|
|
# 95| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 95| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 95| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 95| getBase(): [TypeExpr] Int.Type
|
|
# 95| getTypeRepr(): [TypeRepr] Int
|
|
# 95| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 95| getArgument(0): [Argument] : x
|
|
# 95| getExpr(): [DeclRefExpr] x
|
|
# 95| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 95| getArgument(1): [Argument] : 0
|
|
# 95| getExpr(): [IntegerLiteralExpr] 0
|
|
# 95| getThen(): [BraceStmt] { ... }
|
|
# 96| getElement(0): [CallExpr] call to a()
|
|
# 96| getFunction(): [DeclRefExpr] a()
|
|
# 93| getCapture(0): [CapturedDecl] y
|
|
# 93| getCapture(1): [CapturedDecl] x
|
|
# 96| getCapture(2): [CapturedDecl] a()
|
|
# 100| getElement(3): [ReturnStmt] return ...
|
|
# 100| getResult(): [DeclRefExpr] a()
|
|
# 85| getCapture(0): [CapturedDecl] y
|
|
# 103| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 103| getInit(0): [CallExpr] call to f()
|
|
# 103| getFunction(): [DeclRefExpr] f()
|
|
# 103| getPattern(0): [NamedPattern] a
|
|
# 104| getElement(3): [CallExpr] call to ...
|
|
# 104| getFunction(): [DeclRefExpr] a
|
|
# 105| getElement(4): [ReturnStmt] return ...
|
|
# 105| getResult(): [DeclRefExpr] y
|
|
# 105| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 105| [Comment] // 58341
|
|
# 105|
|
|
# 108| [NamedFunction] sharedCapture()
|
|
# 108| InterfaceType = () -> Int
|
|
# 108| getBody(): [BraceStmt] { ... }
|
|
# 109| getVariable(0): [ConcreteVarDecl] incrX
|
|
# 109| Type = () -> ()
|
|
# 109| getVariable(1): [ConcreteVarDecl] getX
|
|
# 109| Type = () -> Int
|
|
# 114| getVariable(2): [ConcreteVarDecl] doubleIncrX
|
|
# 114| Type = () -> ()
|
|
# 109| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 109| getInit(0): [CallExpr] call to ...
|
|
# 109| getFunction(): [ExplicitClosureExpr] { ... }
|
|
# 109| getBody(): [BraceStmt] { ... }
|
|
# 110| getVariable(0): [ConcreteVarDecl] x
|
|
# 110| Type = Int
|
|
# 110| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 110| getInit(0): [IntegerLiteralExpr] 0
|
|
# 110| getPattern(0): [NamedPattern] x
|
|
# 111| getElement(1): [ReturnStmt] return ...
|
|
# 111| getResult(): [TupleExpr] (...)
|
|
# 111| getElement(0): [ExplicitClosureExpr] { ... }
|
|
# 111| getBody(): [BraceStmt] { ... }
|
|
# 111| getElement(0): [ReturnStmt] return ...
|
|
# 111| getResult(): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 111| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 111| getBase(): [TypeExpr] Int.Type
|
|
# 111| getTypeRepr(): [TypeRepr] Int
|
|
# 111| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 111| getArgument(0): [Argument] : x
|
|
# 111| getExpr(): [DeclRefExpr] x
|
|
# 111| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 111| getArgument(1): [Argument] : 1
|
|
# 111| getExpr(): [IntegerLiteralExpr] 1
|
|
# 111| getCapture(0): [CapturedDecl] x
|
|
# 111| getElement(1): [ExplicitClosureExpr] { ... }
|
|
# 111| getBody(): [BraceStmt] { ... }
|
|
# 111| getElement(0): [ReturnStmt] return ...
|
|
# 111| getResult(): [DeclRefExpr] x
|
|
# 111| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 111| getCapture(0): [CapturedDecl] x
|
|
# 109| getPattern(0): [TuplePattern] (...)
|
|
# 109| getElement(0): [NamedPattern] incrX
|
|
# 109| getElement(1): [NamedPattern] getX
|
|
# 114| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 114| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 114| getBody(): [BraceStmt] { ... }
|
|
# 115| getElement(0): [CallExpr] call to ...
|
|
# 115| getFunction(): [DeclRefExpr] incrX
|
|
# 116| getElement(1): [CallExpr] call to ...
|
|
# 116| getFunction(): [DeclRefExpr] incrX
|
|
# 115| getCapture(0): [CapturedDecl] incrX
|
|
# 114| getPattern(0): [NamedPattern] doubleIncrX
|
|
# 119| getElement(2): [CallExpr] call to ...
|
|
# 119| getFunction(): [DeclRefExpr] doubleIncrX
|
|
# 120| getElement(3): [CallExpr] call to ...
|
|
# 120| getFunction(): [DeclRefExpr] doubleIncrX
|
|
# 121| getElement(4): [ReturnStmt] return ...
|
|
# 121| getResult(): [CallExpr] call to ...
|
|
# 121| getFunction(): [DeclRefExpr] getX
|
|
# 121| [Comment] // 4
|
|
# 121|
|
|
# 124| [NamedFunction] sink(_:)
|
|
# 124| InterfaceType = (Int) -> ()
|
|
# 124| getParam(0): [ParamDecl] x
|
|
# 124| Type = Int
|
|
# 124| getBody(): [BraceStmt] { ... }
|
|
# 124| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 124| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 124| getArgument(0): [Argument] : [...]
|
|
# 124| getExpr(): [VarargExpansionExpr] [...]
|
|
# 124| getSubExpr(): [ArrayExpr] [...]
|
|
# 124| getElement(0): [StringLiteralExpr] sink:
|
|
# 124| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 124| getElement(1): [DeclRefExpr] x
|
|
# 124| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 124| getArgument(1): [Argument] separator: default separator
|
|
# 124| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 124| getArgument(2): [Argument] terminator: default terminator
|
|
# 124| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 125| [NamedFunction] source()
|
|
# 125| InterfaceType = () -> Int
|
|
# 125| getBody(): [BraceStmt] { ... }
|
|
# 125| getElement(0): [ReturnStmt] return ...
|
|
# 125| getResult(): [IntegerLiteralExpr] -1
|
|
# 127| [NamedFunction] sharedCaptureMultipleWriters()
|
|
# 127| InterfaceType = () -> ()
|
|
# 127| getBody(): [BraceStmt] { ... }
|
|
# 128| getVariable(0): [ConcreteVarDecl] x
|
|
# 128| Type = Int
|
|
# 130| getVariable(1): [ConcreteVarDecl] callSink
|
|
# 130| Type = () -> ()
|
|
# 132| getVariable(2): [ConcreteVarDecl] makeSetter
|
|
# 132| Type = (Int) -> () -> ()
|
|
# 137| getVariable(3): [ConcreteVarDecl] goodSetter
|
|
# 137| Type = () -> ()
|
|
# 138| getVariable(4): [ConcreteVarDecl] badSetter
|
|
# 138| Type = () -> ()
|
|
# 128| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 128| getInit(0): [IntegerLiteralExpr] 123
|
|
# 128| getPattern(0): [NamedPattern] x
|
|
# 130| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 130| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 130| getBody(): [BraceStmt] { ... }
|
|
# 130| getElement(0): [ReturnStmt] return ...
|
|
# 130| getResult(): [CallExpr] call to sink(_:)
|
|
# 130| getFunction(): [DeclRefExpr] sink(_:)
|
|
# 130| getArgument(0): [Argument] : x
|
|
# 130| getExpr(): [DeclRefExpr] x
|
|
# 130| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 130| getCapture(0): [CapturedDecl] x
|
|
# 130| getPattern(0): [NamedPattern] callSink
|
|
# 132| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 132| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 132| getParam(0): [ParamDecl] y
|
|
# 132| Type = Int
|
|
# 132| getBody(): [BraceStmt] { ... }
|
|
# 133| getVariable(0): [ConcreteVarDecl] setter
|
|
# 133| Type = () -> ()
|
|
# 133| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 133| getInit(0): [ExplicitClosureExpr] { ... }
|
|
# 133| getBody(): [BraceStmt] { ... }
|
|
# 133| getElement(0): [ReturnStmt] return ...
|
|
# 133| getResult(): [AssignExpr] ... = ...
|
|
# 133| getDest(): [DeclRefExpr] x
|
|
# 133| getSource(): [DeclRefExpr] y
|
|
# 133| getCapture(0): [CapturedDecl] x
|
|
# 133| getCapture(1): [CapturedDecl] y
|
|
# 133| getPattern(0): [NamedPattern] setter
|
|
# 134| getElement(1): [ReturnStmt] return ...
|
|
# 134| getResult(): [DeclRefExpr] setter
|
|
# 133| getCapture(0): [CapturedDecl] x
|
|
# 132| getPattern(0): [NamedPattern] makeSetter
|
|
# 137| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 137| getInit(0): [CallExpr] call to ...
|
|
# 137| getFunction(): [DeclRefExpr] makeSetter
|
|
# 137| getArgument(0): [Argument] : 42
|
|
# 137| getExpr(): [IntegerLiteralExpr] 42
|
|
# 137| getPattern(0): [NamedPattern] goodSetter
|
|
# 138| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 138| getInit(0): [CallExpr] call to ...
|
|
# 138| getFunction(): [DeclRefExpr] makeSetter
|
|
# 138| getArgument(0): [Argument] : call to source()
|
|
# 138| getExpr(): [CallExpr] call to source()
|
|
# 138| getFunction(): [DeclRefExpr] source()
|
|
# 138| getPattern(0): [NamedPattern] badSetter
|
|
# 140| getElement(5): [CallExpr] call to ...
|
|
# 140| getFunction(): [DeclRefExpr] goodSetter
|
|
# 141| getElement(6): [CallExpr] call to ...
|
|
# 141| getFunction(): [DeclRefExpr] callSink
|
|
# 143| getElement(7): [CallExpr] call to ...
|
|
# 143| getFunction(): [DeclRefExpr] badSetter
|
|
# 144| getElement(8): [CallExpr] call to ...
|
|
# 144| getFunction(): [DeclRefExpr] callSink
|
|
# 147| [NamedFunction] reentrant()
|
|
# 147| InterfaceType = () -> Int
|
|
# 147| getBody(): [BraceStmt] { ... }
|
|
# 167| getVariable(0): [ConcreteVarDecl] h
|
|
# 167| Type = (Int) -> Int
|
|
# 169| getVariable(1): [ConcreteVarDecl] y
|
|
# 169| Type = Int
|
|
# 149| getElement(0): [NamedFunction] f(_:)
|
|
# 149| InterfaceType = (Int) -> (Int) -> Int
|
|
# 149| getParam(0): [ParamDecl] x
|
|
# 149| Type = Int
|
|
# 149| getBody(): [BraceStmt] { ... }
|
|
# 154| getVariable(0): [ConcreteVarDecl] next
|
|
# 154| Type = (Int) -> Int
|
|
# 150| getElement(0): [IfStmt] if ... then { ... }
|
|
# 150| getCondition(): [StmtCondition] StmtCondition
|
|
# 150| getElement(0): [ConditionElement] ... .==(_:_:) ...
|
|
# 150| getBoolean(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 150| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 150| getBase(): [TypeExpr] Int.Type
|
|
# 150| getTypeRepr(): [TypeRepr] Int
|
|
# 150| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 150| getArgument(0): [Argument] : x
|
|
# 150| getExpr(): [DeclRefExpr] x
|
|
# 150| getArgument(1): [Argument] : 0
|
|
# 150| getExpr(): [IntegerLiteralExpr] 0
|
|
# 150| getThen(): [BraceStmt] { ... }
|
|
# 151| getElement(0): [ReturnStmt] return ...
|
|
# 151| getResult(): [ExplicitClosureExpr] { ... }
|
|
# 151| getParam(0): [ParamDecl] _
|
|
# 151| Type = Int
|
|
# 151| getBody(): [BraceStmt] { ... }
|
|
# 151| getElement(0): [ReturnStmt] return ...
|
|
# 151| getResult(): [DeclRefExpr] x
|
|
# 151| getCapture(0): [CapturedDecl] x
|
|
# 154| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 154| getInit(0): [CallExpr] call to g(_:)
|
|
# 154| getFunction(): [DeclRefExpr] g(_:)
|
|
# 154| getArgument(0): [Argument] : ... .-(_:_:) ...
|
|
# 154| getExpr(): [BinaryExpr] ... .-(_:_:) ...
|
|
# 154| getFunction(): [MethodLookupExpr] .-(_:_:)
|
|
# 154| getBase(): [TypeExpr] Int.Type
|
|
# 154| getTypeRepr(): [TypeRepr] Int
|
|
# 154| getMethodRef(): [DeclRefExpr] -(_:_:)
|
|
# 154| getArgument(0): [Argument] : x
|
|
# 154| getExpr(): [DeclRefExpr] x
|
|
# 154| getArgument(1): [Argument] : 1
|
|
# 154| getExpr(): [IntegerLiteralExpr] 1
|
|
# 154| getPattern(0): [NamedPattern] next
|
|
# 155| getElement(2): [ReturnStmt] return ...
|
|
# 155| getResult(): [ExplicitClosureExpr] { ... }
|
|
# 155| getParam(0): [ParamDecl] k
|
|
# 155| Type = Int
|
|
# 155| getBody(): [BraceStmt] { ... }
|
|
# 155| getElement(0): [ReturnStmt] return ...
|
|
# 155| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 155| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 155| getBase(): [TypeExpr] Int.Type
|
|
# 155| getTypeRepr(): [TypeRepr] Int
|
|
# 155| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 155| getArgument(0): [Argument] : ... .*(_:_:) ...
|
|
# 155| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 155| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 155| getBase(): [TypeExpr] Int.Type
|
|
# 155| getTypeRepr(): [TypeRepr] Int
|
|
# 155| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 155| getArgument(0): [Argument] : k
|
|
# 155| getExpr(): [DeclRefExpr] k
|
|
# 155| getArgument(1): [Argument] : call to ...
|
|
# 155| getExpr(): [CallExpr] call to ...
|
|
# 155| getFunction(): [DeclRefExpr] next
|
|
# 155| getArgument(0): [Argument] : ... .*(_:_:) ...
|
|
# 155| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 155| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 155| getBase(): [TypeExpr] Int.Type
|
|
# 155| getTypeRepr(): [TypeRepr] Int
|
|
# 155| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 155| getArgument(0): [Argument] : 10
|
|
# 155| getExpr(): [IntegerLiteralExpr] 10
|
|
# 155| getArgument(1): [Argument] : k
|
|
# 155| getExpr(): [DeclRefExpr] k
|
|
# 155| getArgument(1): [Argument] : x
|
|
# 155| getExpr(): [DeclRefExpr] x
|
|
# 155| getCapture(0): [CapturedDecl] next
|
|
# 155| getCapture(1): [CapturedDecl] x
|
|
# 154| getCapture(0): [CapturedDecl] g(_:)
|
|
# 158| getElement(1): [NamedFunction] g(_:)
|
|
# 158| InterfaceType = (Int) -> (Int) -> Int
|
|
# 158| getParam(0): [ParamDecl] x
|
|
# 158| Type = Int
|
|
# 158| getBody(): [BraceStmt] { ... }
|
|
# 163| getVariable(0): [ConcreteVarDecl] next
|
|
# 163| Type = (Int) -> Int
|
|
# 159| getElement(0): [IfStmt] if ... then { ... }
|
|
# 159| getCondition(): [StmtCondition] StmtCondition
|
|
# 159| getElement(0): [ConditionElement] ... .==(_:_:) ...
|
|
# 159| getBoolean(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 159| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 159| getBase(): [TypeExpr] Int.Type
|
|
# 159| getTypeRepr(): [TypeRepr] Int
|
|
# 159| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 159| getArgument(0): [Argument] : x
|
|
# 159| getExpr(): [DeclRefExpr] x
|
|
# 159| getArgument(1): [Argument] : 0
|
|
# 159| getExpr(): [IntegerLiteralExpr] 0
|
|
# 159| getThen(): [BraceStmt] { ... }
|
|
# 160| getElement(0): [ReturnStmt] return ...
|
|
# 160| getResult(): [ExplicitClosureExpr] { ... }
|
|
# 160| getParam(0): [ParamDecl] _
|
|
# 160| Type = Int
|
|
# 160| getBody(): [BraceStmt] { ... }
|
|
# 160| getElement(0): [ReturnStmt] return ...
|
|
# 160| getResult(): [DeclRefExpr] x
|
|
# 160| getCapture(0): [CapturedDecl] x
|
|
# 163| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 163| getInit(0): [CallExpr] call to f(_:)
|
|
# 163| getFunction(): [DeclRefExpr] f(_:)
|
|
# 163| getArgument(0): [Argument] : ... .-(_:_:) ...
|
|
# 163| getExpr(): [BinaryExpr] ... .-(_:_:) ...
|
|
# 163| getFunction(): [MethodLookupExpr] .-(_:_:)
|
|
# 163| getBase(): [TypeExpr] Int.Type
|
|
# 163| getTypeRepr(): [TypeRepr] Int
|
|
# 163| getMethodRef(): [DeclRefExpr] -(_:_:)
|
|
# 163| getArgument(0): [Argument] : x
|
|
# 163| getExpr(): [DeclRefExpr] x
|
|
# 163| getArgument(1): [Argument] : 1
|
|
# 163| getExpr(): [IntegerLiteralExpr] 1
|
|
# 163| getPattern(0): [NamedPattern] next
|
|
# 164| getElement(2): [ReturnStmt] return ...
|
|
# 164| getResult(): [ExplicitClosureExpr] { ... }
|
|
# 164| getParam(0): [ParamDecl] k
|
|
# 164| Type = Int
|
|
# 164| getBody(): [BraceStmt] { ... }
|
|
# 164| getElement(0): [ReturnStmt] return ...
|
|
# 164| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 164| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 164| getBase(): [TypeExpr] Int.Type
|
|
# 164| getTypeRepr(): [TypeRepr] Int
|
|
# 164| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 164| getArgument(0): [Argument] : ... .*(_:_:) ...
|
|
# 164| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 164| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 164| getBase(): [TypeExpr] Int.Type
|
|
# 164| getTypeRepr(): [TypeRepr] Int
|
|
# 164| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 164| getArgument(0): [Argument] : k
|
|
# 164| getExpr(): [DeclRefExpr] k
|
|
# 164| getArgument(1): [Argument] : call to ...
|
|
# 164| getExpr(): [CallExpr] call to ...
|
|
# 164| getFunction(): [DeclRefExpr] next
|
|
# 164| getArgument(0): [Argument] : ... .*(_:_:) ...
|
|
# 164| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 164| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 164| getBase(): [TypeExpr] Int.Type
|
|
# 164| getTypeRepr(): [TypeRepr] Int
|
|
# 164| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 164| getArgument(0): [Argument] : 10
|
|
# 164| getExpr(): [IntegerLiteralExpr] 10
|
|
# 164| getArgument(1): [Argument] : k
|
|
# 164| getExpr(): [DeclRefExpr] k
|
|
# 164| getArgument(1): [Argument] : ... .*(_:_:) ...
|
|
# 164| getExpr(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 164| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 164| getBase(): [TypeExpr] Int.Type
|
|
# 164| getTypeRepr(): [TypeRepr] Int
|
|
# 164| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 164| getArgument(0): [Argument] : 2
|
|
# 164| getExpr(): [IntegerLiteralExpr] 2
|
|
# 164| getArgument(1): [Argument] : x
|
|
# 164| getExpr(): [DeclRefExpr] x
|
|
# 164| getCapture(0): [CapturedDecl] next
|
|
# 164| getCapture(1): [CapturedDecl] x
|
|
# 163| getCapture(0): [CapturedDecl] f(_:)
|
|
# 167| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 167| getInit(0): [CallExpr] call to f(_:)
|
|
# 167| getFunction(): [DeclRefExpr] f(_:)
|
|
# 167| getArgument(0): [Argument] : 5
|
|
# 167| getExpr(): [IntegerLiteralExpr] 5
|
|
# 167| getPattern(0): [NamedPattern] h
|
|
# 169| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 169| getInit(0): [CallExpr] call to ...
|
|
# 169| getFunction(): [DeclRefExpr] h
|
|
# 169| getArgument(0): [Argument] : 10
|
|
# 169| getExpr(): [IntegerLiteralExpr] 10
|
|
# 169| getPattern(0): [NamedPattern] y
|
|
# 171| getElement(4): [ReturnStmt] return ...
|
|
# 171| getResult(): [DeclRefExpr] y
|
|
# 171| [Comment] // 10004003085
|
|
# 171|
|
|
# 174| [NamedFunction] main()
|
|
# 174| InterfaceType = () -> ()
|
|
# 174| getBody(): [BraceStmt] { ... }
|
|
# 188| getVariable(0): [ConcreteVarDecl] a
|
|
# 188| Type = () -> Int
|
|
# 189| getVariable(1): [ConcreteVarDecl] b
|
|
# 189| Type = () -> Int
|
|
# 175| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 175| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 175| getArgument(0): [Argument] : [...]
|
|
# 175| getExpr(): [VarargExpansionExpr] [...]
|
|
# 175| getSubExpr(): [ArrayExpr] [...]
|
|
# 175| getElement(0): [StringLiteralExpr] captureList():
|
|
# 175| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 175| getArgument(1): [Argument] separator: default separator
|
|
# 175| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 175| getArgument(2): [Argument] terminator: default terminator
|
|
# 175| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 176| getElement(1): [CallExpr] call to captureList()
|
|
# 176| getFunction(): [DeclRefExpr] captureList()
|
|
# 178| getElement(2): [CallExpr] call to print(_:separator:terminator:)
|
|
# 178| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 178| getArgument(0): [Argument] : [...]
|
|
# 178| getExpr(): [VarargExpansionExpr] [...]
|
|
# 178| getSubExpr(): [ArrayExpr] [...]
|
|
# 178| getElement(0): [StringLiteralExpr] callEscape():
|
|
# 178| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 178| getArgument(1): [Argument] separator: default separator
|
|
# 178| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 178| getArgument(2): [Argument] terminator: default terminator
|
|
# 178| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 179| getElement(3): [CallExpr] call to callEscape()
|
|
# 179| getFunction(): [DeclRefExpr] callEscape()
|
|
# 181| getElement(4): [CallExpr] call to print(_:separator:terminator:)
|
|
# 181| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 181| getArgument(0): [Argument] : [...]
|
|
# 181| getExpr(): [VarargExpansionExpr] [...]
|
|
# 181| getSubExpr(): [ArrayExpr] [...]
|
|
# 181| getElement(0): [StringLiteralExpr] logical():
|
|
# 181| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 181| getElement(1): [CallExpr] call to logical()
|
|
# 181| getFunction(): [DeclRefExpr] logical()
|
|
# 181| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 181| getArgument(1): [Argument] separator: default separator
|
|
# 181| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 181| getArgument(2): [Argument] terminator: default terminator
|
|
# 181| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 183| getElement(5): [CallExpr] call to print(_:separator:terminator:)
|
|
# 183| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 183| getArgument(0): [Argument] : [...]
|
|
# 183| getExpr(): [VarargExpansionExpr] [...]
|
|
# 183| getSubExpr(): [ArrayExpr] [...]
|
|
# 183| getElement(0): [StringLiteralExpr] asyncTest():
|
|
# 183| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 183| getArgument(1): [Argument] separator: default separator
|
|
# 183| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 183| getArgument(2): [Argument] terminator: default terminator
|
|
# 183| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 184| getElement(6): [CallExpr] call to asyncTest()
|
|
# 184| getFunction(): [DeclRefExpr] asyncTest()
|
|
# 186| getElement(7): [CallExpr] call to print(_:separator:terminator:)
|
|
# 186| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 186| getArgument(0): [Argument] : [...]
|
|
# 186| getExpr(): [VarargExpansionExpr] [...]
|
|
# 186| getSubExpr(): [ArrayExpr] [...]
|
|
# 186| getElement(0): [StringLiteralExpr] foo():
|
|
# 186| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 186| getElement(1): [CallExpr] call to foo()
|
|
# 186| getFunction(): [DeclRefExpr] foo()
|
|
# 186| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 186| getArgument(1): [Argument] separator: default separator
|
|
# 186| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 186| getArgument(2): [Argument] terminator: default terminator
|
|
# 186| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 188| getElement(8): [PatternBindingDecl] var ... = ...
|
|
# 188| getInit(0): [CallExpr] call to bar()
|
|
# 188| getFunction(): [DeclRefExpr] bar()
|
|
# 188| getPattern(0): [NamedPattern] a
|
|
# 189| getElement(9): [PatternBindingDecl] var ... = ...
|
|
# 189| getInit(0): [CallExpr] call to baz()
|
|
# 189| getFunction(): [DeclRefExpr] baz()
|
|
# 189| getPattern(0): [NamedPattern] b
|
|
# 191| getElement(10): [CallExpr] call to print(_:separator:terminator:)
|
|
# 191| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 191| getArgument(0): [Argument] : [...]
|
|
# 191| getExpr(): [VarargExpansionExpr] [...]
|
|
# 191| getSubExpr(): [ArrayExpr] [...]
|
|
# 191| getElement(0): [StringLiteralExpr] bar():
|
|
# 191| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 191| getElement(1): [CallExpr] call to ...
|
|
# 191| getFunction(): [DeclRefExpr] a
|
|
# 191| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 191| getElement(2): [CallExpr] call to ...
|
|
# 191| getFunction(): [DeclRefExpr] a
|
|
# 191| getElement(2).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 191| getArgument(1): [Argument] separator: default separator
|
|
# 191| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 191| getArgument(2): [Argument] terminator: default terminator
|
|
# 191| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 193| getElement(11): [CallExpr] call to print(_:separator:terminator:)
|
|
# 193| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 193| getArgument(0): [Argument] : [...]
|
|
# 193| getExpr(): [VarargExpansionExpr] [...]
|
|
# 193| getSubExpr(): [ArrayExpr] [...]
|
|
# 193| getElement(0): [StringLiteralExpr] baz():
|
|
# 193| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 193| getElement(1): [CallExpr] call to ...
|
|
# 193| getFunction(): [DeclRefExpr] b
|
|
# 193| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 193| getElement(2): [CallExpr] call to ...
|
|
# 193| getFunction(): [DeclRefExpr] b
|
|
# 193| getElement(2).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 193| getArgument(1): [Argument] separator: default separator
|
|
# 193| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 193| getArgument(2): [Argument] terminator: default terminator
|
|
# 193| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 195| getElement(12): [CallExpr] call to ...
|
|
# 195| getFunction(): [ForceValueExpr] ...!
|
|
# 195| getSubExpr(): [DeclRefExpr] g
|
|
# 195| getSubExpr().getFullyConverted(): [LoadExpr] (((Int) -> Void)?) ...
|
|
# 195| getArgument(0): [Argument] : 1
|
|
# 195| getExpr(): [IntegerLiteralExpr] 1
|
|
# 196| getElement(13): [CallExpr] call to print(_:separator:terminator:)
|
|
# 196| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 196| getArgument(0): [Argument] : [...]
|
|
# 196| getExpr(): [VarargExpansionExpr] [...]
|
|
# 196| getSubExpr(): [ArrayExpr] [...]
|
|
# 196| getElement(0): [StringLiteralExpr] g!(1):
|
|
# 196| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 196| getElement(1): [CallExpr] call to ...
|
|
# 196| getFunction(): [DeclRefExpr] b
|
|
# 196| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 196| getElement(2): [CallExpr] call to ...
|
|
# 196| getFunction(): [DeclRefExpr] b
|
|
# 196| getElement(2).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 196| getArgument(1): [Argument] separator: default separator
|
|
# 196| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 196| getArgument(2): [Argument] terminator: default terminator
|
|
# 196| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 198| getElement(14): [CallExpr] call to ...
|
|
# 198| getFunction(): [ForceValueExpr] ...!
|
|
# 198| getSubExpr(): [DeclRefExpr] g
|
|
# 198| getSubExpr().getFullyConverted(): [LoadExpr] (((Int) -> Void)?) ...
|
|
# 198| getArgument(0): [Argument] : 1
|
|
# 198| getExpr(): [IntegerLiteralExpr] 1
|
|
# 199| getElement(15): [CallExpr] call to print(_:separator:terminator:)
|
|
# 199| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 199| getArgument(0): [Argument] : [...]
|
|
# 199| getExpr(): [VarargExpansionExpr] [...]
|
|
# 199| getSubExpr(): [ArrayExpr] [...]
|
|
# 199| getElement(0): [StringLiteralExpr] g!(1):
|
|
# 199| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 199| getElement(1): [CallExpr] call to ...
|
|
# 199| getFunction(): [DeclRefExpr] b
|
|
# 199| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 199| getElement(2): [CallExpr] call to ...
|
|
# 199| getFunction(): [DeclRefExpr] b
|
|
# 199| getElement(2).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 199| getArgument(1): [Argument] separator: default separator
|
|
# 199| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 199| getArgument(2): [Argument] terminator: default terminator
|
|
# 199| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 201| getElement(16): [CallExpr] call to print(_:separator:terminator:)
|
|
# 201| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 201| getArgument(0): [Argument] : [...]
|
|
# 201| getExpr(): [VarargExpansionExpr] [...]
|
|
# 201| getSubExpr(): [ArrayExpr] [...]
|
|
# 201| getElement(0): [StringLiteralExpr] quux():
|
|
# 201| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 201| getElement(1): [CallExpr] call to quux()
|
|
# 201| getFunction(): [DeclRefExpr] quux()
|
|
# 201| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 201| getArgument(1): [Argument] separator: default separator
|
|
# 201| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 201| getArgument(2): [Argument] terminator: default terminator
|
|
# 201| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 203| getElement(17): [CallExpr] call to print(_:separator:terminator:)
|
|
# 203| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 203| getArgument(0): [Argument] : [...]
|
|
# 203| getExpr(): [VarargExpansionExpr] [...]
|
|
# 203| getSubExpr(): [ArrayExpr] [...]
|
|
# 203| getElement(0): [StringLiteralExpr] sharedCapture():
|
|
# 203| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 203| getElement(1): [CallExpr] call to sharedCapture()
|
|
# 203| getFunction(): [DeclRefExpr] sharedCapture()
|
|
# 203| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 203| getArgument(1): [Argument] separator: default separator
|
|
# 203| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 203| getArgument(2): [Argument] terminator: default terminator
|
|
# 203| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 205| getElement(18): [CallExpr] call to print(_:separator:terminator:)
|
|
# 205| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 205| getArgument(0): [Argument] : [...]
|
|
# 205| getExpr(): [VarargExpansionExpr] [...]
|
|
# 205| getSubExpr(): [ArrayExpr] [...]
|
|
# 205| getElement(0): [StringLiteralExpr] sharedCaptureMultipleWriters():
|
|
# 205| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 205| getArgument(1): [Argument] separator: default separator
|
|
# 205| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 205| getArgument(2): [Argument] terminator: default terminator
|
|
# 205| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 206| getElement(19): [CallExpr] call to sharedCaptureMultipleWriters()
|
|
# 206| getFunction(): [DeclRefExpr] sharedCaptureMultipleWriters()
|
|
# 208| getElement(20): [CallExpr] call to print(_:separator:terminator:)
|
|
# 208| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 208| getArgument(0): [Argument] : [...]
|
|
# 208| getExpr(): [VarargExpansionExpr] [...]
|
|
# 208| getSubExpr(): [ArrayExpr] [...]
|
|
# 208| getElement(0): [StringLiteralExpr] reentrant():
|
|
# 208| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 208| getElement(1): [CallExpr] call to reentrant()
|
|
# 208| getFunction(): [DeclRefExpr] reentrant()
|
|
# 208| getElement(1).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 208| getArgument(1): [Argument] separator: default separator
|
|
# 208| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 208| getArgument(2): [Argument] terminator: default terminator
|
|
# 208| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 195| getCapture(0): [CapturedDecl] g
|
|
# 176| [Comment] // Hello world! 123
|
|
# 176|
|
|
# 179| [Comment] // 1
|
|
# 179|
|
|
# 181| [Comment] // true
|
|
# 181|
|
|
# 184| [Comment] // 42
|
|
# 184|
|
|
# 186| [Comment] // 42
|
|
# 186|
|
|
# 191| [Comment] // 42 42
|
|
# 191|
|
|
# 193| [Comment] // 42 42
|
|
# 193|
|
|
# 196| [Comment] // 43 43
|
|
# 196|
|
|
# 199| [Comment] // 44 44
|
|
# 199|
|
|
# 201| [Comment] // 58341
|
|
# 201|
|
|
# 203| [Comment] // 4
|
|
# 203|
|
|
# 206| [Comment] // 42, -1
|
|
# 206|
|
|
# 208| [Comment] // 10004003085
|
|
# 208|
|
|
# 211| [TopLevelCodeDecl] { ... }
|
|
# 211| getBody(): [BraceStmt] { ... }
|
|
# 211| getElement(0): [CallExpr] call to main()
|
|
# 211| getFunction(): [DeclRefExpr] main()
|