mirror of
https://github.com/github/codeql.git
synced 2025-12-18 01:33:15 +01:00
7521 lines
389 KiB
Plaintext
7521 lines
389 KiB
Plaintext
cfg.swift:
|
|
# 1| [TopLevelCodeDecl] { ... }
|
|
# 1| getBody(): [BraceStmt] { ... }
|
|
# 1| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 1| getInit(0): [IntegerLiteralExpr] 0
|
|
# 1| getPattern(0): [TypedPattern] ... as ...
|
|
# 1| getSubPattern(): [NamedPattern] topLevelDecl
|
|
# 1| getTypeRepr(): [TypeRepr] Int
|
|
# 1| [ConcreteVarDecl] topLevelDecl
|
|
# 1| Type = Int
|
|
# 2| [TopLevelCodeDecl] { ... }
|
|
# 2| getBody(): [BraceStmt] { ... }
|
|
# 2| getElement(0): [IntegerLiteralExpr] 0
|
|
# 3| [TopLevelCodeDecl] { ... }
|
|
# 3| getBody(): [BraceStmt] { ... }
|
|
# 3| getElement(0): [BinaryExpr] ... .+(_:_:) ...
|
|
# 3| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 3| getBase(): [TypeExpr] Int.Type
|
|
# 3| getTypeRepr(): [TypeRepr] Int
|
|
# 3| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 3| getArgument(0): [Argument] : topLevelDecl
|
|
# 3| getExpr(): [DeclRefExpr] topLevelDecl
|
|
# 3| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 3| getArgument(1): [Argument] : 1
|
|
# 3| getExpr(): [IntegerLiteralExpr] 1
|
|
# 5| [NamedFunction] returnZero()
|
|
# 5| InterfaceType = () -> Int
|
|
# 5| getBody(): [BraceStmt] { ... }
|
|
# 5| getElement(0): [ReturnStmt] return ...
|
|
# 5| getResult(): [IntegerLiteralExpr] 0
|
|
# 7| [TopLevelCodeDecl] { ... }
|
|
# 7| getBody(): [BraceStmt] { ... }
|
|
# 7| getElement(0): [CallExpr] call to returnZero()
|
|
# 7| getFunction(): [DeclRefExpr] returnZero()
|
|
# 8| [TopLevelCodeDecl] { ... }
|
|
# 8| getBody(): [BraceStmt] { ... }
|
|
# 8| getElement(0): [CallExpr] call to Double.init(_:)
|
|
# 8| getFunction(): [MethodLookupExpr] Double.init(_:)
|
|
# 8| getBase(): [TypeExpr] Double.Type
|
|
# 8| getTypeRepr(): [TypeRepr] Double
|
|
# 8| getMethodRef(): [DeclRefExpr] Double.init(_:)
|
|
# 8| getArgument(0): [Argument] : topLevelDecl
|
|
# 8| getExpr(): [DeclRefExpr] topLevelDecl
|
|
# 8| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 10| [EnumDecl] MyError
|
|
# 11| getMember(0): [EnumCaseDecl] case ...
|
|
# 11| getMember(1): [EnumElementDecl] error1
|
|
# 11| getMember(2): [EnumElementDecl] error2
|
|
# 12| getMember(3): [EnumCaseDecl] case ...
|
|
# 12| getMember(4): [EnumElementDecl] error3
|
|
# 12| getParam(0): [ParamDecl] withParam
|
|
# 12| Type = Int
|
|
# 15| [NamedFunction] isZero(x:)
|
|
# 15| InterfaceType = (Int) -> Bool
|
|
# 15| getParam(0): [ParamDecl] x
|
|
# 15| Type = Int
|
|
# 15| getBody(): [BraceStmt] { ... }
|
|
# 15| getElement(0): [ReturnStmt] return ...
|
|
# 15| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 15| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 15| getBase(): [TypeExpr] Int.Type
|
|
# 15| getTypeRepr(): [TypeRepr] Int
|
|
# 15| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 15| getArgument(0): [Argument] : x
|
|
# 15| getExpr(): [DeclRefExpr] x
|
|
# 15| getArgument(1): [Argument] : 0
|
|
# 15| getExpr(): [IntegerLiteralExpr] 0
|
|
# 17| [NamedFunction] mightThrow(x:)
|
|
# 17| InterfaceType = (Int) throws -> Void
|
|
# 17| getParam(0): [ParamDecl] x
|
|
# 17| Type = Int
|
|
# 17| getBody(): [BraceStmt] { ... }
|
|
# 18| getElement(0): [GuardStmt] guard ... else { ... }
|
|
# 18| getCondition(): [StmtCondition] StmtCondition
|
|
# 18| getElement(0): [ConditionElement] ... .>=(_:_:) ...
|
|
# 18| getBoolean(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 18| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 18| getBase(): [TypeExpr] Int.Type
|
|
# 18| getTypeRepr(): [TypeRepr] Int
|
|
# 18| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 18| getArgument(0): [Argument] : x
|
|
# 18| getExpr(): [DeclRefExpr] x
|
|
# 18| getArgument(1): [Argument] : 0
|
|
# 18| getExpr(): [IntegerLiteralExpr] 0
|
|
# 18| getBody(): [BraceStmt] { ... }
|
|
# 19| getElement(0): [ThrowStmt] throw ...
|
|
# 19| getSubExpr(): [MethodLookupExpr] .error1
|
|
# 19| getBase(): [TypeExpr] MyError.Type
|
|
# 19| getTypeRepr(): [TypeRepr] MyError
|
|
# 19| getMethodRef(): [DeclRefExpr] error1
|
|
# 19| getSubExpr().getFullyConverted(): [ErasureExpr] (any Error) ...
|
|
# 21| getElement(1): [GuardStmt] guard ... else { ... }
|
|
# 21| getCondition(): [StmtCondition] StmtCondition
|
|
# 21| getElement(0): [ConditionElement] ... .<=(_:_:) ...
|
|
# 21| getBoolean(): [BinaryExpr] ... .<=(_:_:) ...
|
|
# 21| getFunction(): [MethodLookupExpr] .<=(_:_:)
|
|
# 21| getBase(): [TypeExpr] Int.Type
|
|
# 21| getTypeRepr(): [TypeRepr] Int
|
|
# 21| getMethodRef(): [DeclRefExpr] <=(_:_:)
|
|
# 21| getArgument(0): [Argument] : x
|
|
# 21| getExpr(): [DeclRefExpr] x
|
|
# 21| getArgument(1): [Argument] : 0
|
|
# 21| getExpr(): [IntegerLiteralExpr] 0
|
|
# 21| getBody(): [BraceStmt] { ... }
|
|
# 22| getElement(0): [ThrowStmt] throw ...
|
|
# 22| getSubExpr(): [CallExpr] call to ...
|
|
# 22| getFunction(): [MethodLookupExpr] .error3
|
|
# 22| getBase(): [TypeExpr] MyError.Type
|
|
# 22| getTypeRepr(): [TypeRepr] MyError
|
|
# 22| getMethodRef(): [DeclRefExpr] error3
|
|
# 22| getArgument(0): [Argument] withParam: ... .+(_:_:) ...
|
|
# 22| getExpr(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 22| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 22| getBase(): [TypeExpr] Int.Type
|
|
# 22| getTypeRepr(): [TypeRepr] Int
|
|
# 22| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 22| getArgument(0): [Argument] : x
|
|
# 22| getExpr(): [DeclRefExpr] x
|
|
# 22| getArgument(1): [Argument] : 1
|
|
# 22| getExpr(): [IntegerLiteralExpr] 1
|
|
# 22| getSubExpr().getFullyConverted(): [ErasureExpr] (any Error) ...
|
|
# 26| [NamedFunction] tryCatch(x:)
|
|
# 26| InterfaceType = (Int) -> Int
|
|
# 26| getParam(0): [ParamDecl] x
|
|
# 26| Type = Int
|
|
# 26| getBody(): [BraceStmt] { ... }
|
|
# 27| getElement(0): [DoCatchStmt] do { ... } catch { ... }
|
|
# 27| getBody(): [BraceStmt] { ... }
|
|
# 28| getElement(0): [TryExpr] try ...
|
|
# 28| getSubExpr(): [CallExpr] call to mightThrow(x:)
|
|
# 28| getFunction(): [DeclRefExpr] mightThrow(x:)
|
|
# 28| getArgument(0): [Argument] x: 0
|
|
# 28| getExpr(): [IntegerLiteralExpr] 0
|
|
# 29| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 29| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 29| getArgument(0): [Argument] : [...]
|
|
# 29| getExpr(): [VarargExpansionExpr] [...]
|
|
# 29| getSubExpr(): [ArrayExpr] [...]
|
|
# 29| getElement(0): [StringLiteralExpr] Did not throw.
|
|
# 29| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 29| getArgument(1): [Argument] separator: default separator
|
|
# 29| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 29| getArgument(2): [Argument] terminator: default terminator
|
|
# 29| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 30| getElement(2): [ForceTryExpr] try! ...
|
|
# 30| getSubExpr(): [CallExpr] call to mightThrow(x:)
|
|
# 30| getFunction(): [DeclRefExpr] mightThrow(x:)
|
|
# 30| getArgument(0): [Argument] x: 0
|
|
# 30| getExpr(): [IntegerLiteralExpr] 0
|
|
# 31| getElement(3): [CallExpr] call to print(_:separator:terminator:)
|
|
# 31| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 31| getArgument(0): [Argument] : [...]
|
|
# 31| getExpr(): [VarargExpansionExpr] [...]
|
|
# 31| getSubExpr(): [ArrayExpr] [...]
|
|
# 31| getElement(0): [StringLiteralExpr] Still did not throw.
|
|
# 31| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 31| getArgument(1): [Argument] separator: default separator
|
|
# 31| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 31| getArgument(2): [Argument] terminator: default terminator
|
|
# 31| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 33| getCatch(0): [CaseStmt] case ...
|
|
# 33| getLabel(0): [CaseLabelItem] ... is ...
|
|
# 33| getPattern(): [IsPattern] ... is ...
|
|
# 33| getSubPattern(): [EnumElementPattern] .error1
|
|
# 33| getLabel(1): [CaseLabelItem] ... is ... where ...
|
|
# 33| getPattern(): [IsPattern] ... is ...
|
|
# 33| getSubPattern(): [EnumElementPattern] .error2
|
|
# 33| getGuard(): [CallExpr] call to isZero(x:)
|
|
# 33| getFunction(): [DeclRefExpr] isZero(x:)
|
|
# 33| getArgument(0): [Argument] x: x
|
|
# 33| getExpr(): [DeclRefExpr] x
|
|
# 33| getBody(): [BraceStmt] { ... }
|
|
# 34| getElement(0): [ReturnStmt] return ...
|
|
# 34| getResult(): [IntegerLiteralExpr] 0
|
|
# 35| getCatch(1): [CaseStmt] case ...
|
|
# 35| getLabel(0): [CaseLabelItem] ... is ...
|
|
# 35| getPattern(): [IsPattern] ... is ...
|
|
# 35| getSubPattern(): [EnumElementPattern] .error3(...)
|
|
# 35| getSubPattern(): [TuplePattern] (...)
|
|
# 35| getElement(0): [NamedPattern] withParam
|
|
# 35| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 35| getVariable(0): [ConcreteVarDecl] withParam
|
|
# 35| Type = Int
|
|
# 35| getBody(): [BraceStmt] { ... }
|
|
# 36| getElement(0): [ReturnStmt] return ...
|
|
# 36| getResult(): [DeclRefExpr] withParam
|
|
# 37| getCatch(2): [CaseStmt] case ...
|
|
# 37| getLabel(0): [CaseLabelItem] ... is ...
|
|
# 37| getPattern(): [IsPattern] ... is ...
|
|
# 37| getCastTypeRepr(): [TypeRepr] MyError
|
|
# 37| getBody(): [BraceStmt] { ... }
|
|
# 38| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 38| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 38| getArgument(0): [Argument] : [...]
|
|
# 38| getExpr(): [VarargExpansionExpr] [...]
|
|
# 38| getSubExpr(): [ArrayExpr] [...]
|
|
# 38| getElement(0): [StringLiteralExpr] MyError
|
|
# 38| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 38| getArgument(1): [Argument] separator: default separator
|
|
# 38| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 38| getArgument(2): [Argument] terminator: default terminator
|
|
# 38| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 39| getCatch(3): [CaseStmt] case ...
|
|
# 39| getLabel(0): [CaseLabelItem] error
|
|
# 39| getPattern(): [NamedPattern] error
|
|
# 39| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 39| getVariable(0): [ConcreteVarDecl] error
|
|
# 39| Type = any Error
|
|
# 39| getBody(): [BraceStmt] { ... }
|
|
# 40| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 40| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 40| getArgument(0): [Argument] : [...]
|
|
# 40| getExpr(): [VarargExpansionExpr] [...]
|
|
# 40| getSubExpr(): [ArrayExpr] [...]
|
|
# 40| getElement(0): [InterpolatedStringLiteralExpr] "..."
|
|
# 40| getAppendingExpr(): [TapExpr] TapExpr
|
|
# 40| getSubExpr(): [OpaqueValueExpr] OpaqueValueExpr
|
|
# 40| getBody(): [BraceStmt] { ... }
|
|
#-----| getVariable(0): [ConcreteVarDecl] $interpolation
|
|
#-----| Type = DefaultStringInterpolation
|
|
# 40| getElement(0): [CallExpr] call to appendLiteral(_:)
|
|
# 40| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 40| getBase(): [DeclRefExpr] $interpolation
|
|
# 40| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 40| getArgument(0): [Argument] : Unknown error
|
|
# 40| getExpr(): [StringLiteralExpr] Unknown error
|
|
# 40| getElement(1): [CallExpr] call to appendInterpolation(_:)
|
|
# 40| getFunction(): [MethodLookupExpr] .appendInterpolation(_:)
|
|
# 40| getBase(): [DeclRefExpr] $interpolation
|
|
# 40| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 40| getMethodRef(): [DeclRefExpr] appendInterpolation(_:)
|
|
# 40| getArgument(0): [Argument] : error
|
|
# 40| getExpr(): [DeclRefExpr] error
|
|
# 40| getElement(2): [CallExpr] call to appendLiteral(_:)
|
|
# 40| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 40| getBase(): [DeclRefExpr] $interpolation
|
|
# 40| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 40| getArgument(0): [Argument] :
|
|
# 40| getExpr(): [StringLiteralExpr]
|
|
# 40| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 40| getArgument(1): [Argument] separator: default separator
|
|
# 40| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 40| getArgument(2): [Argument] terminator: default terminator
|
|
# 40| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 42| getElement(1): [ReturnStmt] return ...
|
|
# 42| getResult(): [IntegerLiteralExpr] 0
|
|
# 45| [NamedFunction] createClosure1(s:)
|
|
# 45| InterfaceType = (String) -> () -> String
|
|
# 45| getParam(0): [ParamDecl] s
|
|
# 45| Type = String
|
|
# 45| getBody(): [BraceStmt] { ... }
|
|
# 46| getElement(0): [ReturnStmt] return ...
|
|
# 46| getResult(): [ExplicitClosureExpr] { ... }
|
|
# 46| getBody(): [BraceStmt] { ... }
|
|
# 47| getElement(0): [ReturnStmt] return ...
|
|
# 47| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 47| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 47| getBase(): [TypeExpr] String.Type
|
|
# 47| getTypeRepr(): [TypeRepr] String
|
|
# 47| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 47| getArgument(0): [Argument] : s
|
|
# 47| getExpr(): [DeclRefExpr] s
|
|
# 47| getArgument(1): [Argument] :
|
|
# 47| getExpr(): [StringLiteralExpr]
|
|
# 47| getCapture(0): [CapturedDecl] s
|
|
# 51| [NamedFunction] createClosure2(x:)
|
|
# 51| InterfaceType = (Int) -> (Int) -> Int
|
|
# 51| getParam(0): [ParamDecl] x
|
|
# 51| Type = Int
|
|
# 51| getBody(): [BraceStmt] { ... }
|
|
# 52| getElement(0): [NamedFunction] f(y:)
|
|
# 52| InterfaceType = (Int) -> Int
|
|
# 52| getParam(0): [ParamDecl] y
|
|
# 52| Type = Int
|
|
# 52| getBody(): [BraceStmt] { ... }
|
|
# 53| getElement(0): [ReturnStmt] return ...
|
|
# 53| getResult(): [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| getArgument(1): [Argument] : y
|
|
# 53| getExpr(): [DeclRefExpr] y
|
|
# 53| getCapture(0): [CapturedDecl] x
|
|
# 55| getElement(1): [ReturnStmt] return ...
|
|
# 55| getResult(): [DeclRefExpr] f(y:)
|
|
# 58| [NamedFunction] createClosure3(x:)
|
|
# 58| InterfaceType = (Int) -> (Int) -> Int
|
|
# 58| getParam(0): [ParamDecl] x
|
|
# 58| Type = Int
|
|
# 58| getBody(): [BraceStmt] { ... }
|
|
# 59| getElement(0): [ReturnStmt] return ...
|
|
# 59| getResult(): [ExplicitClosureExpr] { ... }
|
|
# 60| getParam(0): [ParamDecl] y
|
|
# 60| Type = Int
|
|
# 59| getBody(): [BraceStmt] { ... }
|
|
# 60| getElement(0): [ReturnStmt] return ...
|
|
# 60| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 60| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 60| getBase(): [TypeExpr] Int.Type
|
|
# 60| getTypeRepr(): [TypeRepr] Int
|
|
# 60| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 60| getArgument(0): [Argument] : x
|
|
# 60| getExpr(): [DeclRefExpr] x
|
|
# 60| getArgument(1): [Argument] : y
|
|
# 60| getExpr(): [DeclRefExpr] y
|
|
# 60| getCapture(0): [CapturedDecl] x
|
|
# 64| [NamedFunction] callClosures()
|
|
# 64| InterfaceType = () -> ()
|
|
# 64| getBody(): [BraceStmt] { ... }
|
|
# 65| getVariable(0): [ConcreteVarDecl] x1
|
|
# 65| Type = String
|
|
# 66| getVariable(1): [ConcreteVarDecl] x2
|
|
# 66| Type = Int
|
|
# 67| getVariable(2): [ConcreteVarDecl] x3
|
|
# 67| Type = Int
|
|
# 65| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 65| getInit(0): [CallExpr] call to ...
|
|
# 65| getFunction(): [CallExpr] call to createClosure1(s:)
|
|
# 65| getFunction(): [DeclRefExpr] createClosure1(s:)
|
|
# 65| getArgument(0): [Argument] s:
|
|
# 65| getExpr(): [StringLiteralExpr]
|
|
# 65| getPattern(0): [NamedPattern] x1
|
|
# 66| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 66| getInit(0): [CallExpr] call to ...
|
|
# 66| getFunction(): [CallExpr] call to createClosure2(x:)
|
|
# 66| getFunction(): [DeclRefExpr] createClosure2(x:)
|
|
# 66| getArgument(0): [Argument] x: 0
|
|
# 66| getExpr(): [IntegerLiteralExpr] 0
|
|
# 66| getArgument(0): [Argument] : 10
|
|
# 66| getExpr(): [IntegerLiteralExpr] 10
|
|
# 66| getPattern(0): [NamedPattern] x2
|
|
# 67| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 67| getInit(0): [CallExpr] call to ...
|
|
# 67| getFunction(): [CallExpr] call to createClosure3(x:)
|
|
# 67| getFunction(): [DeclRefExpr] createClosure3(x:)
|
|
# 67| getArgument(0): [Argument] x: 0
|
|
# 67| getExpr(): [IntegerLiteralExpr] 0
|
|
# 67| getArgument(0): [Argument] : 10
|
|
# 67| getExpr(): [IntegerLiteralExpr] 10
|
|
# 67| getPattern(0): [NamedPattern] x3
|
|
# 70| [NamedFunction] maybeParseInt(s:)
|
|
# 70| InterfaceType = (String) -> Int?
|
|
# 70| getParam(0): [ParamDecl] s
|
|
# 70| Type = String
|
|
# 70| getBody(): [BraceStmt] { ... }
|
|
# 71| getVariable(0): [ConcreteVarDecl] n
|
|
# 71| Type = Int?
|
|
# 71| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 71| getInit(0): [CallExpr] call to Self.init(_:)
|
|
# 71| getFunction(): [MethodLookupExpr] Self.init(_:)
|
|
# 71| getBase(): [TypeExpr] Int.Type
|
|
# 71| getTypeRepr(): [TypeRepr] Int
|
|
# 71| getMethodRef(): [DeclRefExpr] Self.init(_:)
|
|
# 71| getArgument(0): [Argument] : s
|
|
# 71| getExpr(): [DeclRefExpr] s
|
|
# 71| getPattern(0): [TypedPattern] ... as ...
|
|
# 71| getSubPattern(): [NamedPattern] n
|
|
# 71| getTypeRepr(): [TypeRepr] Int?
|
|
# 72| getElement(1): [ReturnStmt] return ...
|
|
# 72| getResult(): [DeclRefExpr] n
|
|
# 72| getResult().getFullyConverted(): [LoadExpr] (Int?) ...
|
|
# 75| [NamedFunction] forceAndBackToOptional()
|
|
# 75| InterfaceType = () -> Int?
|
|
# 75| getBody(): [BraceStmt] { ... }
|
|
# 76| getVariable(0): [ConcreteVarDecl] nBang
|
|
# 76| Type = Int
|
|
# 77| getVariable(1): [ConcreteVarDecl] n
|
|
# 77| Type = Int?
|
|
# 76| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 76| getInit(0): [ForceValueExpr] ...!
|
|
# 76| getSubExpr(): [CallExpr] call to maybeParseInt(s:)
|
|
# 76| getFunction(): [DeclRefExpr] maybeParseInt(s:)
|
|
# 76| getArgument(0): [Argument] s: 42
|
|
# 76| getExpr(): [StringLiteralExpr] 42
|
|
# 76| getPattern(0): [NamedPattern] nBang
|
|
# 77| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 77| getInit(0): [CallExpr] call to maybeParseInt(s:)
|
|
# 77| getFunction(): [DeclRefExpr] maybeParseInt(s:)
|
|
# 77| getArgument(0): [Argument] s: 42
|
|
# 77| getExpr(): [StringLiteralExpr] 42
|
|
# 77| getPattern(0): [NamedPattern] n
|
|
# 78| getElement(2): [ReturnStmt] return ...
|
|
# 78| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 78| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 78| getBase(): [TypeExpr] Int.Type
|
|
# 78| getTypeRepr(): [TypeRepr] Int
|
|
# 78| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 78| getArgument(0): [Argument] : nBang
|
|
# 78| getExpr(): [DeclRefExpr] nBang
|
|
# 78| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 78| getArgument(1): [Argument] : ...!
|
|
# 78| getExpr(): [ForceValueExpr] ...!
|
|
# 78| getSubExpr(): [DeclRefExpr] n
|
|
# 78| getSubExpr().getFullyConverted(): [LoadExpr] (Int?) ...
|
|
# 78| getResult().getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 81| [NamedFunction] testInOut()
|
|
# 81| InterfaceType = () -> Int
|
|
# 81| getBody(): [BraceStmt] { ... }
|
|
# 82| getVariable(0): [ConcreteVarDecl] temp
|
|
# 82| Type = Int
|
|
# 93| getVariable(1): [ConcreteVarDecl] tempOptional
|
|
# 93| Type = Int?
|
|
# 82| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 82| getInit(0): [IntegerLiteralExpr] 10
|
|
# 82| getPattern(0): [NamedPattern] temp
|
|
# 84| getElement(1): [NamedFunction] add(a:)
|
|
# 84| InterfaceType = (inout Int) -> ()
|
|
# 84| getParam(0): [ParamDecl] a
|
|
# 84| Type = Int
|
|
# 84| getBody(): [BraceStmt] { ... }
|
|
# 85| getElement(0): [AssignExpr] ... = ...
|
|
# 85| getDest(): [DeclRefExpr] a
|
|
# 85| getSource(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 85| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 85| getBase(): [TypeExpr] Int.Type
|
|
# 85| getTypeRepr(): [TypeRepr] Int
|
|
# 85| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 85| getArgument(0): [Argument] : a
|
|
# 85| getExpr(): [DeclRefExpr] a
|
|
# 85| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 85| getArgument(1): [Argument] : 1
|
|
# 85| getExpr(): [IntegerLiteralExpr] 1
|
|
# 88| getElement(2): [NamedFunction] addOptional(a:)
|
|
# 88| InterfaceType = (inout Int?) -> ()
|
|
# 88| getParam(0): [ParamDecl] a
|
|
# 88| Type = Int?
|
|
# 88| getBody(): [BraceStmt] { ... }
|
|
# 89| getElement(0): [AssignExpr] ... = ...
|
|
# 89| getDest(): [DeclRefExpr] a
|
|
# 89| getSource(): [NilLiteralExpr] nil
|
|
# 92| getElement(3): [CallExpr] call to add(a:)
|
|
# 92| getFunction(): [DeclRefExpr] add(a:)
|
|
# 92| getArgument(0): [Argument] a: temp
|
|
# 92| getExpr(): [DeclRefExpr] temp
|
|
# 92| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 93| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 93| getInit(0): [IntegerLiteralExpr] 10
|
|
# 93| getInit(0).getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 93| getPattern(0): [TypedPattern] ... as ...
|
|
# 93| getSubPattern(): [NamedPattern] tempOptional
|
|
# 93| getTypeRepr(): [TypeRepr] Int?
|
|
# 94| getElement(5): [CallExpr] call to addOptional(a:)
|
|
# 94| getFunction(): [DeclRefExpr] addOptional(a:)
|
|
# 94| getArgument(0): [Argument] a: tempOptional
|
|
# 94| getExpr(): [DeclRefExpr] tempOptional
|
|
# 94| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 95| getElement(6): [ReturnStmt] return ...
|
|
# 95| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 95| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 95| getBase(): [TypeExpr] Int.Type
|
|
# 95| getTypeRepr(): [TypeRepr] Int
|
|
# 95| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 95| getArgument(0): [Argument] : temp
|
|
# 95| getExpr(): [DeclRefExpr] temp
|
|
# 95| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 95| getArgument(1): [Argument] : ...!
|
|
# 95| getExpr(): [ForceValueExpr] ...!
|
|
# 95| getSubExpr(): [DeclRefExpr] tempOptional
|
|
# 95| getSubExpr().getFullyConverted(): [LoadExpr] (Int?) ...
|
|
# 98| [ClassDecl] C
|
|
# 99| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 99| getPattern(0): [TypedPattern] ... as ...
|
|
# 99| getSubPattern(): [NamedPattern] myInt
|
|
# 99| getTypeRepr(): [TypeRepr] Int
|
|
# 99| getMember(1): [ConcreteVarDecl] myInt
|
|
# 99| Type = Int
|
|
# 99| getAccessor(0): [Accessor] get
|
|
# 99| InterfaceType = (C) -> () -> Int
|
|
# 99| getSelfParam(): [ParamDecl] self
|
|
# 99| Type = C
|
|
# 99| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .myInt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 100| getMember(2): [Initializer] C.init(n:)
|
|
# 100| InterfaceType = (C.Type) -> (Int) -> C
|
|
# 100| getSelfParam(): [ParamDecl] self
|
|
# 100| Type = C
|
|
# 100| getParam(0): [ParamDecl] n
|
|
# 100| Type = Int
|
|
# 100| getBody(): [BraceStmt] { ... }
|
|
# 101| getElement(0): [AssignExpr] ... = ...
|
|
# 101| getDest(): [MemberRefExpr] .myInt
|
|
# 101| getBase(): [DeclRefExpr] self
|
|
# 101| getSource(): [DeclRefExpr] n
|
|
# 102| getElement(1): [ReturnStmt] return
|
|
# 104| getMember(3): [NamedFunction] getMyInt()
|
|
# 104| InterfaceType = (C) -> () -> Int
|
|
# 104| getSelfParam(): [ParamDecl] self
|
|
# 104| Type = C
|
|
# 104| getBody(): [BraceStmt] { ... }
|
|
# 105| getElement(0): [ReturnStmt] return ...
|
|
# 105| getResult(): [MemberRefExpr] .myInt
|
|
# 105| getBase(): [DeclRefExpr] self
|
|
# 98| getMember(4): [Deinitializer] C.deinit()
|
|
# 98| InterfaceType = (C) -> () -> ()
|
|
# 98| getSelfParam(): [ParamDecl] self
|
|
# 98| Type = C
|
|
# 98| getBody(): [BraceStmt] { ... }
|
|
# 109| [NamedFunction] testMemberRef(param:inoutParam:opt:)
|
|
# 109| InterfaceType = (C, inout C, C?) -> ()
|
|
# 109| getParam(0): [ParamDecl] param
|
|
# 109| Type = C
|
|
# 109| getParam(1): [ParamDecl] inoutParam
|
|
# 109| Type = C
|
|
# 109| getParam(2): [ParamDecl] opt
|
|
# 109| Type = C?
|
|
# 109| getBody(): [BraceStmt] { ... }
|
|
# 110| getVariable(0): [ConcreteVarDecl] c
|
|
# 110| Type = C
|
|
# 111| getVariable(1): [ConcreteVarDecl] n1
|
|
# 111| Type = Int
|
|
# 112| getVariable(2): [ConcreteVarDecl] n2
|
|
# 112| Type = Int
|
|
# 113| getVariable(3): [ConcreteVarDecl] n3
|
|
# 113| Type = Int
|
|
# 114| getVariable(4): [ConcreteVarDecl] n4
|
|
# 114| Type = Int
|
|
# 116| getVariable(5): [ConcreteVarDecl] n5
|
|
# 116| Type = Int
|
|
# 117| getVariable(6): [ConcreteVarDecl] n6
|
|
# 117| Type = Int
|
|
# 118| getVariable(7): [ConcreteVarDecl] n7
|
|
# 118| Type = Int
|
|
# 119| getVariable(8): [ConcreteVarDecl] n8
|
|
# 119| Type = Int
|
|
# 121| getVariable(9): [ConcreteVarDecl] n9
|
|
# 121| Type = Int
|
|
# 122| getVariable(10): [ConcreteVarDecl] n10
|
|
# 122| Type = Int
|
|
# 123| getVariable(11): [ConcreteVarDecl] n11
|
|
# 123| Type = Int
|
|
# 124| getVariable(12): [ConcreteVarDecl] n12
|
|
# 124| Type = Int
|
|
# 126| getVariable(13): [ConcreteVarDecl] n13
|
|
# 126| Type = Int
|
|
# 127| getVariable(14): [ConcreteVarDecl] n14
|
|
# 127| Type = Int
|
|
# 128| getVariable(15): [ConcreteVarDecl] n15
|
|
# 128| Type = Int
|
|
# 129| getVariable(16): [ConcreteVarDecl] n16
|
|
# 129| Type = Int
|
|
# 131| getVariable(17): [ConcreteVarDecl] n17
|
|
# 131| Type = Int?
|
|
# 132| getVariable(18): [ConcreteVarDecl] n18
|
|
# 132| Type = Int?
|
|
# 133| getVariable(19): [ConcreteVarDecl] n19
|
|
# 133| Type = Int?
|
|
# 134| getVariable(20): [ConcreteVarDecl] n20
|
|
# 134| Type = Int?
|
|
# 110| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 110| getInit(0): [CallExpr] call to C.init(n:)
|
|
# 110| getFunction(): [MethodLookupExpr] C.init(n:)
|
|
# 110| getBase(): [TypeExpr] C.Type
|
|
# 110| getTypeRepr(): [TypeRepr] C
|
|
# 110| getMethodRef(): [DeclRefExpr] C.init(n:)
|
|
# 110| getArgument(0): [Argument] n: 42
|
|
# 110| getExpr(): [IntegerLiteralExpr] 42
|
|
# 110| getPattern(0): [NamedPattern] c
|
|
# 111| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 111| getInit(0): [MemberRefExpr] .myInt
|
|
# 111| getBase(): [DeclRefExpr] c
|
|
# 111| getPattern(0): [NamedPattern] n1
|
|
# 112| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 112| getInit(0): [MemberRefExpr] .myInt
|
|
# 112| getBase(): [DeclRefExpr] c
|
|
# 112| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 112| getPattern(0): [NamedPattern] n2
|
|
# 113| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 113| getInit(0): [CallExpr] call to getMyInt()
|
|
# 113| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 113| getBase(): [DeclRefExpr] c
|
|
# 113| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 113| getPattern(0): [NamedPattern] n3
|
|
# 114| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 114| getInit(0): [CallExpr] call to getMyInt()
|
|
# 114| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 114| getBase(): [DeclRefExpr] c
|
|
# 114| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 114| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 114| getPattern(0): [NamedPattern] n4
|
|
# 116| getElement(5): [PatternBindingDecl] var ... = ...
|
|
# 116| getInit(0): [MemberRefExpr] .myInt
|
|
# 116| getBase(): [DeclRefExpr] param
|
|
# 116| getPattern(0): [NamedPattern] n5
|
|
# 117| getElement(6): [PatternBindingDecl] var ... = ...
|
|
# 117| getInit(0): [MemberRefExpr] .myInt
|
|
# 117| getBase(): [DeclRefExpr] param
|
|
# 117| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 117| getPattern(0): [NamedPattern] n6
|
|
# 118| getElement(7): [PatternBindingDecl] var ... = ...
|
|
# 118| getInit(0): [CallExpr] call to getMyInt()
|
|
# 118| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 118| getBase(): [DeclRefExpr] param
|
|
# 118| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 118| getPattern(0): [NamedPattern] n7
|
|
# 119| getElement(8): [PatternBindingDecl] var ... = ...
|
|
# 119| getInit(0): [CallExpr] call to getMyInt()
|
|
# 119| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 119| getBase(): [DeclRefExpr] param
|
|
# 119| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 119| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 119| getPattern(0): [NamedPattern] n8
|
|
# 121| getElement(9): [PatternBindingDecl] var ... = ...
|
|
# 121| getInit(0): [MemberRefExpr] .myInt
|
|
# 121| getBase(): [DeclRefExpr] inoutParam
|
|
# 121| getBase().getFullyConverted(): [LoadExpr] (C) ...
|
|
# 121| getPattern(0): [NamedPattern] n9
|
|
# 122| getElement(10): [PatternBindingDecl] var ... = ...
|
|
# 122| getInit(0): [MemberRefExpr] .myInt
|
|
# 122| getBase(): [DeclRefExpr] inoutParam
|
|
# 122| getBase().getFullyConverted(): [LoadExpr] (C) ...
|
|
# 122| getSubExpr(): [DotSelfExpr] .self
|
|
# 122| getPattern(0): [NamedPattern] n10
|
|
# 123| getElement(11): [PatternBindingDecl] var ... = ...
|
|
# 123| getInit(0): [CallExpr] call to getMyInt()
|
|
# 123| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 123| getBase(): [DeclRefExpr] inoutParam
|
|
# 123| getBase().getFullyConverted(): [LoadExpr] (C) ...
|
|
# 123| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 123| getPattern(0): [NamedPattern] n11
|
|
# 124| getElement(12): [PatternBindingDecl] var ... = ...
|
|
# 124| getInit(0): [CallExpr] call to getMyInt()
|
|
# 124| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 124| getBase(): [DeclRefExpr] inoutParam
|
|
# 124| getBase().getFullyConverted(): [LoadExpr] (C) ...
|
|
# 124| getSubExpr(): [DotSelfExpr] .self
|
|
# 124| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 124| getPattern(0): [NamedPattern] n12
|
|
# 126| getElement(13): [PatternBindingDecl] var ... = ...
|
|
# 126| getInit(0): [MemberRefExpr] .myInt
|
|
# 126| getBase(): [ForceValueExpr] ...!
|
|
# 126| getSubExpr(): [DeclRefExpr] opt
|
|
# 126| getPattern(0): [NamedPattern] n13
|
|
# 127| getElement(14): [PatternBindingDecl] var ... = ...
|
|
# 127| getInit(0): [MemberRefExpr] .myInt
|
|
# 127| getBase(): [ForceValueExpr] ...!
|
|
# 127| getSubExpr(): [DeclRefExpr] opt
|
|
# 127| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 127| getPattern(0): [NamedPattern] n14
|
|
# 128| getElement(15): [PatternBindingDecl] var ... = ...
|
|
# 128| getInit(0): [CallExpr] call to getMyInt()
|
|
# 128| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 128| getBase(): [ForceValueExpr] ...!
|
|
# 128| getSubExpr(): [DeclRefExpr] opt
|
|
# 128| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 128| getPattern(0): [NamedPattern] n15
|
|
# 129| getElement(16): [PatternBindingDecl] var ... = ...
|
|
# 129| getInit(0): [CallExpr] call to getMyInt()
|
|
# 129| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 129| getBase(): [ForceValueExpr] ...!
|
|
# 129| getSubExpr(): [DeclRefExpr] opt
|
|
# 129| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 129| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 129| getPattern(0): [NamedPattern] n16
|
|
# 131| getElement(17): [PatternBindingDecl] var ... = ...
|
|
# 131| getInit(0): [OptionalEvaluationExpr] OptionalEvaluationExpr
|
|
# 131| getSubExpr(): [MemberRefExpr] .myInt
|
|
# 131| getBase(): [BindOptionalExpr] ...?
|
|
# 131| getSubExpr(): [DeclRefExpr] opt
|
|
# 131| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 131| getPattern(0): [NamedPattern] n17
|
|
# 132| getElement(18): [PatternBindingDecl] var ... = ...
|
|
# 132| getInit(0): [OptionalEvaluationExpr] OptionalEvaluationExpr
|
|
# 132| getSubExpr(): [MemberRefExpr] .myInt
|
|
# 132| getBase(): [BindOptionalExpr] ...?
|
|
# 132| getSubExpr(): [DeclRefExpr] opt
|
|
# 132| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 132| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 132| getPattern(0): [NamedPattern] n18
|
|
# 133| getElement(19): [PatternBindingDecl] var ... = ...
|
|
# 133| getInit(0): [OptionalEvaluationExpr] OptionalEvaluationExpr
|
|
# 133| getSubExpr(): [CallExpr] call to getMyInt()
|
|
# 133| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 133| getBase(): [BindOptionalExpr] ...?
|
|
# 133| getSubExpr(): [DeclRefExpr] opt
|
|
# 133| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 133| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 133| getPattern(0): [NamedPattern] n19
|
|
# 134| getElement(20): [PatternBindingDecl] var ... = ...
|
|
# 134| getInit(0): [OptionalEvaluationExpr] OptionalEvaluationExpr
|
|
# 134| getSubExpr(): [CallExpr] call to getMyInt()
|
|
# 134| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 134| getBase(): [BindOptionalExpr] ...?
|
|
# 134| getSubExpr(): [DeclRefExpr] opt
|
|
# 134| getBase().getFullyConverted(): [DotSelfExpr] .self
|
|
# 134| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 134| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 134| getPattern(0): [NamedPattern] n20
|
|
# 137| [NamedFunction] patterns(x:)
|
|
# 137| InterfaceType = (Int) -> Bool
|
|
# 137| getParam(0): [ParamDecl] x
|
|
# 137| Type = Int
|
|
# 137| getBody(): [BraceStmt] { ... }
|
|
# 150| getVariable(0): [ConcreteVarDecl] obj
|
|
# 150| Type = AnyObject
|
|
# 155| getVariable(1): [ConcreteVarDecl] xOptional
|
|
# 155| Type = Int?
|
|
# 138| getElement(0): [ForEachStmt] for ... in ... { ... }
|
|
# 138| getVariable(0): [ConcreteVarDecl] $generator
|
|
# 138| Type = IndexingIterator<ClosedRange<Int>>
|
|
# 138| getPattern(): [AnyPattern] _
|
|
#-----| getIteratorVar(): [PatternBindingDecl] var ... = ...
|
|
# 138| getInit(0): [CallExpr] call to makeIterator()
|
|
# 138| getFunction(): [MethodLookupExpr] .makeIterator()
|
|
# 138| getBase(): [BinaryExpr] ... ....(_:_:) ...
|
|
# 138| getFunction(): [MethodLookupExpr] ....(_:_:)
|
|
# 138| getBase(): [TypeExpr] Int.Type
|
|
# 138| getTypeRepr(): [TypeRepr] Int
|
|
# 138| getMethodRef(): [DeclRefExpr] ...(_:_:)
|
|
# 138| getArgument(0): [Argument] : 0
|
|
# 138| getExpr(): [IntegerLiteralExpr] 0
|
|
# 138| getArgument(1): [Argument] : 10
|
|
# 138| getExpr(): [IntegerLiteralExpr] 10
|
|
#-----| getMethodRef(): [DeclRefExpr] makeIterator()
|
|
# 138| getPattern(0): [NamedPattern] $generator
|
|
# 138| getNextCall(): [CallExpr] call to next()
|
|
# 138| getFunction(): [MethodLookupExpr] .next()
|
|
# 138| getBase(): [DeclRefExpr] $generator
|
|
# 138| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] next()
|
|
# 138| getBody(): [BraceStmt] { ... }
|
|
# 140| getElement(1): [SwitchStmt] switch x { ... }
|
|
# 140| getExpr(): [DeclRefExpr] x
|
|
# 141| getCase(0): [CaseStmt] case ...
|
|
# 141| getLabel(0): [CaseLabelItem] =~ ...
|
|
# 141| getPattern(): [ExprPattern] =~ ...
|
|
# 141| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 141| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 141| getArgument(0): [Argument] : 0
|
|
# 141| getExpr(): [IntegerLiteralExpr] 0
|
|
# 141| getArgument(1): [Argument] : $match
|
|
# 141| getExpr(): [DeclRefExpr] $match
|
|
# 141| getLabel(1): [CaseLabelItem] =~ ...
|
|
# 141| getPattern(): [ExprPattern] =~ ...
|
|
# 141| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 141| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 141| getArgument(0): [Argument] : 1
|
|
# 141| getExpr(): [IntegerLiteralExpr] 1
|
|
# 141| getArgument(1): [Argument] : $match
|
|
# 141| getExpr(): [DeclRefExpr] $match
|
|
# 142| getBody(): [BraceStmt] { ... }
|
|
# 142| getElement(0): [ReturnStmt] return ...
|
|
# 142| getResult(): [BooleanLiteralExpr] true
|
|
# 143| getElement(1): [ReturnStmt] return ...
|
|
# 143| getResult(): [BooleanLiteralExpr] true
|
|
# 144| getCase(1): [CaseStmt] case ...
|
|
# 144| getLabel(0): [CaseLabelItem] =~ ... where ...
|
|
# 144| getPattern(): [ExprPattern] =~ ...
|
|
# 144| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 144| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 144| getArgument(0): [Argument] : x
|
|
# 144| getExpr(): [DeclRefExpr] x
|
|
# 144| getArgument(1): [Argument] : $match
|
|
# 144| getExpr(): [DeclRefExpr] $match
|
|
# 144| getGuard(): [BinaryExpr] ... .&&(_:_:) ...
|
|
# 144| getFunction(): [MethodLookupExpr] .&&(_:_:)
|
|
# 144| getBase(): [TypeExpr] Bool.Type
|
|
# 144| getTypeRepr(): [TypeRepr] Bool
|
|
# 144| getMethodRef(): [DeclRefExpr] &&(_:_:)
|
|
# 144| getArgument(0): [Argument] : ... .>=(_:_:) ...
|
|
# 144| getExpr(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 144| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 144| getBase(): [TypeExpr] Int.Type
|
|
# 144| getTypeRepr(): [TypeRepr] Int
|
|
# 144| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 144| getArgument(0): [Argument] : x
|
|
# 144| getExpr(): [DeclRefExpr] x
|
|
# 144| getArgument(1): [Argument] : 2
|
|
# 144| getExpr(): [IntegerLiteralExpr] 2
|
|
# 144| getExpr().getFullyConverted(): [ParenExpr] (...)
|
|
# 144| getArgument(1): [Argument] : { ... }
|
|
# 144| getExpr(): [AutoClosureExpr] { ... }
|
|
# 144| getBody(): [BraceStmt] { ... }
|
|
# 144| getElement(0): [ReturnStmt] return ...
|
|
# 144| getResult(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 144| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 144| getBase(): [TypeExpr] Int.Type
|
|
# 144| getTypeRepr(): [TypeRepr] Int
|
|
# 144| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 144| getArgument(0): [Argument] : x
|
|
# 144| getExpr(): [DeclRefExpr] x
|
|
# 144| getArgument(1): [Argument] : 5
|
|
# 144| getExpr(): [IntegerLiteralExpr] 5
|
|
# 144| getCapture(0): [CapturedDecl] x
|
|
# 145| getBody(): [BraceStmt] { ... }
|
|
# 145| getElement(0): [ReturnStmt] return ...
|
|
# 145| getResult(): [BooleanLiteralExpr] true
|
|
# 146| getCase(2): [CaseStmt] case ...
|
|
# 146| getLabel(0): [CaseLabelItem] _
|
|
# 146| getPattern(): [AnyPattern] _
|
|
# 147| getBody(): [BraceStmt] { ... }
|
|
# 147| getElement(0): [ReturnStmt] return ...
|
|
# 147| getResult(): [BooleanLiteralExpr] false
|
|
# 150| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 150| getInit(0): [CallExpr] call to C.init(n:)
|
|
# 150| getFunction(): [MethodLookupExpr] C.init(n:)
|
|
# 150| getBase(): [TypeExpr] C.Type
|
|
# 150| getTypeRepr(): [TypeRepr] C
|
|
# 150| getMethodRef(): [DeclRefExpr] C.init(n:)
|
|
# 150| getArgument(0): [Argument] n: x
|
|
# 150| getExpr(): [DeclRefExpr] x
|
|
# 150| getInit(0).getFullyConverted(): [ErasureExpr] (AnyObject) ...
|
|
# 150| getPattern(0): [TypedPattern] ... as ...
|
|
# 150| getSubPattern(): [NamedPattern] obj
|
|
# 150| getTypeRepr(): [TypeRepr] AnyObject
|
|
# 151| getElement(3): [IfStmt] if ... then { ... }
|
|
# 151| getCondition(): [StmtCondition] StmtCondition
|
|
# 151| getElement(0): [ConditionElement] obj
|
|
# 151| getBoolean(): [DeclRefExpr] obj
|
|
# 151| getBoolean().getFullyConverted(): [IsExpr] ... is ...
|
|
# 151| getSubExpr(): [LoadExpr] (AnyObject) ...
|
|
# 151| getThen(): [BraceStmt] { ... }
|
|
# 152| getElement(0): [ReturnStmt] return ...
|
|
# 152| getResult(): [BooleanLiteralExpr] true
|
|
# 155| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 155| getInit(0): [DeclRefExpr] x
|
|
# 155| getInit(0).getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 155| getPattern(0): [TypedPattern] ... as ...
|
|
# 155| getSubPattern(): [NamedPattern] xOptional
|
|
# 155| getTypeRepr(): [TypeRepr] Int?
|
|
# 156| getElement(5): [IfStmt] if ... then { ... } else { ... }
|
|
# 156| getCondition(): [StmtCondition] StmtCondition
|
|
# 156| getElement(0): [ConditionElement] .some(...) = ...
|
|
# 156| getPattern(): [EnumElementPattern] .some(...)
|
|
# 156| getSubPattern(): [NamedPattern] x
|
|
# 156| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 156| getSubPattern(): [BindingPattern] let ...
|
|
# 156| getInitializer(): [DeclRefExpr] xOptional
|
|
# 156| getThen(): [BraceStmt] { ... }
|
|
# 157| getElement(0): [ReturnStmt] return ...
|
|
# 157| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 157| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 157| getBase(): [TypeExpr] Int.Type
|
|
# 157| getTypeRepr(): [TypeRepr] Int
|
|
# 157| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 157| getArgument(0): [Argument] : x
|
|
# 157| getExpr(): [DeclRefExpr] x
|
|
# 157| getArgument(1): [Argument] : 0
|
|
# 157| getExpr(): [IntegerLiteralExpr] 0
|
|
# 158| getElse(): [BraceStmt] { ... }
|
|
# 159| getElement(0): [ReturnStmt] return ...
|
|
# 159| getResult(): [BooleanLiteralExpr] false
|
|
# 141| [ConcreteVarDecl] $match
|
|
# 141| Type = Int
|
|
# 141| [ConcreteVarDecl] $match
|
|
# 141| Type = Int
|
|
# 144| [ConcreteVarDecl] $match
|
|
# 144| Type = Int
|
|
# 156| [ConcreteVarDecl] x
|
|
# 156| Type = (Int)
|
|
# 163| [NamedFunction] testDefer(x:)
|
|
# 163| InterfaceType = (inout Int) -> ()
|
|
# 163| getParam(0): [ParamDecl] x
|
|
# 163| Type = Int
|
|
# 163| getBody(): [BraceStmt] { ... }
|
|
# 165| getElement(0): [DeferStmt] defer { ... }
|
|
# 165| getBody(): [BraceStmt] { ... }
|
|
# 166| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 166| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 166| getArgument(0): [Argument] : [...]
|
|
# 166| getExpr(): [VarargExpansionExpr] [...]
|
|
# 166| getSubExpr(): [ArrayExpr] [...]
|
|
# 166| getElement(0): [StringLiteralExpr] 4
|
|
# 166| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 166| getArgument(1): [Argument] separator: default separator
|
|
# 166| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 166| getArgument(2): [Argument] terminator: default terminator
|
|
# 166| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 169| getElement(1): [DeferStmt] defer { ... }
|
|
# 169| getBody(): [BraceStmt] { ... }
|
|
# 170| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 170| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 170| getArgument(0): [Argument] : [...]
|
|
# 170| getExpr(): [VarargExpansionExpr] [...]
|
|
# 170| getSubExpr(): [ArrayExpr] [...]
|
|
# 170| getElement(0): [StringLiteralExpr] 3
|
|
# 170| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 170| getArgument(1): [Argument] separator: default separator
|
|
# 170| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 170| getArgument(2): [Argument] terminator: default terminator
|
|
# 170| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 173| getElement(2): [DeferStmt] defer { ... }
|
|
# 173| getBody(): [BraceStmt] { ... }
|
|
# 174| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 174| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 174| getArgument(0): [Argument] : [...]
|
|
# 174| getExpr(): [VarargExpansionExpr] [...]
|
|
# 174| getSubExpr(): [ArrayExpr] [...]
|
|
# 174| getElement(0): [StringLiteralExpr] 1
|
|
# 174| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 174| getArgument(1): [Argument] separator: default separator
|
|
# 174| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 174| getArgument(2): [Argument] terminator: default terminator
|
|
# 174| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 175| getElement(1): [DeferStmt] defer { ... }
|
|
# 175| getBody(): [BraceStmt] { ... }
|
|
# 176| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 176| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 176| getArgument(0): [Argument] : [...]
|
|
# 176| getExpr(): [VarargExpansionExpr] [...]
|
|
# 176| getSubExpr(): [ArrayExpr] [...]
|
|
# 176| getElement(0): [StringLiteralExpr] 2
|
|
# 176| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 176| getArgument(1): [Argument] separator: default separator
|
|
# 176| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 176| getArgument(2): [Argument] terminator: default terminator
|
|
# 176| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 164| [Comment] // Will print 1, 2, 3, 4
|
|
# 164|
|
|
# 181| [NamedFunction] m1(x:)
|
|
# 181| InterfaceType = (Int) -> ()
|
|
# 181| getParam(0): [ParamDecl] x
|
|
# 181| Type = Int
|
|
# 181| getBody(): [BraceStmt] { ... }
|
|
# 182| getElement(0): [IfStmt] if ... then { ... } else { ... }
|
|
# 182| getCondition(): [StmtCondition] StmtCondition
|
|
# 182| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 182| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 182| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 182| getBase(): [TypeExpr] Int.Type
|
|
# 182| getTypeRepr(): [TypeRepr] Int
|
|
# 182| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 182| getArgument(0): [Argument] : x
|
|
# 182| getExpr(): [DeclRefExpr] x
|
|
# 182| getArgument(1): [Argument] : 2
|
|
# 182| getExpr(): [IntegerLiteralExpr] 2
|
|
# 182| getThen(): [BraceStmt] { ... }
|
|
# 183| getElement(0): [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] x is greater than 2
|
|
# 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
|
|
# 185| getElse(): [IfStmt] if ... then { ... } else { ... }
|
|
# 185| getCondition(): [StmtCondition] StmtCondition
|
|
# 185| getElement(0): [ConditionElement] ... .&&(_:_:) ...
|
|
# 185| getBoolean(): [BinaryExpr] ... .&&(_:_:) ...
|
|
# 185| getFunction(): [MethodLookupExpr] .&&(_:_:)
|
|
# 185| getBase(): [TypeExpr] Bool.Type
|
|
# 185| getTypeRepr(): [TypeRepr] Bool
|
|
# 185| getMethodRef(): [DeclRefExpr] &&(_:_:)
|
|
# 185| getArgument(0): [Argument] : ... .&&(_:_:) ...
|
|
# 185| getExpr(): [BinaryExpr] ... .&&(_:_:) ...
|
|
# 185| getFunction(): [MethodLookupExpr] .&&(_:_:)
|
|
# 185| getBase(): [TypeExpr] Bool.Type
|
|
# 185| getTypeRepr(): [TypeRepr] Bool
|
|
# 185| getMethodRef(): [DeclRefExpr] &&(_:_:)
|
|
# 185| getArgument(0): [Argument] : ... .<=(_:_:) ...
|
|
# 185| getExpr(): [BinaryExpr] ... .<=(_:_:) ...
|
|
# 185| getFunction(): [MethodLookupExpr] .<=(_:_:)
|
|
# 185| getBase(): [TypeExpr] Int.Type
|
|
# 185| getTypeRepr(): [TypeRepr] Int
|
|
# 185| getMethodRef(): [DeclRefExpr] <=(_:_:)
|
|
# 185| getArgument(0): [Argument] : x
|
|
# 185| getExpr(): [DeclRefExpr] x
|
|
# 185| getArgument(1): [Argument] : 2
|
|
# 185| getExpr(): [IntegerLiteralExpr] 2
|
|
# 185| getArgument(1): [Argument] : { ... }
|
|
# 185| getExpr(): [AutoClosureExpr] { ... }
|
|
# 185| getBody(): [BraceStmt] { ... }
|
|
# 185| getElement(0): [ReturnStmt] return ...
|
|
# 185| getResult(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 185| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 185| getBase(): [TypeExpr] Int.Type
|
|
# 185| getTypeRepr(): [TypeRepr] Int
|
|
# 185| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 185| getArgument(0): [Argument] : x
|
|
# 185| getExpr(): [DeclRefExpr] x
|
|
# 185| getArgument(1): [Argument] : 0
|
|
# 185| getExpr(): [IntegerLiteralExpr] 0
|
|
# 185| getCapture(0): [CapturedDecl] x
|
|
# 185| getArgument(1): [Argument] : { ... }
|
|
# 185| getExpr(): [AutoClosureExpr] { ... }
|
|
# 185| getBody(): [BraceStmt] { ... }
|
|
# 185| getElement(0): [ReturnStmt] return ...
|
|
# 185| getResult(): [PrefixUnaryExpr] call to !(_:)
|
|
# 185| getFunction(): [MethodLookupExpr] .!(_:)
|
|
# 185| getBase(): [TypeExpr] Bool.Type
|
|
# 185| getTypeRepr(): [TypeRepr] Bool
|
|
# 185| getMethodRef(): [DeclRefExpr] !(_:)
|
|
# 185| getArgument(0): [Argument] : ... .==(_:_:) ...
|
|
# 185| getExpr(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 185| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 185| getBase(): [TypeExpr] Int.Type
|
|
# 185| getTypeRepr(): [TypeRepr] Int
|
|
# 185| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 185| getArgument(0): [Argument] : x
|
|
# 185| getExpr(): [DeclRefExpr] x
|
|
# 185| getArgument(1): [Argument] : 5
|
|
# 185| getExpr(): [IntegerLiteralExpr] 5
|
|
# 185| getExpr().getFullyConverted(): [ParenExpr] (...)
|
|
# 185| getCapture(0): [CapturedDecl] x
|
|
# 185| getThen(): [BraceStmt] { ... }
|
|
# 186| getElement(0): [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] x is 1
|
|
# 186| getElement(0).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| getElse(): [BraceStmt] { ... }
|
|
# 189| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 189| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 189| getArgument(0): [Argument] : [...]
|
|
# 189| getExpr(): [VarargExpansionExpr] [...]
|
|
# 189| getSubExpr(): [ArrayExpr] [...]
|
|
# 189| getElement(0): [StringLiteralExpr] I can't guess the number
|
|
# 189| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 189| getArgument(1): [Argument] separator: default separator
|
|
# 189| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 189| getArgument(2): [Argument] terminator: default terminator
|
|
# 189| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 193| [NamedFunction] m2(b:)
|
|
# 193| InterfaceType = (Bool) -> Int
|
|
# 193| getParam(0): [ParamDecl] b
|
|
# 193| Type = Bool
|
|
# 193| getBody(): [BraceStmt] { ... }
|
|
# 194| getElement(0): [IfStmt] if ... then { ... }
|
|
# 194| getCondition(): [StmtCondition] StmtCondition
|
|
# 194| getElement(0): [ConditionElement] b
|
|
# 194| getBoolean(): [DeclRefExpr] b
|
|
# 194| getThen(): [BraceStmt] { ... }
|
|
# 195| getElement(0): [ReturnStmt] return ...
|
|
# 195| getResult(): [IntegerLiteralExpr] 0
|
|
# 197| getElement(1): [ReturnStmt] return ...
|
|
# 197| getResult(): [IntegerLiteralExpr] 1
|
|
# 200| [NamedFunction] m3(x:)
|
|
# 200| InterfaceType = (inout Int) -> Int
|
|
# 200| getParam(0): [ParamDecl] x
|
|
# 200| Type = Int
|
|
# 200| getBody(): [BraceStmt] { ... }
|
|
# 201| getElement(0): [IfStmt] if ... then { ... }
|
|
# 201| getCondition(): [StmtCondition] StmtCondition
|
|
# 201| getElement(0): [ConditionElement] ... .<(_:_:) ...
|
|
# 201| getBoolean(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 201| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 201| getBase(): [TypeExpr] Int.Type
|
|
# 201| getTypeRepr(): [TypeRepr] Int
|
|
# 201| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 201| getArgument(0): [Argument] : x
|
|
# 201| getExpr(): [DeclRefExpr] x
|
|
# 201| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 201| getArgument(1): [Argument] : 0
|
|
# 201| getExpr(): [IntegerLiteralExpr] 0
|
|
# 201| getThen(): [BraceStmt] { ... }
|
|
# 202| getElement(0): [AssignExpr] ... = ...
|
|
# 202| getDest(): [DeclRefExpr] x
|
|
# 202| getSource(): [PrefixUnaryExpr] call to -(_:)
|
|
# 202| getFunction(): [MethodLookupExpr] .-(_:)
|
|
# 202| getBase(): [TypeExpr] Int.Type
|
|
# 202| getTypeRepr(): [TypeRepr] Int
|
|
# 202| getMethodRef(): [DeclRefExpr] -(_:)
|
|
# 202| getArgument(0): [Argument] : x
|
|
# 202| getExpr(): [DeclRefExpr] x
|
|
# 202| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 203| getElement(1): [IfStmt] if ... then { ... }
|
|
# 203| getCondition(): [StmtCondition] StmtCondition
|
|
# 203| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 203| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 203| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 203| getBase(): [TypeExpr] Int.Type
|
|
# 203| getTypeRepr(): [TypeRepr] Int
|
|
# 203| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 203| getArgument(0): [Argument] : x
|
|
# 203| getExpr(): [DeclRefExpr] x
|
|
# 203| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 203| getArgument(1): [Argument] : 10
|
|
# 203| getExpr(): [IntegerLiteralExpr] 10
|
|
# 203| getThen(): [BraceStmt] { ... }
|
|
# 204| getElement(0): [AssignExpr] ... = ...
|
|
# 204| getDest(): [DeclRefExpr] x
|
|
# 204| getSource(): [BinaryExpr] ... .-(_:_:) ...
|
|
# 204| getFunction(): [MethodLookupExpr] .-(_:_:)
|
|
# 204| getBase(): [TypeExpr] Int.Type
|
|
# 204| getTypeRepr(): [TypeRepr] Int
|
|
# 204| getMethodRef(): [DeclRefExpr] -(_:_:)
|
|
# 204| getArgument(0): [Argument] : x
|
|
# 204| getExpr(): [DeclRefExpr] x
|
|
# 204| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 204| getArgument(1): [Argument] : 1
|
|
# 204| getExpr(): [IntegerLiteralExpr] 1
|
|
# 207| getElement(1): [ReturnStmt] return ...
|
|
# 207| getResult(): [DeclRefExpr] x
|
|
# 207| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 210| [NamedFunction] m4(b1:b2:b3:)
|
|
# 210| InterfaceType = (Bool, Bool, Bool) -> String
|
|
# 210| getParam(0): [ParamDecl] b1
|
|
# 210| Type = Bool
|
|
# 210| getParam(1): [ParamDecl] b2
|
|
# 210| Type = Bool
|
|
# 210| getParam(2): [ParamDecl] b3
|
|
# 210| Type = Bool
|
|
# 210| getBody(): [BraceStmt] { ... }
|
|
# 211| getElement(0): [ReturnStmt] return ...
|
|
# 211| getResult(): [IfExpr] ... ? ... : ...
|
|
# 211| getCondition(): [IfExpr] ... ? ... : ...
|
|
# 211| getCondition(): [DeclRefExpr] b1
|
|
# 211| getThenExpr(): [DeclRefExpr] b2
|
|
# 211| getElseExpr(): [DeclRefExpr] b3
|
|
# 211| getCondition().getFullyConverted(): [ParenExpr] (...)
|
|
# 211| getThenExpr(): [StringLiteralExpr] b2 || b3
|
|
# 211| getElseExpr(): [StringLiteralExpr] !b2 || !b3
|
|
# 214| [NamedFunction] conversionsInSplitEntry(b:)
|
|
# 214| InterfaceType = (Bool) -> String
|
|
# 214| getParam(0): [ParamDecl] b
|
|
# 214| Type = Bool
|
|
# 214| getBody(): [BraceStmt] { ... }
|
|
# 215| getElement(0): [IfStmt] if ... then { ... } else { ... }
|
|
# 215| getCondition(): [StmtCondition] StmtCondition
|
|
# 215| getElement(0): [ConditionElement] ... ? ... : ...
|
|
# 215| getBoolean(): [IfExpr] ... ? ... : ...
|
|
# 215| getCondition(): [DeclRefExpr] b
|
|
# 215| getThenExpr(): [BooleanLiteralExpr] true
|
|
# 215| getThenExpr().getFullyConverted(): [ParenExpr] (...)
|
|
# 215| getElseExpr(): [BooleanLiteralExpr] false
|
|
# 215| getElseExpr().getFullyConverted(): [CoerceExpr] (Bool) ...
|
|
# 215| getThen(): [BraceStmt] { ... }
|
|
# 216| getElement(0): [ReturnStmt] return ...
|
|
# 216| getResult(): [StringLiteralExpr] b
|
|
# 218| getElse(): [BraceStmt] { ... }
|
|
# 219| getElement(0): [ReturnStmt] return ...
|
|
# 219| getResult(): [StringLiteralExpr] !b
|
|
# 223| [NamedFunction] constant_condition()
|
|
# 223| InterfaceType = () -> ()
|
|
# 223| getBody(): [BraceStmt] { ... }
|
|
# 224| getElement(0): [IfStmt] if ... then { ... }
|
|
# 224| getCondition(): [StmtCondition] StmtCondition
|
|
# 224| getElement(0): [ConditionElement] call to !(_:)
|
|
# 224| getBoolean(): [PrefixUnaryExpr] call to !(_:)
|
|
# 224| getFunction(): [MethodLookupExpr] .!(_:)
|
|
# 224| getBase(): [TypeExpr] Bool.Type
|
|
# 224| getTypeRepr(): [TypeRepr] Bool
|
|
# 224| getMethodRef(): [DeclRefExpr] !(_:)
|
|
# 224| getArgument(0): [Argument] : true
|
|
# 224| getExpr(): [BooleanLiteralExpr] true
|
|
# 224| getThen(): [BraceStmt] { ... }
|
|
# 225| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 225| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 225| getArgument(0): [Argument] : [...]
|
|
# 225| getExpr(): [VarargExpansionExpr] [...]
|
|
# 225| getSubExpr(): [ArrayExpr] [...]
|
|
# 225| getElement(0): [StringLiteralExpr] Impossible
|
|
# 225| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 225| getArgument(1): [Argument] separator: default separator
|
|
# 225| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 225| getArgument(2): [Argument] terminator: default terminator
|
|
# 225| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 229| [NamedFunction] empty_else(b:)
|
|
# 229| InterfaceType = (Bool) -> ()
|
|
# 229| getParam(0): [ParamDecl] b
|
|
# 229| Type = Bool
|
|
# 229| getBody(): [BraceStmt] { ... }
|
|
# 230| getElement(0): [IfStmt] if ... then { ... } else { ... }
|
|
# 230| getCondition(): [StmtCondition] StmtCondition
|
|
# 230| getElement(0): [ConditionElement] b
|
|
# 230| getBoolean(): [DeclRefExpr] b
|
|
# 230| getThen(): [BraceStmt] { ... }
|
|
# 231| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 231| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 231| getArgument(0): [Argument] : [...]
|
|
# 231| getExpr(): [VarargExpansionExpr] [...]
|
|
# 231| getSubExpr(): [ArrayExpr] [...]
|
|
# 231| getElement(0): [StringLiteralExpr] true
|
|
# 231| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 231| getArgument(1): [Argument] separator: default separator
|
|
# 231| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 231| getArgument(2): [Argument] terminator: default terminator
|
|
# 231| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 233| getElse(): [BraceStmt] { ... }
|
|
# 234| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 234| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 234| getArgument(0): [Argument] : [...]
|
|
# 234| getExpr(): [VarargExpansionExpr] [...]
|
|
# 234| getSubExpr(): [ArrayExpr] [...]
|
|
# 234| getElement(0): [StringLiteralExpr] done
|
|
# 234| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 234| getArgument(1): [Argument] separator: default separator
|
|
# 234| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 234| getArgument(2): [Argument] terminator: default terminator
|
|
# 234| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 237| [NamedFunction] disjunct(b1:b2:)
|
|
# 237| InterfaceType = (Bool, Bool) -> ()
|
|
# 237| getParam(0): [ParamDecl] b1
|
|
# 237| Type = Bool
|
|
# 237| getParam(1): [ParamDecl] b2
|
|
# 237| Type = Bool
|
|
# 237| getBody(): [BraceStmt] { ... }
|
|
# 238| getElement(0): [IfStmt] if ... then { ... }
|
|
# 238| getCondition(): [StmtCondition] StmtCondition
|
|
# 238| getElement(0): [ConditionElement] ... .||(_:_:) ...
|
|
# 238| getBoolean(): [BinaryExpr] ... .||(_:_:) ...
|
|
# 238| getFunction(): [MethodLookupExpr] .||(_:_:)
|
|
# 238| getBase(): [TypeExpr] Bool.Type
|
|
# 238| getTypeRepr(): [TypeRepr] Bool
|
|
# 238| getMethodRef(): [DeclRefExpr] ||(_:_:)
|
|
# 238| getArgument(0): [Argument] : b1
|
|
# 238| getExpr(): [DeclRefExpr] b1
|
|
# 238| getArgument(1): [Argument] : { ... }
|
|
# 238| getExpr(): [AutoClosureExpr] { ... }
|
|
# 238| getBody(): [BraceStmt] { ... }
|
|
# 238| getElement(0): [ReturnStmt] return ...
|
|
# 238| getResult(): [DeclRefExpr] b2
|
|
# 238| getCapture(0): [CapturedDecl] b2
|
|
# 238| getBoolean().getFullyConverted(): [ParenExpr] (...)
|
|
# 238| getThen(): [BraceStmt] { ... }
|
|
# 239| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 239| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 239| getArgument(0): [Argument] : [...]
|
|
# 239| getExpr(): [VarargExpansionExpr] [...]
|
|
# 239| getSubExpr(): [ArrayExpr] [...]
|
|
# 239| getElement(0): [StringLiteralExpr] b1 or b2
|
|
# 239| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 239| getArgument(1): [Argument] separator: default separator
|
|
# 239| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 239| getArgument(2): [Argument] terminator: default terminator
|
|
# 239| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 243| [NamedFunction] binaryExprs(a:b:)
|
|
# 243| InterfaceType = (Int, Int) -> ()
|
|
# 243| getParam(0): [ParamDecl] a
|
|
# 243| Type = Int
|
|
# 243| getParam(1): [ParamDecl] b
|
|
# 243| Type = Int
|
|
# 243| getBody(): [BraceStmt] { ... }
|
|
# 244| getVariable(0): [ConcreteVarDecl] c
|
|
# 244| Type = Int
|
|
# 245| getVariable(1): [ConcreteVarDecl] d
|
|
# 245| Type = Int
|
|
# 246| getVariable(2): [ConcreteVarDecl] e
|
|
# 246| Type = Int
|
|
# 247| getVariable(3): [ConcreteVarDecl] f
|
|
# 247| Type = Int
|
|
# 248| getVariable(4): [ConcreteVarDecl] g
|
|
# 248| Type = Int
|
|
# 249| getVariable(5): [ConcreteVarDecl] h
|
|
# 249| Type = Int
|
|
# 250| getVariable(6): [ConcreteVarDecl] i
|
|
# 250| Type = Int
|
|
# 251| getVariable(7): [ConcreteVarDecl] j
|
|
# 251| Type = Int
|
|
# 252| getVariable(8): [ConcreteVarDecl] k
|
|
# 252| Type = Int
|
|
# 253| getVariable(9): [ConcreteVarDecl] l
|
|
# 253| Type = Int
|
|
# 254| getVariable(10): [ConcreteVarDecl] o
|
|
# 254| Type = Bool
|
|
# 255| getVariable(11): [ConcreteVarDecl] p
|
|
# 255| Type = Bool
|
|
# 256| getVariable(12): [ConcreteVarDecl] q
|
|
# 256| Type = Bool
|
|
# 257| getVariable(13): [ConcreteVarDecl] r
|
|
# 257| Type = Bool
|
|
# 258| getVariable(14): [ConcreteVarDecl] s
|
|
# 258| Type = Bool
|
|
# 259| getVariable(15): [ConcreteVarDecl] t
|
|
# 259| Type = Bool
|
|
# 244| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 244| getInit(0): [BinaryExpr] ... .+(_:_:) ...
|
|
# 244| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 244| getBase(): [TypeExpr] Int.Type
|
|
# 244| getTypeRepr(): [TypeRepr] Int
|
|
# 244| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 244| getArgument(0): [Argument] : a
|
|
# 244| getExpr(): [DeclRefExpr] a
|
|
# 244| getArgument(1): [Argument] : b
|
|
# 244| getExpr(): [DeclRefExpr] b
|
|
# 244| getPattern(0): [NamedPattern] c
|
|
# 245| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 245| getInit(0): [BinaryExpr] ... .-(_:_:) ...
|
|
# 245| getFunction(): [MethodLookupExpr] .-(_:_:)
|
|
# 245| getBase(): [TypeExpr] Int.Type
|
|
# 245| getTypeRepr(): [TypeRepr] Int
|
|
# 245| getMethodRef(): [DeclRefExpr] -(_:_:)
|
|
# 245| getArgument(0): [Argument] : a
|
|
# 245| getExpr(): [DeclRefExpr] a
|
|
# 245| getArgument(1): [Argument] : b
|
|
# 245| getExpr(): [DeclRefExpr] b
|
|
# 245| getPattern(0): [NamedPattern] d
|
|
# 246| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 246| getInit(0): [BinaryExpr] ... .*(_:_:) ...
|
|
# 246| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 246| getBase(): [TypeExpr] Int.Type
|
|
# 246| getTypeRepr(): [TypeRepr] Int
|
|
# 246| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 246| getArgument(0): [Argument] : a
|
|
# 246| getExpr(): [DeclRefExpr] a
|
|
# 246| getArgument(1): [Argument] : b
|
|
# 246| getExpr(): [DeclRefExpr] b
|
|
# 246| getPattern(0): [NamedPattern] e
|
|
# 247| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 247| getInit(0): [BinaryExpr] ... ./(_:_:) ...
|
|
# 247| getFunction(): [MethodLookupExpr] ./(_:_:)
|
|
# 247| getBase(): [TypeExpr] Int.Type
|
|
# 247| getTypeRepr(): [TypeRepr] Int
|
|
# 247| getMethodRef(): [DeclRefExpr] /(_:_:)
|
|
# 247| getArgument(0): [Argument] : a
|
|
# 247| getExpr(): [DeclRefExpr] a
|
|
# 247| getArgument(1): [Argument] : b
|
|
# 247| getExpr(): [DeclRefExpr] b
|
|
# 247| getPattern(0): [NamedPattern] f
|
|
# 248| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 248| getInit(0): [BinaryExpr] ... .%(_:_:) ...
|
|
# 248| getFunction(): [MethodLookupExpr] .%(_:_:)
|
|
# 248| getBase(): [TypeExpr] Int.Type
|
|
# 248| getTypeRepr(): [TypeRepr] Int
|
|
# 248| getMethodRef(): [DeclRefExpr] %(_:_:)
|
|
# 248| getArgument(0): [Argument] : a
|
|
# 248| getExpr(): [DeclRefExpr] a
|
|
# 248| getArgument(1): [Argument] : b
|
|
# 248| getExpr(): [DeclRefExpr] b
|
|
# 248| getPattern(0): [NamedPattern] g
|
|
# 249| getElement(5): [PatternBindingDecl] var ... = ...
|
|
# 249| getInit(0): [BinaryExpr] ... .&(_:_:) ...
|
|
# 249| getFunction(): [MethodLookupExpr] .&(_:_:)
|
|
# 249| getBase(): [TypeExpr] Int.Type
|
|
# 249| getTypeRepr(): [TypeRepr] Int
|
|
# 249| getMethodRef(): [DeclRefExpr] &(_:_:)
|
|
# 249| getArgument(0): [Argument] : a
|
|
# 249| getExpr(): [DeclRefExpr] a
|
|
# 249| getArgument(1): [Argument] : b
|
|
# 249| getExpr(): [DeclRefExpr] b
|
|
# 249| getPattern(0): [NamedPattern] h
|
|
# 250| getElement(6): [PatternBindingDecl] var ... = ...
|
|
# 250| getInit(0): [BinaryExpr] ... .|(_:_:) ...
|
|
# 250| getFunction(): [MethodLookupExpr] .|(_:_:)
|
|
# 250| getBase(): [TypeExpr] Int.Type
|
|
# 250| getTypeRepr(): [TypeRepr] Int
|
|
# 250| getMethodRef(): [DeclRefExpr] |(_:_:)
|
|
# 250| getArgument(0): [Argument] : a
|
|
# 250| getExpr(): [DeclRefExpr] a
|
|
# 250| getArgument(1): [Argument] : b
|
|
# 250| getExpr(): [DeclRefExpr] b
|
|
# 250| getPattern(0): [NamedPattern] i
|
|
# 251| getElement(7): [PatternBindingDecl] var ... = ...
|
|
# 251| getInit(0): [BinaryExpr] ... .^(_:_:) ...
|
|
# 251| getFunction(): [MethodLookupExpr] .^(_:_:)
|
|
# 251| getBase(): [TypeExpr] Int.Type
|
|
# 251| getTypeRepr(): [TypeRepr] Int
|
|
# 251| getMethodRef(): [DeclRefExpr] ^(_:_:)
|
|
# 251| getArgument(0): [Argument] : a
|
|
# 251| getExpr(): [DeclRefExpr] a
|
|
# 251| getArgument(1): [Argument] : b
|
|
# 251| getExpr(): [DeclRefExpr] b
|
|
# 251| getPattern(0): [NamedPattern] j
|
|
# 252| getElement(8): [PatternBindingDecl] var ... = ...
|
|
# 252| getInit(0): [BinaryExpr] ... .<<(_:_:) ...
|
|
# 252| getFunction(): [MethodLookupExpr] .<<(_:_:)
|
|
# 252| getBase(): [TypeExpr] Int.Type
|
|
# 252| getTypeRepr(): [TypeRepr] Int
|
|
# 252| getMethodRef(): [DeclRefExpr] <<(_:_:)
|
|
# 252| getArgument(0): [Argument] : a
|
|
# 252| getExpr(): [DeclRefExpr] a
|
|
# 252| getArgument(1): [Argument] : b
|
|
# 252| getExpr(): [DeclRefExpr] b
|
|
# 252| getPattern(0): [NamedPattern] k
|
|
# 253| getElement(9): [PatternBindingDecl] var ... = ...
|
|
# 253| getInit(0): [BinaryExpr] ... .>>(_:_:) ...
|
|
# 253| getFunction(): [MethodLookupExpr] .>>(_:_:)
|
|
# 253| getBase(): [TypeExpr] Int.Type
|
|
# 253| getTypeRepr(): [TypeRepr] Int
|
|
# 253| getMethodRef(): [DeclRefExpr] >>(_:_:)
|
|
# 253| getArgument(0): [Argument] : a
|
|
# 253| getExpr(): [DeclRefExpr] a
|
|
# 253| getArgument(1): [Argument] : b
|
|
# 253| getExpr(): [DeclRefExpr] b
|
|
# 253| getPattern(0): [NamedPattern] l
|
|
# 254| getElement(10): [PatternBindingDecl] var ... = ...
|
|
# 254| getInit(0): [BinaryExpr] ... .==(_:_:) ...
|
|
# 254| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 254| getBase(): [TypeExpr] Int.Type
|
|
# 254| getTypeRepr(): [TypeRepr] Int
|
|
# 254| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 254| getArgument(0): [Argument] : a
|
|
# 254| getExpr(): [DeclRefExpr] a
|
|
# 254| getArgument(1): [Argument] : b
|
|
# 254| getExpr(): [DeclRefExpr] b
|
|
# 254| getPattern(0): [NamedPattern] o
|
|
# 255| getElement(11): [PatternBindingDecl] var ... = ...
|
|
# 255| getInit(0): [BinaryExpr] ... .!=(_:_:) ...
|
|
# 255| getFunction(): [MethodLookupExpr] .!=(_:_:)
|
|
# 255| getBase(): [TypeExpr] Int.Type
|
|
# 255| getTypeRepr(): [TypeRepr] Int
|
|
# 255| getMethodRef(): [DeclRefExpr] !=(_:_:)
|
|
# 255| getArgument(0): [Argument] : a
|
|
# 255| getExpr(): [DeclRefExpr] a
|
|
# 255| getArgument(1): [Argument] : b
|
|
# 255| getExpr(): [DeclRefExpr] b
|
|
# 255| getPattern(0): [NamedPattern] p
|
|
# 256| getElement(12): [PatternBindingDecl] var ... = ...
|
|
# 256| getInit(0): [BinaryExpr] ... .<(_:_:) ...
|
|
# 256| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 256| getBase(): [TypeExpr] Int.Type
|
|
# 256| getTypeRepr(): [TypeRepr] Int
|
|
# 256| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 256| getArgument(0): [Argument] : a
|
|
# 256| getExpr(): [DeclRefExpr] a
|
|
# 256| getArgument(1): [Argument] : b
|
|
# 256| getExpr(): [DeclRefExpr] b
|
|
# 256| getPattern(0): [NamedPattern] q
|
|
# 257| getElement(13): [PatternBindingDecl] var ... = ...
|
|
# 257| getInit(0): [BinaryExpr] ... .<=(_:_:) ...
|
|
# 257| getFunction(): [MethodLookupExpr] .<=(_:_:)
|
|
# 257| getBase(): [TypeExpr] Int.Type
|
|
# 257| getTypeRepr(): [TypeRepr] Int
|
|
# 257| getMethodRef(): [DeclRefExpr] <=(_:_:)
|
|
# 257| getArgument(0): [Argument] : a
|
|
# 257| getExpr(): [DeclRefExpr] a
|
|
# 257| getArgument(1): [Argument] : b
|
|
# 257| getExpr(): [DeclRefExpr] b
|
|
# 257| getPattern(0): [NamedPattern] r
|
|
# 258| getElement(14): [PatternBindingDecl] var ... = ...
|
|
# 258| getInit(0): [BinaryExpr] ... .>(_:_:) ...
|
|
# 258| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 258| getBase(): [TypeExpr] Int.Type
|
|
# 258| getTypeRepr(): [TypeRepr] Int
|
|
# 258| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 258| getArgument(0): [Argument] : a
|
|
# 258| getExpr(): [DeclRefExpr] a
|
|
# 258| getArgument(1): [Argument] : b
|
|
# 258| getExpr(): [DeclRefExpr] b
|
|
# 258| getPattern(0): [NamedPattern] s
|
|
# 259| getElement(15): [PatternBindingDecl] var ... = ...
|
|
# 259| getInit(0): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 259| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 259| getBase(): [TypeExpr] Int.Type
|
|
# 259| getTypeRepr(): [TypeRepr] Int
|
|
# 259| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 259| getArgument(0): [Argument] : a
|
|
# 259| getExpr(): [DeclRefExpr] a
|
|
# 259| getArgument(1): [Argument] : b
|
|
# 259| getExpr(): [DeclRefExpr] b
|
|
# 259| getPattern(0): [NamedPattern] t
|
|
# 262| [NamedFunction] interpolatedString(x:y:)
|
|
# 262| InterfaceType = (Int, Int) -> String
|
|
# 262| getParam(0): [ParamDecl] x
|
|
# 262| Type = Int
|
|
# 262| getParam(1): [ParamDecl] y
|
|
# 262| Type = Int
|
|
# 262| getBody(): [BraceStmt] { ... }
|
|
# 263| getElement(0): [ReturnStmt] return ...
|
|
# 263| getResult(): [InterpolatedStringLiteralExpr] "..."
|
|
# 263| getAppendingExpr(): [TapExpr] TapExpr
|
|
# 263| getSubExpr(): [OpaqueValueExpr] OpaqueValueExpr
|
|
# 263| getBody(): [BraceStmt] { ... }
|
|
#-----| getVariable(0): [ConcreteVarDecl] $interpolation
|
|
#-----| Type = DefaultStringInterpolation
|
|
# 263| getElement(0): [CallExpr] call to appendLiteral(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 263| getArgument(0): [Argument] :
|
|
# 263| getExpr(): [StringLiteralExpr]
|
|
# 263| getElement(1): [CallExpr] call to appendInterpolation(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendInterpolation(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 263| getMethodRef(): [DeclRefExpr] appendInterpolation(_:)
|
|
# 263| getArgument(0): [Argument] : x
|
|
# 263| getExpr(): [DeclRefExpr] x
|
|
# 263| getElement(2): [CallExpr] call to appendLiteral(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 263| getArgument(0): [Argument] : +
|
|
# 263| getExpr(): [StringLiteralExpr] +
|
|
# 263| getElement(3): [CallExpr] call to appendInterpolation(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendInterpolation(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 263| getMethodRef(): [DeclRefExpr] appendInterpolation(_:)
|
|
# 263| getArgument(0): [Argument] : y
|
|
# 263| getExpr(): [DeclRefExpr] y
|
|
# 263| getElement(4): [CallExpr] call to appendLiteral(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 263| getArgument(0): [Argument] : is equal to
|
|
# 263| getExpr(): [StringLiteralExpr] is equal to
|
|
# 263| getElement(5): [CallExpr] call to appendInterpolation(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendInterpolation(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 263| getMethodRef(): [DeclRefExpr] appendInterpolation(_:)
|
|
# 263| getArgument(0): [Argument] : ... .+(_:_:) ...
|
|
# 263| getExpr(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 263| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 263| getBase(): [TypeExpr] Int.Type
|
|
# 263| getTypeRepr(): [TypeRepr] Int
|
|
# 263| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 263| getArgument(0): [Argument] : x
|
|
# 263| getExpr(): [DeclRefExpr] x
|
|
# 263| getArgument(1): [Argument] : y
|
|
# 263| getExpr(): [DeclRefExpr] y
|
|
# 263| getElement(6): [CallExpr] call to appendLiteral(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 263| getArgument(0): [Argument] : and here is a zero:
|
|
# 263| getExpr(): [StringLiteralExpr] and here is a zero:
|
|
# 263| getElement(7): [CallExpr] call to appendInterpolation(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendInterpolation(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 263| getMethodRef(): [DeclRefExpr] appendInterpolation(_:)
|
|
# 263| getArgument(0): [Argument] : call to returnZero()
|
|
# 263| getExpr(): [CallExpr] call to returnZero()
|
|
# 263| getFunction(): [DeclRefExpr] returnZero()
|
|
# 263| getElement(8): [CallExpr] call to appendLiteral(_:)
|
|
# 263| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 263| getBase(): [DeclRefExpr] $interpolation
|
|
# 263| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 263| getArgument(0): [Argument] :
|
|
# 263| getExpr(): [StringLiteralExpr]
|
|
# 266| [NamedFunction] testSubscriptExpr()
|
|
# 266| InterfaceType = () -> (Int, Int, Int, Int, Int)
|
|
# 266| getBody(): [BraceStmt] { ... }
|
|
# 267| getVariable(0): [ConcreteVarDecl] a
|
|
# 267| Type = [Int]
|
|
# 280| getVariable(1): [ConcreteVarDecl] tupleWithA
|
|
# 280| Type = (Int, Int, Int, Int, Int)
|
|
# 282| getVariable(2): [ConcreteVarDecl] b
|
|
# 282| Type = [Int]
|
|
# 295| getVariable(3): [ConcreteVarDecl] a1
|
|
# 295| Type = Int
|
|
# 295| getVariable(4): [ConcreteVarDecl] a2
|
|
# 295| Type = Int
|
|
# 295| getVariable(5): [ConcreteVarDecl] a3
|
|
# 295| Type = Int
|
|
# 295| getVariable(6): [ConcreteVarDecl] a4
|
|
# 295| Type = Int
|
|
# 295| getVariable(7): [ConcreteVarDecl] a5
|
|
# 295| Type = Int
|
|
# 267| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 267| getInit(0): [ArrayExpr] [...]
|
|
# 267| getElement(0): [IntegerLiteralExpr] 0
|
|
# 267| getElement(1): [IntegerLiteralExpr] 1
|
|
# 267| getElement(2): [IntegerLiteralExpr] 2
|
|
# 267| getElement(3): [IntegerLiteralExpr] 3
|
|
# 267| getElement(4): [IntegerLiteralExpr] 4
|
|
# 267| getElement(5): [IntegerLiteralExpr] 5
|
|
# 267| getElement(6): [IntegerLiteralExpr] 6
|
|
# 267| getElement(7): [IntegerLiteralExpr] 7
|
|
# 267| getElement(8): [IntegerLiteralExpr] 8
|
|
# 267| getElement(9): [IntegerLiteralExpr] 9
|
|
# 267| getElement(10): [IntegerLiteralExpr] 10
|
|
# 267| getPattern(0): [NamedPattern] a
|
|
# 268| getElement(1): [AssignExpr] ... = ...
|
|
# 268| getDest(): [SubscriptExpr] ...[...]
|
|
# 268| getBase(): [DeclRefExpr] a
|
|
# 268| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 268| getArgument(0): [Argument] : 0
|
|
# 268| getExpr(): [IntegerLiteralExpr] 0
|
|
# 268| getSource(): [IntegerLiteralExpr] 0
|
|
# 269| getElement(2): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 269| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 269| getBase(): [TypeExpr] Int.Type
|
|
# 269| getTypeRepr(): [TypeRepr] Int
|
|
# 269| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 269| getArgument(0): [Argument] : ...[...]
|
|
# 269| getExpr(): [SubscriptExpr] ...[...]
|
|
# 269| getBase(): [DeclRefExpr] a
|
|
# 269| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 269| getArgument(0): [Argument] : 1
|
|
# 269| getExpr(): [IntegerLiteralExpr] 1
|
|
# 269| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 269| getArgument(1): [Argument] : 1
|
|
# 269| getExpr(): [IntegerLiteralExpr] 1
|
|
# 270| getElement(3): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 270| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 270| getBase(): [TypeExpr] Int.Type
|
|
# 270| getTypeRepr(): [TypeRepr] Int
|
|
# 270| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 270| getArgument(0): [Argument] : ...[...]
|
|
# 270| getExpr(): [SubscriptExpr] ...[...]
|
|
# 270| getBase(): [DeclRefExpr] a
|
|
# 270| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 270| getArgument(0): [Argument] : 2
|
|
# 270| getExpr(): [IntegerLiteralExpr] 2
|
|
# 270| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 270| getArgument(1): [Argument] : 1
|
|
# 270| getExpr(): [IntegerLiteralExpr] 1
|
|
# 271| getElement(4): [BinaryExpr] ... .*=(_:_:) ...
|
|
# 271| getFunction(): [MethodLookupExpr] .*=(_:_:)
|
|
# 271| getBase(): [TypeExpr] Int.Type
|
|
# 271| getTypeRepr(): [TypeRepr] Int
|
|
# 271| getMethodRef(): [DeclRefExpr] *=(_:_:)
|
|
# 271| getArgument(0): [Argument] : ...[...]
|
|
# 271| getExpr(): [SubscriptExpr] ...[...]
|
|
# 271| getBase(): [DeclRefExpr] a
|
|
# 271| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 271| getArgument(0): [Argument] : 3
|
|
# 271| getExpr(): [IntegerLiteralExpr] 3
|
|
# 271| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 271| getArgument(1): [Argument] : 1
|
|
# 271| getExpr(): [IntegerLiteralExpr] 1
|
|
# 272| getElement(5): [BinaryExpr] ... ./=(_:_:) ...
|
|
# 272| getFunction(): [MethodLookupExpr] ./=(_:_:)
|
|
# 272| getBase(): [TypeExpr] Int.Type
|
|
# 272| getTypeRepr(): [TypeRepr] Int
|
|
# 272| getMethodRef(): [DeclRefExpr] /=(_:_:)
|
|
# 272| getArgument(0): [Argument] : ...[...]
|
|
# 272| getExpr(): [SubscriptExpr] ...[...]
|
|
# 272| getBase(): [DeclRefExpr] a
|
|
# 272| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 272| getArgument(0): [Argument] : 4
|
|
# 272| getExpr(): [IntegerLiteralExpr] 4
|
|
# 272| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 272| getArgument(1): [Argument] : 1
|
|
# 272| getExpr(): [IntegerLiteralExpr] 1
|
|
# 273| getElement(6): [BinaryExpr] ... .%=(_:_:) ...
|
|
# 273| getFunction(): [MethodLookupExpr] .%=(_:_:)
|
|
# 273| getBase(): [TypeExpr] Int.Type
|
|
# 273| getTypeRepr(): [TypeRepr] Int
|
|
# 273| getMethodRef(): [DeclRefExpr] %=(_:_:)
|
|
# 273| getArgument(0): [Argument] : ...[...]
|
|
# 273| getExpr(): [SubscriptExpr] ...[...]
|
|
# 273| getBase(): [DeclRefExpr] a
|
|
# 273| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 273| getArgument(0): [Argument] : 5
|
|
# 273| getExpr(): [IntegerLiteralExpr] 5
|
|
# 273| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 273| getArgument(1): [Argument] : 1
|
|
# 273| getExpr(): [IntegerLiteralExpr] 1
|
|
# 274| getElement(7): [BinaryExpr] ... .&=(_:_:) ...
|
|
# 274| getFunction(): [MethodLookupExpr] .&=(_:_:)
|
|
# 274| getBase(): [TypeExpr] Int.Type
|
|
# 274| getTypeRepr(): [TypeRepr] Int
|
|
# 274| getMethodRef(): [DeclRefExpr] &=(_:_:)
|
|
# 274| getArgument(0): [Argument] : ...[...]
|
|
# 274| getExpr(): [SubscriptExpr] ...[...]
|
|
# 274| getBase(): [DeclRefExpr] a
|
|
# 274| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 274| getArgument(0): [Argument] : 6
|
|
# 274| getExpr(): [IntegerLiteralExpr] 6
|
|
# 274| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 274| getArgument(1): [Argument] : 1
|
|
# 274| getExpr(): [IntegerLiteralExpr] 1
|
|
# 275| getElement(8): [BinaryExpr] ... .|=(_:_:) ...
|
|
# 275| getFunction(): [MethodLookupExpr] .|=(_:_:)
|
|
# 275| getBase(): [TypeExpr] Int.Type
|
|
# 275| getTypeRepr(): [TypeRepr] Int
|
|
# 275| getMethodRef(): [DeclRefExpr] |=(_:_:)
|
|
# 275| getArgument(0): [Argument] : ...[...]
|
|
# 275| getExpr(): [SubscriptExpr] ...[...]
|
|
# 275| getBase(): [DeclRefExpr] a
|
|
# 275| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 275| getArgument(0): [Argument] : 7
|
|
# 275| getExpr(): [IntegerLiteralExpr] 7
|
|
# 275| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 275| getArgument(1): [Argument] : 1
|
|
# 275| getExpr(): [IntegerLiteralExpr] 1
|
|
# 276| getElement(9): [BinaryExpr] ... .^=(_:_:) ...
|
|
# 276| getFunction(): [MethodLookupExpr] .^=(_:_:)
|
|
# 276| getBase(): [TypeExpr] Int.Type
|
|
# 276| getTypeRepr(): [TypeRepr] Int
|
|
# 276| getMethodRef(): [DeclRefExpr] ^=(_:_:)
|
|
# 276| getArgument(0): [Argument] : ...[...]
|
|
# 276| getExpr(): [SubscriptExpr] ...[...]
|
|
# 276| getBase(): [DeclRefExpr] a
|
|
# 276| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 276| getArgument(0): [Argument] : 8
|
|
# 276| getExpr(): [IntegerLiteralExpr] 8
|
|
# 276| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 276| getArgument(1): [Argument] : 1
|
|
# 276| getExpr(): [IntegerLiteralExpr] 1
|
|
# 277| getElement(10): [BinaryExpr] ... .<<=(_:_:) ...
|
|
# 277| getFunction(): [MethodLookupExpr] .<<=(_:_:)
|
|
# 277| getBase(): [TypeExpr] Int.Type
|
|
# 277| getTypeRepr(): [TypeRepr] Int
|
|
# 277| getMethodRef(): [DeclRefExpr] <<=(_:_:)
|
|
# 277| getArgument(0): [Argument] : ...[...]
|
|
# 277| getExpr(): [SubscriptExpr] ...[...]
|
|
# 277| getBase(): [DeclRefExpr] a
|
|
# 277| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 277| getArgument(0): [Argument] : 9
|
|
# 277| getExpr(): [IntegerLiteralExpr] 9
|
|
# 277| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 277| getArgument(1): [Argument] : 1
|
|
# 277| getExpr(): [IntegerLiteralExpr] 1
|
|
# 278| getElement(11): [BinaryExpr] ... .>>=(_:_:) ...
|
|
# 278| getFunction(): [MethodLookupExpr] .>>=(_:_:)
|
|
# 278| getBase(): [TypeExpr] Int.Type
|
|
# 278| getTypeRepr(): [TypeRepr] Int
|
|
# 278| getMethodRef(): [DeclRefExpr] >>=(_:_:)
|
|
# 278| getArgument(0): [Argument] : ...[...]
|
|
# 278| getExpr(): [SubscriptExpr] ...[...]
|
|
# 278| getBase(): [DeclRefExpr] a
|
|
# 278| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 278| getArgument(0): [Argument] : 10
|
|
# 278| getExpr(): [IntegerLiteralExpr] 10
|
|
# 278| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 278| getArgument(1): [Argument] : 1
|
|
# 278| getExpr(): [IntegerLiteralExpr] 1
|
|
# 280| getElement(12): [PatternBindingDecl] var ... = ...
|
|
# 280| getInit(0): [TupleExpr] (...)
|
|
# 280| getElement(0): [SubscriptExpr] ...[...]
|
|
# 280| getBase(): [DeclRefExpr] a
|
|
# 280| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 280| getArgument(0): [Argument] : 0
|
|
# 280| getExpr(): [IntegerLiteralExpr] 0
|
|
# 280| getElement(0).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 280| getElement(1): [SubscriptExpr] ...[...]
|
|
# 280| getBase(): [DeclRefExpr] a
|
|
# 280| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 280| getArgument(0): [Argument] : 1
|
|
# 280| getExpr(): [IntegerLiteralExpr] 1
|
|
# 280| getElement(1).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 280| getElement(2): [SubscriptExpr] ...[...]
|
|
# 280| getBase(): [DeclRefExpr] a
|
|
# 280| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 280| getArgument(0): [Argument] : 2
|
|
# 280| getExpr(): [IntegerLiteralExpr] 2
|
|
# 280| getElement(2).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 280| getElement(3): [SubscriptExpr] ...[...]
|
|
# 280| getBase(): [DeclRefExpr] a
|
|
# 280| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 280| getArgument(0): [Argument] : 3
|
|
# 280| getExpr(): [IntegerLiteralExpr] 3
|
|
# 280| getElement(3).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 280| getElement(4): [SubscriptExpr] ...[...]
|
|
# 280| getBase(): [DeclRefExpr] a
|
|
# 280| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 280| getArgument(0): [Argument] : 4
|
|
# 280| getExpr(): [IntegerLiteralExpr] 4
|
|
# 280| getElement(4).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 280| getPattern(0): [NamedPattern] tupleWithA
|
|
# 282| getElement(13): [PatternBindingDecl] var ... = ...
|
|
# 282| getInit(0): [ArrayExpr] [...]
|
|
# 282| getElement(0): [IntegerLiteralExpr] 0
|
|
# 282| getElement(1): [IntegerLiteralExpr] 1
|
|
# 282| getElement(2): [IntegerLiteralExpr] 2
|
|
# 282| getElement(3): [IntegerLiteralExpr] 3
|
|
# 282| getElement(4): [IntegerLiteralExpr] 4
|
|
# 282| getElement(5): [IntegerLiteralExpr] 5
|
|
# 282| getElement(6): [IntegerLiteralExpr] 6
|
|
# 282| getElement(7): [IntegerLiteralExpr] 7
|
|
# 282| getElement(8): [IntegerLiteralExpr] 8
|
|
# 282| getElement(9): [IntegerLiteralExpr] 9
|
|
# 282| getElement(10): [IntegerLiteralExpr] 10
|
|
# 282| getElement(11): [IntegerLiteralExpr] 11
|
|
# 282| getPattern(0): [NamedPattern] b
|
|
# 283| getElement(14): [AssignExpr] ... = ...
|
|
# 283| getDest(): [SubscriptExpr] ...[...]
|
|
# 283| getBase(): [DeclRefExpr] b
|
|
# 283| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 283| getArgument(0): [Argument] : 0
|
|
# 283| getExpr(): [IntegerLiteralExpr] 0
|
|
# 283| getSource(): [SubscriptExpr] ...[...]
|
|
# 283| getBase(): [DeclRefExpr] a
|
|
# 283| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 283| getArgument(0): [Argument] : 10
|
|
# 283| getExpr(): [IntegerLiteralExpr] 10
|
|
# 283| getSource().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 284| getElement(15): [AssignExpr] ... = ...
|
|
# 284| getDest(): [SubscriptExpr] ...[...]
|
|
# 284| getBase(): [DeclRefExpr] b
|
|
# 284| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 284| getArgument(0): [Argument] : 1
|
|
# 284| getExpr(): [IntegerLiteralExpr] 1
|
|
# 284| getSource(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 284| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 284| getBase(): [TypeExpr] Int.Type
|
|
# 284| getTypeRepr(): [TypeRepr] Int
|
|
# 284| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 284| getArgument(0): [Argument] : ...[...]
|
|
# 284| getExpr(): [SubscriptExpr] ...[...]
|
|
# 284| getBase(): [DeclRefExpr] b
|
|
# 284| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 284| getArgument(0): [Argument] : 0
|
|
# 284| getExpr(): [IntegerLiteralExpr] 0
|
|
# 284| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 284| getArgument(1): [Argument] : 1
|
|
# 284| getExpr(): [IntegerLiteralExpr] 1
|
|
# 285| getElement(16): [AssignExpr] ... = ...
|
|
# 285| getDest(): [SubscriptExpr] ...[...]
|
|
# 285| getBase(): [DeclRefExpr] b
|
|
# 285| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 285| getArgument(0): [Argument] : 2
|
|
# 285| getExpr(): [IntegerLiteralExpr] 2
|
|
# 285| getSource(): [BinaryExpr] ... .-(_:_:) ...
|
|
# 285| getFunction(): [MethodLookupExpr] .-(_:_:)
|
|
# 285| getBase(): [TypeExpr] Int.Type
|
|
# 285| getTypeRepr(): [TypeRepr] Int
|
|
# 285| getMethodRef(): [DeclRefExpr] -(_:_:)
|
|
# 285| getArgument(0): [Argument] : ...[...]
|
|
# 285| getExpr(): [SubscriptExpr] ...[...]
|
|
# 285| getBase(): [DeclRefExpr] b
|
|
# 285| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 285| getArgument(0): [Argument] : 1
|
|
# 285| getExpr(): [IntegerLiteralExpr] 1
|
|
# 285| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 285| getArgument(1): [Argument] : 1
|
|
# 285| getExpr(): [IntegerLiteralExpr] 1
|
|
# 286| getElement(17): [AssignExpr] ... = ...
|
|
# 286| getDest(): [SubscriptExpr] ...[...]
|
|
# 286| getBase(): [DeclRefExpr] b
|
|
# 286| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 286| getArgument(0): [Argument] : 3
|
|
# 286| getExpr(): [IntegerLiteralExpr] 3
|
|
# 286| getSource(): [BinaryExpr] ... .*(_:_:) ...
|
|
# 286| getFunction(): [MethodLookupExpr] .*(_:_:)
|
|
# 286| getBase(): [TypeExpr] Int.Type
|
|
# 286| getTypeRepr(): [TypeRepr] Int
|
|
# 286| getMethodRef(): [DeclRefExpr] *(_:_:)
|
|
# 286| getArgument(0): [Argument] : ...[...]
|
|
# 286| getExpr(): [SubscriptExpr] ...[...]
|
|
# 286| getBase(): [DeclRefExpr] b
|
|
# 286| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 286| getArgument(0): [Argument] : 2
|
|
# 286| getExpr(): [IntegerLiteralExpr] 2
|
|
# 286| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 286| getArgument(1): [Argument] : 1
|
|
# 286| getExpr(): [IntegerLiteralExpr] 1
|
|
# 287| getElement(18): [AssignExpr] ... = ...
|
|
# 287| getDest(): [SubscriptExpr] ...[...]
|
|
# 287| getBase(): [DeclRefExpr] b
|
|
# 287| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 287| getArgument(0): [Argument] : 4
|
|
# 287| getExpr(): [IntegerLiteralExpr] 4
|
|
# 287| getSource(): [BinaryExpr] ... ./(_:_:) ...
|
|
# 287| getFunction(): [MethodLookupExpr] ./(_:_:)
|
|
# 287| getBase(): [TypeExpr] Int.Type
|
|
# 287| getTypeRepr(): [TypeRepr] Int
|
|
# 287| getMethodRef(): [DeclRefExpr] /(_:_:)
|
|
# 287| getArgument(0): [Argument] : ...[...]
|
|
# 287| getExpr(): [SubscriptExpr] ...[...]
|
|
# 287| getBase(): [DeclRefExpr] b
|
|
# 287| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 287| getArgument(0): [Argument] : 3
|
|
# 287| getExpr(): [IntegerLiteralExpr] 3
|
|
# 287| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 287| getArgument(1): [Argument] : 1
|
|
# 287| getExpr(): [IntegerLiteralExpr] 1
|
|
# 288| getElement(19): [AssignExpr] ... = ...
|
|
# 288| getDest(): [SubscriptExpr] ...[...]
|
|
# 288| getBase(): [DeclRefExpr] b
|
|
# 288| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 288| getArgument(0): [Argument] : 5
|
|
# 288| getExpr(): [IntegerLiteralExpr] 5
|
|
# 288| getSource(): [BinaryExpr] ... .%(_:_:) ...
|
|
# 288| getFunction(): [MethodLookupExpr] .%(_:_:)
|
|
# 288| getBase(): [TypeExpr] Int.Type
|
|
# 288| getTypeRepr(): [TypeRepr] Int
|
|
# 288| getMethodRef(): [DeclRefExpr] %(_:_:)
|
|
# 288| getArgument(0): [Argument] : ...[...]
|
|
# 288| getExpr(): [SubscriptExpr] ...[...]
|
|
# 288| getBase(): [DeclRefExpr] b
|
|
# 288| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 288| getArgument(0): [Argument] : 4
|
|
# 288| getExpr(): [IntegerLiteralExpr] 4
|
|
# 288| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 288| getArgument(1): [Argument] : 1
|
|
# 288| getExpr(): [IntegerLiteralExpr] 1
|
|
# 289| getElement(20): [AssignExpr] ... = ...
|
|
# 289| getDest(): [SubscriptExpr] ...[...]
|
|
# 289| getBase(): [DeclRefExpr] b
|
|
# 289| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 289| getArgument(0): [Argument] : 6
|
|
# 289| getExpr(): [IntegerLiteralExpr] 6
|
|
# 289| getSource(): [BinaryExpr] ... .&(_:_:) ...
|
|
# 289| getFunction(): [MethodLookupExpr] .&(_:_:)
|
|
# 289| getBase(): [TypeExpr] Int.Type
|
|
# 289| getTypeRepr(): [TypeRepr] Int
|
|
# 289| getMethodRef(): [DeclRefExpr] &(_:_:)
|
|
# 289| getArgument(0): [Argument] : ...[...]
|
|
# 289| getExpr(): [SubscriptExpr] ...[...]
|
|
# 289| getBase(): [DeclRefExpr] b
|
|
# 289| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 289| getArgument(0): [Argument] : 5
|
|
# 289| getExpr(): [IntegerLiteralExpr] 5
|
|
# 289| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 289| getArgument(1): [Argument] : 1
|
|
# 289| getExpr(): [IntegerLiteralExpr] 1
|
|
# 290| getElement(21): [AssignExpr] ... = ...
|
|
# 290| getDest(): [SubscriptExpr] ...[...]
|
|
# 290| getBase(): [DeclRefExpr] b
|
|
# 290| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 290| getArgument(0): [Argument] : 7
|
|
# 290| getExpr(): [IntegerLiteralExpr] 7
|
|
# 290| getSource(): [BinaryExpr] ... .|(_:_:) ...
|
|
# 290| getFunction(): [MethodLookupExpr] .|(_:_:)
|
|
# 290| getBase(): [TypeExpr] Int.Type
|
|
# 290| getTypeRepr(): [TypeRepr] Int
|
|
# 290| getMethodRef(): [DeclRefExpr] |(_:_:)
|
|
# 290| getArgument(0): [Argument] : ...[...]
|
|
# 290| getExpr(): [SubscriptExpr] ...[...]
|
|
# 290| getBase(): [DeclRefExpr] b
|
|
# 290| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 290| getArgument(0): [Argument] : 6
|
|
# 290| getExpr(): [IntegerLiteralExpr] 6
|
|
# 290| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 290| getArgument(1): [Argument] : 1
|
|
# 290| getExpr(): [IntegerLiteralExpr] 1
|
|
# 291| getElement(22): [AssignExpr] ... = ...
|
|
# 291| getDest(): [SubscriptExpr] ...[...]
|
|
# 291| getBase(): [DeclRefExpr] b
|
|
# 291| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 291| getArgument(0): [Argument] : 8
|
|
# 291| getExpr(): [IntegerLiteralExpr] 8
|
|
# 291| getSource(): [BinaryExpr] ... .^(_:_:) ...
|
|
# 291| getFunction(): [MethodLookupExpr] .^(_:_:)
|
|
# 291| getBase(): [TypeExpr] Int.Type
|
|
# 291| getTypeRepr(): [TypeRepr] Int
|
|
# 291| getMethodRef(): [DeclRefExpr] ^(_:_:)
|
|
# 291| getArgument(0): [Argument] : ...[...]
|
|
# 291| getExpr(): [SubscriptExpr] ...[...]
|
|
# 291| getBase(): [DeclRefExpr] b
|
|
# 291| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 291| getArgument(0): [Argument] : 7
|
|
# 291| getExpr(): [IntegerLiteralExpr] 7
|
|
# 291| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 291| getArgument(1): [Argument] : 1
|
|
# 291| getExpr(): [IntegerLiteralExpr] 1
|
|
# 292| getElement(23): [AssignExpr] ... = ...
|
|
# 292| getDest(): [SubscriptExpr] ...[...]
|
|
# 292| getBase(): [DeclRefExpr] b
|
|
# 292| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 292| getArgument(0): [Argument] : 9
|
|
# 292| getExpr(): [IntegerLiteralExpr] 9
|
|
# 292| getSource(): [BinaryExpr] ... .<<(_:_:) ...
|
|
# 292| getFunction(): [MethodLookupExpr] .<<(_:_:)
|
|
# 292| getBase(): [TypeExpr] Int.Type
|
|
# 292| getTypeRepr(): [TypeRepr] Int
|
|
# 292| getMethodRef(): [DeclRefExpr] <<(_:_:)
|
|
# 292| getArgument(0): [Argument] : ...[...]
|
|
# 292| getExpr(): [SubscriptExpr] ...[...]
|
|
# 292| getBase(): [DeclRefExpr] b
|
|
# 292| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 292| getArgument(0): [Argument] : 8
|
|
# 292| getExpr(): [IntegerLiteralExpr] 8
|
|
# 292| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 292| getArgument(1): [Argument] : 1
|
|
# 292| getExpr(): [IntegerLiteralExpr] 1
|
|
# 293| getElement(24): [AssignExpr] ... = ...
|
|
# 293| getDest(): [SubscriptExpr] ...[...]
|
|
# 293| getBase(): [DeclRefExpr] b
|
|
# 293| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 293| getArgument(0): [Argument] : 10
|
|
# 293| getExpr(): [IntegerLiteralExpr] 10
|
|
# 293| getSource(): [BinaryExpr] ... .>>(_:_:) ...
|
|
# 293| getFunction(): [MethodLookupExpr] .>>(_:_:)
|
|
# 293| getBase(): [TypeExpr] Int.Type
|
|
# 293| getTypeRepr(): [TypeRepr] Int
|
|
# 293| getMethodRef(): [DeclRefExpr] >>(_:_:)
|
|
# 293| getArgument(0): [Argument] : ...[...]
|
|
# 293| getExpr(): [SubscriptExpr] ...[...]
|
|
# 293| getBase(): [DeclRefExpr] b
|
|
# 293| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 293| getArgument(0): [Argument] : 9
|
|
# 293| getExpr(): [IntegerLiteralExpr] 9
|
|
# 293| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 293| getArgument(1): [Argument] : 1
|
|
# 293| getExpr(): [IntegerLiteralExpr] 1
|
|
# 295| getElement(25): [PatternBindingDecl] var ... = ...
|
|
# 295| getInit(0): [DeclRefExpr] tupleWithA
|
|
# 295| getInit(0).getFullyConverted(): [LoadExpr] ((Int, Int, Int, Int, Int)) ...
|
|
# 295| getPattern(0): [TuplePattern] (...)
|
|
# 295| getElement(0): [NamedPattern] a1
|
|
# 295| getElement(1): [NamedPattern] a2
|
|
# 295| getElement(2): [NamedPattern] a3
|
|
# 295| getElement(3): [NamedPattern] a4
|
|
# 295| getElement(4): [NamedPattern] a5
|
|
# 296| getElement(26): [ReturnStmt] return ...
|
|
# 296| getResult(): [TupleExpr] (...)
|
|
# 296| getElement(0): [BinaryExpr] ... .+(_:_:) ...
|
|
# 296| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 296| getBase(): [TypeExpr] Int.Type
|
|
# 296| getTypeRepr(): [TypeRepr] Int
|
|
# 296| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 296| getArgument(0): [Argument] : a1
|
|
# 296| getExpr(): [DeclRefExpr] a1
|
|
# 296| getArgument(1): [Argument] : ...[...]
|
|
# 296| getExpr(): [SubscriptExpr] ...[...]
|
|
# 296| getBase(): [DeclRefExpr] b
|
|
# 296| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 296| getArgument(0): [Argument] : 0
|
|
# 296| getExpr(): [IntegerLiteralExpr] 0
|
|
# 296| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 296| getElement(1): [BinaryExpr] ... .+(_:_:) ...
|
|
# 296| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 296| getBase(): [TypeExpr] Int.Type
|
|
# 296| getTypeRepr(): [TypeRepr] Int
|
|
# 296| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 296| getArgument(0): [Argument] : a2
|
|
# 296| getExpr(): [DeclRefExpr] a2
|
|
# 296| getArgument(1): [Argument] : ...[...]
|
|
# 296| getExpr(): [SubscriptExpr] ...[...]
|
|
# 296| getBase(): [DeclRefExpr] b
|
|
# 296| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 296| getArgument(0): [Argument] : 1
|
|
# 296| getExpr(): [IntegerLiteralExpr] 1
|
|
# 296| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 296| getElement(2): [BinaryExpr] ... .+(_:_:) ...
|
|
# 296| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 296| getBase(): [TypeExpr] Int.Type
|
|
# 296| getTypeRepr(): [TypeRepr] Int
|
|
# 296| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 296| getArgument(0): [Argument] : a3
|
|
# 296| getExpr(): [DeclRefExpr] a3
|
|
# 296| getArgument(1): [Argument] : ...[...]
|
|
# 296| getExpr(): [SubscriptExpr] ...[...]
|
|
# 296| getBase(): [DeclRefExpr] b
|
|
# 296| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 296| getArgument(0): [Argument] : 2
|
|
# 296| getExpr(): [IntegerLiteralExpr] 2
|
|
# 296| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 296| getElement(3): [BinaryExpr] ... .+(_:_:) ...
|
|
# 296| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 296| getBase(): [TypeExpr] Int.Type
|
|
# 296| getTypeRepr(): [TypeRepr] Int
|
|
# 296| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 296| getArgument(0): [Argument] : a4
|
|
# 296| getExpr(): [DeclRefExpr] a4
|
|
# 296| getArgument(1): [Argument] : ...[...]
|
|
# 296| getExpr(): [SubscriptExpr] ...[...]
|
|
# 296| getBase(): [DeclRefExpr] b
|
|
# 296| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 296| getArgument(0): [Argument] : 3
|
|
# 296| getExpr(): [IntegerLiteralExpr] 3
|
|
# 296| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 296| getElement(4): [BinaryExpr] ... .+(_:_:) ...
|
|
# 296| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 296| getBase(): [TypeExpr] Int.Type
|
|
# 296| getTypeRepr(): [TypeRepr] Int
|
|
# 296| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 296| getArgument(0): [Argument] : a5
|
|
# 296| getExpr(): [DeclRefExpr] a5
|
|
# 296| getArgument(1): [Argument] : ...[...]
|
|
# 296| getExpr(): [SubscriptExpr] ...[...]
|
|
# 296| getBase(): [DeclRefExpr] b
|
|
# 296| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 296| getArgument(0): [Argument] : 4
|
|
# 296| getExpr(): [IntegerLiteralExpr] 4
|
|
# 296| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 299| [NamedFunction] loop1(x:)
|
|
# 299| InterfaceType = (inout Int) -> ()
|
|
# 299| getParam(0): [ParamDecl] x
|
|
# 299| Type = Int
|
|
# 299| getBody(): [BraceStmt] { ... }
|
|
# 300| getElement(0): [WhileStmt] while ... { ... }
|
|
# 300| getCondition(): [StmtCondition] StmtCondition
|
|
# 300| getElement(0): [ConditionElement] ... .>=(_:_:) ...
|
|
# 300| getBoolean(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 300| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 300| getBase(): [TypeExpr] Int.Type
|
|
# 300| getTypeRepr(): [TypeRepr] Int
|
|
# 300| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 300| getArgument(0): [Argument] : x
|
|
# 300| getExpr(): [DeclRefExpr] x
|
|
# 300| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 300| getArgument(1): [Argument] : 0
|
|
# 300| getExpr(): [IntegerLiteralExpr] 0
|
|
# 300| getBody(): [BraceStmt] { ... }
|
|
# 301| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 301| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 301| getArgument(0): [Argument] : [...]
|
|
# 301| getExpr(): [VarargExpansionExpr] [...]
|
|
# 301| getSubExpr(): [ArrayExpr] [...]
|
|
# 301| getElement(0): [DeclRefExpr] x
|
|
# 301| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 301| getSubExpr(): [LoadExpr] (Int) ...
|
|
# 301| getArgument(1): [Argument] separator: default separator
|
|
# 301| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 301| getArgument(2): [Argument] terminator: default terminator
|
|
# 301| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 302| getElement(1): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 302| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 302| getBase(): [TypeExpr] Int.Type
|
|
# 302| getTypeRepr(): [TypeRepr] Int
|
|
# 302| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 302| getArgument(0): [Argument] : x
|
|
# 302| getExpr(): [DeclRefExpr] x
|
|
# 302| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 302| getArgument(1): [Argument] : 1
|
|
# 302| getExpr(): [IntegerLiteralExpr] 1
|
|
# 306| [NamedFunction] loop2(x:)
|
|
# 306| InterfaceType = (inout Int) -> ()
|
|
# 306| getParam(0): [ParamDecl] x
|
|
# 306| Type = Int
|
|
# 306| getBody(): [BraceStmt] { ... }
|
|
# 307| getElement(0): [WhileStmt] while ... { ... }
|
|
# 307| getCondition(): [StmtCondition] StmtCondition
|
|
# 307| getElement(0): [ConditionElement] ... .>=(_:_:) ...
|
|
# 307| getBoolean(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 307| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 307| getBase(): [TypeExpr] Int.Type
|
|
# 307| getTypeRepr(): [TypeRepr] Int
|
|
# 307| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 307| getArgument(0): [Argument] : x
|
|
# 307| getExpr(): [DeclRefExpr] x
|
|
# 307| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 307| getArgument(1): [Argument] : 0
|
|
# 307| getExpr(): [IntegerLiteralExpr] 0
|
|
# 307| getBody(): [BraceStmt] { ... }
|
|
# 308| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 308| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 308| getArgument(0): [Argument] : [...]
|
|
# 308| getExpr(): [VarargExpansionExpr] [...]
|
|
# 308| getSubExpr(): [ArrayExpr] [...]
|
|
# 308| getElement(0): [DeclRefExpr] x
|
|
# 308| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 308| getSubExpr(): [LoadExpr] (Int) ...
|
|
# 308| getArgument(1): [Argument] separator: default separator
|
|
# 308| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 308| getArgument(2): [Argument] terminator: default terminator
|
|
# 308| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 309| getElement(1): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 309| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 309| getBase(): [TypeExpr] Int.Type
|
|
# 309| getTypeRepr(): [TypeRepr] Int
|
|
# 309| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 309| getArgument(0): [Argument] : x
|
|
# 309| getExpr(): [DeclRefExpr] x
|
|
# 309| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 309| getArgument(1): [Argument] : 1
|
|
# 309| getExpr(): [IntegerLiteralExpr] 1
|
|
# 310| getElement(2): [IfStmt] if ... then { ... } else { ... }
|
|
# 310| getCondition(): [StmtCondition] StmtCondition
|
|
# 310| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 310| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 310| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 310| getBase(): [TypeExpr] Int.Type
|
|
# 310| getTypeRepr(): [TypeRepr] Int
|
|
# 310| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 310| getArgument(0): [Argument] : x
|
|
# 310| getExpr(): [DeclRefExpr] x
|
|
# 310| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 310| getArgument(1): [Argument] : 100
|
|
# 310| getExpr(): [IntegerLiteralExpr] 100
|
|
# 310| getThen(): [BraceStmt] { ... }
|
|
# 311| getElement(0): [BreakStmt] break
|
|
# 313| getElse(): [IfStmt] if ... then { ... }
|
|
# 313| getCondition(): [StmtCondition] StmtCondition
|
|
# 313| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 313| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 313| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 313| getBase(): [TypeExpr] Int.Type
|
|
# 313| getTypeRepr(): [TypeRepr] Int
|
|
# 313| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 313| getArgument(0): [Argument] : x
|
|
# 313| getExpr(): [DeclRefExpr] x
|
|
# 313| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 313| getArgument(1): [Argument] : 50
|
|
# 313| getExpr(): [IntegerLiteralExpr] 50
|
|
# 313| getThen(): [BraceStmt] { ... }
|
|
# 314| getElement(0): [ContinueStmt] continue
|
|
# 316| getElement(3): [CallExpr] call to print(_:separator:terminator:)
|
|
# 316| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 316| getArgument(0): [Argument] : [...]
|
|
# 316| getExpr(): [VarargExpansionExpr] [...]
|
|
# 316| getSubExpr(): [ArrayExpr] [...]
|
|
# 316| getElement(0): [StringLiteralExpr] Iter
|
|
# 316| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 316| getArgument(1): [Argument] separator: default separator
|
|
# 316| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 316| getArgument(2): [Argument] terminator: default terminator
|
|
# 316| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 318| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 318| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 318| getArgument(0): [Argument] : [...]
|
|
# 318| getExpr(): [VarargExpansionExpr] [...]
|
|
# 318| getSubExpr(): [ArrayExpr] [...]
|
|
# 318| getElement(0): [StringLiteralExpr] Done
|
|
# 318| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 318| getArgument(1): [Argument] separator: default separator
|
|
# 318| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 318| getArgument(2): [Argument] terminator: default terminator
|
|
# 318| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 321| [NamedFunction] labeledLoop(x:)
|
|
# 321| InterfaceType = (inout Int) -> ()
|
|
# 321| getParam(0): [ParamDecl] x
|
|
# 321| Type = Int
|
|
# 321| getBody(): [BraceStmt] { ... }
|
|
# 322| getElement(0): [WhileStmt] while ... { ... }
|
|
# 322| getCondition(): [StmtCondition] StmtCondition
|
|
# 322| getElement(0): [ConditionElement] ... .>=(_:_:) ...
|
|
# 322| getBoolean(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 322| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 322| getBase(): [TypeExpr] Int.Type
|
|
# 322| getTypeRepr(): [TypeRepr] Int
|
|
# 322| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 322| getArgument(0): [Argument] : x
|
|
# 322| getExpr(): [DeclRefExpr] x
|
|
# 322| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 322| getArgument(1): [Argument] : 0
|
|
# 322| getExpr(): [IntegerLiteralExpr] 0
|
|
# 322| getBody(): [BraceStmt] { ... }
|
|
# 323| getElement(0): [WhileStmt] while ... { ... }
|
|
# 323| getCondition(): [StmtCondition] StmtCondition
|
|
# 323| getElement(0): [ConditionElement] ... .>=(_:_:) ...
|
|
# 323| getBoolean(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 323| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 323| getBase(): [TypeExpr] Int.Type
|
|
# 323| getTypeRepr(): [TypeRepr] Int
|
|
# 323| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 323| getArgument(0): [Argument] : x
|
|
# 323| getExpr(): [DeclRefExpr] x
|
|
# 323| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 323| getArgument(1): [Argument] : 0
|
|
# 323| getExpr(): [IntegerLiteralExpr] 0
|
|
# 323| getBody(): [BraceStmt] { ... }
|
|
# 324| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 324| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 324| getArgument(0): [Argument] : [...]
|
|
# 324| getExpr(): [VarargExpansionExpr] [...]
|
|
# 324| getSubExpr(): [ArrayExpr] [...]
|
|
# 324| getElement(0): [DeclRefExpr] x
|
|
# 324| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 324| getSubExpr(): [LoadExpr] (Int) ...
|
|
# 324| getArgument(1): [Argument] separator: default separator
|
|
# 324| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 324| getArgument(2): [Argument] terminator: default terminator
|
|
# 324| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 325| getElement(1): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 325| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 325| getBase(): [TypeExpr] Int.Type
|
|
# 325| getTypeRepr(): [TypeRepr] Int
|
|
# 325| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 325| getArgument(0): [Argument] : x
|
|
# 325| getExpr(): [DeclRefExpr] x
|
|
# 325| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 325| getArgument(1): [Argument] : 1
|
|
# 325| getExpr(): [IntegerLiteralExpr] 1
|
|
# 326| getElement(2): [IfStmt] if ... then { ... } else { ... }
|
|
# 326| getCondition(): [StmtCondition] StmtCondition
|
|
# 326| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 326| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 326| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 326| getBase(): [TypeExpr] Int.Type
|
|
# 326| getTypeRepr(): [TypeRepr] Int
|
|
# 326| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 326| getArgument(0): [Argument] : x
|
|
# 326| getExpr(): [DeclRefExpr] x
|
|
# 326| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 326| getArgument(1): [Argument] : 100
|
|
# 326| getExpr(): [IntegerLiteralExpr] 100
|
|
# 326| getThen(): [BraceStmt] { ... }
|
|
# 327| getElement(0): [BreakStmt] break outer
|
|
# 329| getElse(): [IfStmt] if ... then { ... }
|
|
# 329| getCondition(): [StmtCondition] StmtCondition
|
|
# 329| getElement(0): [ConditionElement] ... .>(_:_:) ...
|
|
# 329| getBoolean(): [BinaryExpr] ... .>(_:_:) ...
|
|
# 329| getFunction(): [MethodLookupExpr] .>(_:_:)
|
|
# 329| getBase(): [TypeExpr] Int.Type
|
|
# 329| getTypeRepr(): [TypeRepr] Int
|
|
# 329| getMethodRef(): [DeclRefExpr] >(_:_:)
|
|
# 329| getArgument(0): [Argument] : x
|
|
# 329| getExpr(): [DeclRefExpr] x
|
|
# 329| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 329| getArgument(1): [Argument] : 50
|
|
# 329| getExpr(): [IntegerLiteralExpr] 50
|
|
# 329| getThen(): [BraceStmt] { ... }
|
|
# 330| getElement(0): [ContinueStmt] continue inner
|
|
# 332| getElement(3): [CallExpr] call to print(_:separator:terminator:)
|
|
# 332| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 332| getArgument(0): [Argument] : [...]
|
|
# 332| getExpr(): [VarargExpansionExpr] [...]
|
|
# 332| getSubExpr(): [ArrayExpr] [...]
|
|
# 332| getElement(0): [StringLiteralExpr] Iter
|
|
# 332| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 332| getArgument(1): [Argument] separator: default separator
|
|
# 332| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 332| getArgument(2): [Argument] terminator: default terminator
|
|
# 332| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 334| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 334| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 334| getArgument(0): [Argument] : [...]
|
|
# 334| getExpr(): [VarargExpansionExpr] [...]
|
|
# 334| getSubExpr(): [ArrayExpr] [...]
|
|
# 334| getElement(0): [StringLiteralExpr] Done
|
|
# 334| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 334| getArgument(1): [Argument] separator: default separator
|
|
# 334| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 334| getArgument(2): [Argument] terminator: default terminator
|
|
# 334| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 338| [NamedFunction] testRepeat(x:)
|
|
# 338| InterfaceType = (inout Int) -> ()
|
|
# 338| getParam(0): [ParamDecl] x
|
|
# 338| Type = Int
|
|
# 338| getBody(): [BraceStmt] { ... }
|
|
# 339| getElement(0): [RepeatWhileStmt] repeat { ... } while ...
|
|
# 342| getCondition(): [BinaryExpr] ... .>=(_:_:) ...
|
|
# 342| getFunction(): [MethodLookupExpr] .>=(_:_:)
|
|
# 342| getBase(): [TypeExpr] Int.Type
|
|
# 342| getTypeRepr(): [TypeRepr] Int
|
|
# 342| getMethodRef(): [DeclRefExpr] >=(_:_:)
|
|
# 342| getArgument(0): [Argument] : x
|
|
# 342| getExpr(): [DeclRefExpr] x
|
|
# 342| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 342| getArgument(1): [Argument] : 0
|
|
# 342| getExpr(): [IntegerLiteralExpr] 0
|
|
# 339| getBody(): [BraceStmt] { ... }
|
|
# 340| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 340| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 340| getArgument(0): [Argument] : [...]
|
|
# 340| getExpr(): [VarargExpansionExpr] [...]
|
|
# 340| getSubExpr(): [ArrayExpr] [...]
|
|
# 340| getElement(0): [DeclRefExpr] x
|
|
# 340| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 340| getSubExpr(): [LoadExpr] (Int) ...
|
|
# 340| getArgument(1): [Argument] separator: default separator
|
|
# 340| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 340| getArgument(2): [Argument] terminator: default terminator
|
|
# 340| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 341| getElement(1): [BinaryExpr] ... .-=(_:_:) ...
|
|
# 341| getFunction(): [MethodLookupExpr] .-=(_:_:)
|
|
# 341| getBase(): [TypeExpr] Int.Type
|
|
# 341| getTypeRepr(): [TypeRepr] Int
|
|
# 341| getMethodRef(): [DeclRefExpr] -=(_:_:)
|
|
# 341| getArgument(0): [Argument] : x
|
|
# 341| getExpr(): [DeclRefExpr] x
|
|
# 341| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 341| getArgument(1): [Argument] : 1
|
|
# 341| getExpr(): [IntegerLiteralExpr] 1
|
|
# 345| [NamedFunction] loop_with_identity_expr()
|
|
# 345| InterfaceType = () -> ()
|
|
# 345| getBody(): [BraceStmt] { ... }
|
|
# 346| getVariable(0): [ConcreteVarDecl] x
|
|
# 346| Type = Int
|
|
# 346| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 346| getInit(0): [IntegerLiteralExpr] 0
|
|
# 346| getPattern(0): [NamedPattern] x
|
|
# 347| getElement(1): [WhileStmt] while ... { ... }
|
|
# 347| getCondition(): [StmtCondition] StmtCondition
|
|
# 347| getElement(0): [ConditionElement] ... .<(_:_:) ...
|
|
# 347| getBoolean(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 347| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 347| getBase(): [TypeExpr] Int.Type
|
|
# 347| getTypeRepr(): [TypeRepr] Int
|
|
# 347| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 347| getArgument(0): [Argument] : x
|
|
# 347| getExpr(): [DeclRefExpr] x
|
|
# 347| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 347| getArgument(1): [Argument] : 10
|
|
# 347| getExpr(): [IntegerLiteralExpr] 10
|
|
# 347| getBoolean().getFullyConverted(): [ParenExpr] (...)
|
|
# 347| getBody(): [BraceStmt] { ... }
|
|
# 348| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 348| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 348| getBase(): [TypeExpr] Int.Type
|
|
# 348| getTypeRepr(): [TypeRepr] Int
|
|
# 348| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 348| getArgument(0): [Argument] : x
|
|
# 348| getExpr(): [DeclRefExpr] x
|
|
# 348| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 348| getArgument(1): [Argument] : 1
|
|
# 348| getExpr(): [IntegerLiteralExpr] 1
|
|
# 352| [ClassDecl] OptionalC
|
|
# 353| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 353| getPattern(0): [TypedPattern] ... as ...
|
|
# 353| getSubPattern(): [NamedPattern] c
|
|
# 353| getTypeRepr(): [TypeRepr] C?
|
|
# 353| getMember(1): [ConcreteVarDecl] c
|
|
# 353| Type = C?
|
|
# 353| getAccessor(0): [Accessor] get
|
|
# 353| InterfaceType = (OptionalC) -> () -> C?
|
|
# 353| getSelfParam(): [ParamDecl] self
|
|
# 353| Type = OptionalC
|
|
# 353| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .c
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 354| getMember(2): [Initializer] OptionalC.init(arg:)
|
|
# 354| InterfaceType = (OptionalC.Type) -> (C?) -> OptionalC
|
|
# 354| getSelfParam(): [ParamDecl] self
|
|
# 354| Type = OptionalC
|
|
# 354| getParam(0): [ParamDecl] arg
|
|
# 354| Type = C?
|
|
# 354| getBody(): [BraceStmt] { ... }
|
|
# 355| getElement(0): [AssignExpr] ... = ...
|
|
# 355| getDest(): [MemberRefExpr] .c
|
|
# 355| getBase(): [DeclRefExpr] self
|
|
# 355| getSource(): [DeclRefExpr] arg
|
|
# 356| getElement(1): [ReturnStmt] return
|
|
# 358| getMember(3): [NamedFunction] getOptional()
|
|
# 358| InterfaceType = (OptionalC) -> () -> C?
|
|
# 358| getSelfParam(): [ParamDecl] self
|
|
# 358| Type = OptionalC
|
|
# 358| getBody(): [BraceStmt] { ... }
|
|
# 359| getElement(0): [ReturnStmt] return ...
|
|
# 359| getResult(): [MemberRefExpr] .c
|
|
# 359| getBase(): [DeclRefExpr] self
|
|
# 352| getMember(4): [Deinitializer] OptionalC.deinit()
|
|
# 352| InterfaceType = (OptionalC) -> () -> ()
|
|
# 352| getSelfParam(): [ParamDecl] self
|
|
# 352| Type = OptionalC
|
|
# 352| getBody(): [BraceStmt] { ... }
|
|
# 363| [NamedFunction] testOptional(c:)
|
|
# 363| InterfaceType = (OptionalC?) -> Int?
|
|
# 363| getParam(0): [ParamDecl] c
|
|
# 363| Type = OptionalC?
|
|
# 363| getBody(): [BraceStmt] { ... }
|
|
# 364| getElement(0): [ReturnStmt] return ...
|
|
# 364| getResult(): [OptionalEvaluationExpr] OptionalEvaluationExpr
|
|
# 364| getSubExpr(): [CallExpr] call to getMyInt()
|
|
# 364| getFunction(): [MethodLookupExpr] .getMyInt()
|
|
# 364| getBase(): [BindOptionalExpr] ...?
|
|
# 364| getSubExpr(): [CallExpr] call to getOptional()
|
|
# 364| getFunction(): [MethodLookupExpr] .getOptional()
|
|
# 364| getBase(): [BindOptionalExpr] ...?
|
|
# 364| getSubExpr(): [DeclRefExpr] c
|
|
# 364| getMethodRef(): [DeclRefExpr] getOptional()
|
|
# 364| getMethodRef(): [DeclRefExpr] getMyInt()
|
|
# 364| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 367| [NamedFunction] testCapture(x:y:)
|
|
# 367| InterfaceType = (Int, Int) -> () -> Int
|
|
# 367| getParam(0): [ParamDecl] x
|
|
# 367| Type = Int
|
|
# 367| getParam(1): [ParamDecl] y
|
|
# 367| Type = Int
|
|
# 367| getBody(): [BraceStmt] { ... }
|
|
# 368| getElement(0): [ReturnStmt] return ...
|
|
# 368| getResult(): [CaptureListExpr] { ... }
|
|
# 368| getBindingDecl(0): [PatternBindingDecl] var ... = ...
|
|
# 368| getInit(0): [BinaryExpr] ... .+(_:_:) ...
|
|
# 368| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 368| getBase(): [TypeExpr] Int.Type
|
|
# 368| getTypeRepr(): [TypeRepr] Int
|
|
# 368| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 368| getArgument(0): [Argument] : x
|
|
# 368| getExpr(): [DeclRefExpr] x
|
|
# 368| getArgument(1): [Argument] : y
|
|
# 368| getExpr(): [DeclRefExpr] y
|
|
# 368| getPattern(0): [NamedPattern] z
|
|
# 368| getBindingDecl(1): [PatternBindingDecl] var ... = ...
|
|
# 368| getInit(0): [StringLiteralExpr] literal
|
|
# 368| getPattern(0): [NamedPattern] t
|
|
# 368| getVariable(0): [ConcreteVarDecl] z
|
|
# 368| Type = Int
|
|
# 368| getVariable(1): [ConcreteVarDecl] t
|
|
# 368| Type = String
|
|
# 368| getClosureBody(): [ExplicitClosureExpr] { ... }
|
|
# 368| getBody(): [BraceStmt] { ... }
|
|
# 369| getElement(0): [ReturnStmt] return ...
|
|
# 369| getResult(): [DeclRefExpr] z
|
|
# 369| getCapture(0): [CapturedDecl] z
|
|
# 373| [NamedFunction] testTupleElement(t:)
|
|
# 373| InterfaceType = ((a: Int, Int, c: Int)) -> Int
|
|
# 373| getParam(0): [ParamDecl] t
|
|
# 373| Type = (a: Int, Int, c: Int)
|
|
# 373| getBody(): [BraceStmt] { ... }
|
|
# 374| getElement(0): [ReturnStmt] return ...
|
|
# 374| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 374| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 374| getBase(): [TypeExpr] Int.Type
|
|
# 374| getTypeRepr(): [TypeRepr] Int
|
|
# 374| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 374| getArgument(0): [Argument] : ... .+(_:_:) ...
|
|
# 374| getExpr(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 374| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 374| getBase(): [TypeExpr] Int.Type
|
|
# 374| getTypeRepr(): [TypeRepr] Int
|
|
# 374| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 374| getArgument(0): [Argument] : ... .+(_:_:) ...
|
|
# 374| getExpr(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 374| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 374| getBase(): [TypeExpr] Int.Type
|
|
# 374| getTypeRepr(): [TypeRepr] Int
|
|
# 374| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 374| getArgument(0): [Argument] : .0
|
|
# 374| getExpr(): [TupleElementExpr] .0
|
|
# 374| getSubExpr(): [DeclRefExpr] t
|
|
# 374| getArgument(1): [Argument] : .1
|
|
# 374| getExpr(): [TupleElementExpr] .1
|
|
# 374| getSubExpr(): [DeclRefExpr] t
|
|
# 374| getArgument(1): [Argument] : .2
|
|
# 374| getExpr(): [TupleElementExpr] .2
|
|
# 374| getSubExpr(): [DeclRefExpr] t
|
|
# 374| getArgument(1): [Argument] : .0
|
|
# 374| getExpr(): [TupleElementExpr] .0
|
|
# 374| getSubExpr(): [TupleExpr] (...)
|
|
# 374| getElement(0): [IntegerLiteralExpr] 1
|
|
# 374| getElement(1): [IntegerLiteralExpr] 2
|
|
# 374| getElement(2): [IntegerLiteralExpr] 3
|
|
# 377| [ClassDecl] Derived
|
|
# 378| getMember(0): [Initializer] Derived.init()
|
|
# 378| InterfaceType = (Derived.Type) -> () -> Derived
|
|
# 378| getSelfParam(): [ParamDecl] self
|
|
# 378| Type = Derived
|
|
# 378| getBody(): [BraceStmt] { ... }
|
|
# 379| getElement(0): [RebindSelfInInitializerExpr] self = ...
|
|
# 379| getSubExpr(): [CallExpr] call to C.init(n:)
|
|
# 379| getFunction(): [MethodLookupExpr] C.init(n:)
|
|
# 379| getBase(): [SuperRefExpr] super
|
|
# 379| getMethodRef(): [OtherInitializerRefExpr] C.init(n:)
|
|
# 379| getArgument(0): [Argument] n: 0
|
|
# 379| getExpr(): [IntegerLiteralExpr] 0
|
|
# 380| getElement(1): [ReturnStmt] return
|
|
# 377| getMember(1): [Deinitializer] Derived.deinit()
|
|
# 377| InterfaceType = (Derived) -> () -> ()
|
|
# 377| getSelfParam(): [ParamDecl] self
|
|
# 377| Type = Derived
|
|
# 377| getBody(): [BraceStmt] { ... }
|
|
# 377| getMember(2): [Initializer] Derived.init(n:)
|
|
# 377| InterfaceType = (Derived.Type) -> (Int) -> Derived
|
|
# 377| getSelfParam(): [ParamDecl] self
|
|
# 377| Type = Derived
|
|
#-----| getParam(0): [ParamDecl] n
|
|
#-----| Type = Int
|
|
# 377| getBody(): [BraceStmt] { ... }
|
|
# 377| getElement(0): [CallExpr] call to _unimplementedInitializer(className:initName:file:line:column:)
|
|
# 377| getFunction(): [DeclRefExpr] _unimplementedInitializer(className:initName:file:line:column:)
|
|
# 377| getArgument(0): [Argument] : cfg.Derived
|
|
# 377| getExpr(): [StringLiteralExpr] cfg.Derived
|
|
# 377| getArgument(1): [Argument] : #...
|
|
# 377| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
# 377| getArgument(2): [Argument] : #...
|
|
# 377| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
# 377| getArgument(3): [Argument] : #...
|
|
# 377| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
# 377| getArgument(4): [Argument] : #...
|
|
# 377| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
#-----| getElement(1): [ReturnStmt] return
|
|
# 383| [NamedFunction] doWithoutCatch(x:)
|
|
# 383| InterfaceType = (Int) throws -> Int
|
|
# 383| getParam(0): [ParamDecl] x
|
|
# 383| Type = Int
|
|
# 383| getBody(): [BraceStmt] { ... }
|
|
# 384| getElement(0): [DoStmt] do { ... }
|
|
# 384| getBody(): [BraceStmt] { ... }
|
|
# 385| getElement(0): [TryExpr] try ...
|
|
# 385| getSubExpr(): [CallExpr] call to mightThrow(x:)
|
|
# 385| getFunction(): [DeclRefExpr] mightThrow(x:)
|
|
# 385| getArgument(0): [Argument] x: 0
|
|
# 385| getExpr(): [IntegerLiteralExpr] 0
|
|
# 386| getElement(1): [CallExpr] call to print(_:separator:terminator:)
|
|
# 386| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 386| getArgument(0): [Argument] : [...]
|
|
# 386| getExpr(): [VarargExpansionExpr] [...]
|
|
# 386| getSubExpr(): [ArrayExpr] [...]
|
|
# 386| getElement(0): [StringLiteralExpr] Did not throw.
|
|
# 386| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 386| getArgument(1): [Argument] separator: default separator
|
|
# 386| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 386| getArgument(2): [Argument] terminator: default terminator
|
|
# 386| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 387| getElement(2): [ForceTryExpr] try! ...
|
|
# 387| getSubExpr(): [CallExpr] call to mightThrow(x:)
|
|
# 387| getFunction(): [DeclRefExpr] mightThrow(x:)
|
|
# 387| getArgument(0): [Argument] x: 0
|
|
# 387| getExpr(): [IntegerLiteralExpr] 0
|
|
# 388| getElement(3): [CallExpr] call to print(_:separator:terminator:)
|
|
# 388| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 388| getArgument(0): [Argument] : [...]
|
|
# 388| getExpr(): [VarargExpansionExpr] [...]
|
|
# 388| getSubExpr(): [ArrayExpr] [...]
|
|
# 388| getElement(0): [StringLiteralExpr] Still did not throw.
|
|
# 388| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 388| getArgument(1): [Argument] separator: default separator
|
|
# 388| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 388| getArgument(2): [Argument] terminator: default terminator
|
|
# 388| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 390| getElement(1): [ReturnStmt] return ...
|
|
# 390| getResult(): [IntegerLiteralExpr] 0
|
|
# 393| [ClassDecl] Structors
|
|
# 394| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 394| getPattern(0): [TypedPattern] ... as ...
|
|
# 394| getSubPattern(): [NamedPattern] field
|
|
# 394| getTypeRepr(): [TypeRepr] Int
|
|
# 394| getMember(1): [ConcreteVarDecl] field
|
|
# 394| Type = Int
|
|
# 394| getAccessor(0): [Accessor] get
|
|
# 394| InterfaceType = (Structors) -> () -> Int
|
|
# 394| getSelfParam(): [ParamDecl] self
|
|
# 394| Type = Structors
|
|
# 394| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .field
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 394| getAccessor(1): [Accessor] set
|
|
# 394| InterfaceType = (Structors) -> (Int) -> ()
|
|
# 394| getSelfParam(): [ParamDecl] self
|
|
# 394| Type = Structors
|
|
# 394| getParam(0): [ParamDecl] value
|
|
# 394| Type = Int
|
|
# 394| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .field
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 394| getAccessor(2): [Accessor] _modify
|
|
# 394| InterfaceType = (Structors) -> () -> ()
|
|
# 394| getSelfParam(): [ParamDecl] self
|
|
# 394| Type = Structors
|
|
# 394| getBody(): [BraceStmt] { ... }
|
|
# 394| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .field
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 395| getMember(2): [Initializer] Structors.init()
|
|
# 395| InterfaceType = (Structors.Type) -> () -> Structors
|
|
# 395| getSelfParam(): [ParamDecl] self
|
|
# 395| Type = Structors
|
|
# 395| getBody(): [BraceStmt] { ... }
|
|
# 396| getElement(0): [AssignExpr] ... = ...
|
|
# 396| getDest(): [MemberRefExpr] .field
|
|
# 396| getBase(): [DeclRefExpr] self
|
|
# 396| getSource(): [IntegerLiteralExpr] 10
|
|
# 397| getElement(1): [ReturnStmt] return
|
|
# 399| getMember(3): [Deinitializer] Structors.deinit()
|
|
# 399| InterfaceType = (Structors) -> () -> ()
|
|
# 399| getSelfParam(): [ParamDecl] self
|
|
# 399| Type = Structors
|
|
# 399| getBody(): [BraceStmt] { ... }
|
|
# 400| getElement(0): [AssignExpr] ... = ...
|
|
# 400| getDest(): [MemberRefExpr] .field
|
|
# 400| getBase(): [DeclRefExpr] self
|
|
# 400| getSource(): [IntegerLiteralExpr] 0
|
|
# 404| [NamedFunction] dictionaryLiteral(x:y:)
|
|
# 404| InterfaceType = (Int, Int) -> [String : Int]
|
|
# 404| getParam(0): [ParamDecl] x
|
|
# 404| Type = Int
|
|
# 404| getParam(1): [ParamDecl] y
|
|
# 404| Type = Int
|
|
# 404| getBody(): [BraceStmt] { ... }
|
|
# 405| getElement(0): [ReturnStmt] return ...
|
|
# 405| getResult(): [DictionaryExpr] [...]
|
|
# 405| getElement(0): [TupleExpr] (...)
|
|
# 405| getElement(0): [StringLiteralExpr] x
|
|
# 405| getElement(1): [DeclRefExpr] x
|
|
# 405| getElement(1): [TupleExpr] (...)
|
|
# 405| getElement(0): [StringLiteralExpr] y
|
|
# 405| getElement(1): [DeclRefExpr] y
|
|
# 408| [NamedFunction] localDeclarations()
|
|
# 408| InterfaceType = () -> Int
|
|
# 408| getBody(): [BraceStmt] { ... }
|
|
# 428| getVariable(0): [ConcreteVarDecl] myLocalVar
|
|
# 428| Type = Int
|
|
# 409| getElement(0): [ClassDecl] MyLocalClass
|
|
# 410| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 410| getPattern(0): [TypedPattern] ... as ...
|
|
# 410| getSubPattern(): [NamedPattern] x
|
|
# 410| getTypeRepr(): [TypeRepr] Int
|
|
# 410| getMember(1): [ConcreteVarDecl] x
|
|
# 410| Type = Int
|
|
# 410| getAccessor(0): [Accessor] get
|
|
# 410| InterfaceType = (MyLocalClass) -> () -> Int
|
|
# 410| getSelfParam(): [ParamDecl] self
|
|
# 410| Type = MyLocalClass
|
|
# 410| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 410| getAccessor(1): [Accessor] set
|
|
# 410| InterfaceType = (MyLocalClass) -> (Int) -> ()
|
|
# 410| getSelfParam(): [ParamDecl] self
|
|
# 410| Type = MyLocalClass
|
|
# 410| getParam(0): [ParamDecl] value
|
|
# 410| Type = Int
|
|
# 410| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 410| getAccessor(2): [Accessor] _modify
|
|
# 410| InterfaceType = (MyLocalClass) -> () -> ()
|
|
# 410| getSelfParam(): [ParamDecl] self
|
|
# 410| Type = MyLocalClass
|
|
# 410| getBody(): [BraceStmt] { ... }
|
|
# 410| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 411| getMember(2): [Initializer] MyLocalClass.init()
|
|
# 411| InterfaceType = (MyLocalClass.Type) -> () -> MyLocalClass
|
|
# 411| getSelfParam(): [ParamDecl] self
|
|
# 411| Type = MyLocalClass
|
|
# 411| getBody(): [BraceStmt] { ... }
|
|
# 412| getElement(0): [AssignExpr] ... = ...
|
|
# 412| getDest(): [MemberRefExpr] .x
|
|
# 412| getBase(): [DeclRefExpr] self
|
|
# 412| getSource(): [IntegerLiteralExpr] 10
|
|
# 413| getElement(1): [ReturnStmt] return
|
|
# 409| getMember(3): [Deinitializer] MyLocalClass.deinit()
|
|
# 409| InterfaceType = (MyLocalClass) -> () -> ()
|
|
# 409| getSelfParam(): [ParamDecl] self
|
|
# 409| Type = MyLocalClass
|
|
# 409| getBody(): [BraceStmt] { ... }
|
|
# 416| getElement(1): [StructDecl] MyLocalStruct
|
|
# 417| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 417| getPattern(0): [TypedPattern] ... as ...
|
|
# 417| getSubPattern(): [NamedPattern] x
|
|
# 417| getTypeRepr(): [TypeRepr] Int
|
|
# 417| getMember(1): [ConcreteVarDecl] x
|
|
# 417| Type = Int
|
|
# 417| getAccessor(0): [Accessor] get
|
|
# 417| InterfaceType = (MyLocalStruct) -> () -> Int
|
|
# 417| getSelfParam(): [ParamDecl] self
|
|
# 417| Type = MyLocalStruct
|
|
# 417| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 417| getAccessor(1): [Accessor] set
|
|
# 417| InterfaceType = (inout MyLocalStruct) -> (Int) -> ()
|
|
# 417| getSelfParam(): [ParamDecl] self
|
|
# 417| Type = MyLocalStruct
|
|
# 417| getParam(0): [ParamDecl] value
|
|
# 417| Type = Int
|
|
# 417| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 417| getAccessor(2): [Accessor] _modify
|
|
# 417| InterfaceType = (inout MyLocalStruct) -> () -> ()
|
|
# 417| getSelfParam(): [ParamDecl] self
|
|
# 417| Type = MyLocalStruct
|
|
# 417| getBody(): [BraceStmt] { ... }
|
|
# 417| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 418| getMember(2): [Initializer] MyLocalStruct.init()
|
|
# 418| InterfaceType = (MyLocalStruct.Type) -> () -> MyLocalStruct
|
|
# 418| getSelfParam(): [ParamDecl] self
|
|
# 418| Type = MyLocalStruct
|
|
# 418| getBody(): [BraceStmt] { ... }
|
|
# 419| getElement(0): [AssignExpr] ... = ...
|
|
# 419| getDest(): [MemberRefExpr] .x
|
|
# 419| getBase(): [DeclRefExpr] self
|
|
# 419| getSource(): [IntegerLiteralExpr] 10
|
|
# 420| getElement(1): [ReturnStmt] return
|
|
# 423| getElement(2): [EnumDecl] MyLocalEnum
|
|
# 424| getMember(0): [EnumCaseDecl] case ...
|
|
# 424| getMember(1): [EnumElementDecl] A
|
|
# 425| getMember(2): [EnumCaseDecl] case ...
|
|
# 425| getMember(3): [EnumElementDecl] B
|
|
#-----| getMember(4): [NamedFunction] __derived_enum_equals(_:_:)
|
|
#-----| InterfaceType = (MyLocalEnum.Type) -> (MyLocalEnum, MyLocalEnum) -> Bool
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = MyLocalEnum.Type
|
|
#-----| getParam(0): [ParamDecl] a
|
|
#-----| Type = MyLocalEnum
|
|
#-----| getParam(1): [ParamDecl] b
|
|
#-----| Type = MyLocalEnum
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_a
|
|
#-----| getElement(1): [SwitchStmt] switch a { ... }
|
|
#-----| getExpr(): [DeclRefExpr] a
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .A
|
|
#-----| getPattern(): [EnumElementPattern] .A
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getCase(1): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .B
|
|
#-----| getPattern(): [EnumElementPattern] .B
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 1
|
|
#-----| getElement(2): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_b
|
|
#-----| getElement(3): [SwitchStmt] switch b { ... }
|
|
#-----| getExpr(): [DeclRefExpr] b
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .A
|
|
#-----| getPattern(): [EnumElementPattern] .A
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getCase(1): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .B
|
|
#-----| getPattern(): [EnumElementPattern] .B
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 1
|
|
#-----| getElement(4): [ReturnStmt] return ...
|
|
#-----| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
#-----| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
#-----| getBase(): [TypeExpr] Int.Type
|
|
#-----| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
#-----| getArgument(0): [Argument] : index_a
|
|
#-----| getExpr(): [DeclRefExpr] index_a
|
|
#-----| getArgument(1): [Argument] : index_b
|
|
#-----| getExpr(): [DeclRefExpr] index_b
|
|
#-----| getMember(5): [ConcreteVarDecl] hashValue
|
|
#-----| Type = Int
|
|
#-----| getAccessor(0): [Accessor] get
|
|
#-----| InterfaceType = (MyLocalEnum) -> () -> Int
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = MyLocalEnum
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [CallExpr] call to _hashValue(for:)
|
|
#-----| getFunction(): [DeclRefExpr] _hashValue(for:)
|
|
#-----| getArgument(0): [Argument] for: self
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getMember(6): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] hashValue
|
|
#-----| getMember(7): [NamedFunction] hash(into:)
|
|
#-----| InterfaceType = (MyLocalEnum) -> (inout Hasher) -> ()
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = MyLocalEnum
|
|
#-----| getParam(0): [ParamDecl] hasher
|
|
#-----| Type = Hasher
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] discriminator
|
|
#-----| getElement(1): [SwitchStmt] switch self { ... }
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .A
|
|
#-----| getPattern(): [EnumElementPattern] .A
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getCase(1): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .B
|
|
#-----| getPattern(): [EnumElementPattern] .B
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 1
|
|
#-----| getElement(2): [CallExpr] call to combine(_:)
|
|
#-----| getFunction(): [MethodLookupExpr] .combine(_:)
|
|
#-----| getBase(): [DeclRefExpr] hasher
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] combine(_:)
|
|
#-----| getArgument(0): [Argument] : discriminator
|
|
#-----| getExpr(): [DeclRefExpr] discriminator
|
|
#-----| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 428| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 428| getPattern(0): [TypedPattern] ... as ...
|
|
# 428| getSubPattern(): [NamedPattern] myLocalVar
|
|
# 428| getTypeRepr(): [TypeRepr] Int
|
|
# 442| getElement(4): [ReturnStmt] return ...
|
|
# 442| getResult(): [IntegerLiteralExpr] 0
|
|
# 430| [Comment] // Error: declaration is only valid at file scope
|
|
# 430|
|
|
# 431| [Comment] // extension Int {
|
|
# 431|
|
|
# 432| [Comment] // func myExtensionMethod() -> Int {
|
|
# 432|
|
|
# 433| [Comment] // return self
|
|
# 433|
|
|
# 434| [Comment] // }
|
|
# 434|
|
|
# 435| [Comment] // }
|
|
# 435|
|
|
# 437| [Comment] // protocol 'MyProtocol' cannot be nested inside another declaration
|
|
# 437|
|
|
# 438| [Comment] // protocol MyProtocol {
|
|
# 438|
|
|
# 439| [Comment] // func myMethod()
|
|
# 439|
|
|
# 440| [Comment] // }
|
|
# 440|
|
|
# 445| [StructDecl] B
|
|
# 446| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 446| getPattern(0): [TypedPattern] ... as ...
|
|
# 446| getSubPattern(): [NamedPattern] x
|
|
# 446| getTypeRepr(): [TypeRepr] Int
|
|
# 446| getMember(1): [ConcreteVarDecl] x
|
|
# 446| Type = Int
|
|
# 446| getAccessor(0): [Accessor] get
|
|
# 446| InterfaceType = (B) -> () -> Int
|
|
# 446| getSelfParam(): [ParamDecl] self
|
|
# 446| Type = B
|
|
# 446| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 446| getAccessor(1): [Accessor] set
|
|
# 446| InterfaceType = (inout B) -> (Int) -> ()
|
|
# 446| getSelfParam(): [ParamDecl] self
|
|
# 446| Type = B
|
|
# 446| getParam(0): [ParamDecl] value
|
|
# 446| Type = Int
|
|
# 446| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 446| getAccessor(2): [Accessor] _modify
|
|
# 446| InterfaceType = (inout B) -> () -> ()
|
|
# 446| getSelfParam(): [ParamDecl] self
|
|
# 446| Type = B
|
|
# 446| getBody(): [BraceStmt] { ... }
|
|
# 446| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 445| getMember(2): [Initializer] B.init(x:)
|
|
# 445| InterfaceType = (B.Type) -> (Int) -> B
|
|
# 445| getSelfParam(): [ParamDecl] self
|
|
# 445| Type = B
|
|
# 445| getParam(0): [ParamDecl] x
|
|
# 445| Type = Int
|
|
# 449| [StructDecl] A
|
|
# 450| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 450| getPattern(0): [TypedPattern] ... as ...
|
|
# 450| getSubPattern(): [NamedPattern] b
|
|
# 450| getTypeRepr(): [TypeRepr] B
|
|
# 450| getMember(1): [ConcreteVarDecl] b
|
|
# 450| Type = B
|
|
# 450| getAccessor(0): [Accessor] get
|
|
# 450| InterfaceType = (A) -> () -> B
|
|
# 450| getSelfParam(): [ParamDecl] self
|
|
# 450| Type = A
|
|
# 450| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .b
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 450| getAccessor(1): [Accessor] set
|
|
# 450| InterfaceType = (inout A) -> (B) -> ()
|
|
# 450| getSelfParam(): [ParamDecl] self
|
|
# 450| Type = A
|
|
# 450| getParam(0): [ParamDecl] value
|
|
# 450| Type = B
|
|
# 450| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .b
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 450| getAccessor(2): [Accessor] _modify
|
|
# 450| InterfaceType = (inout A) -> () -> ()
|
|
# 450| getSelfParam(): [ParamDecl] self
|
|
# 450| Type = A
|
|
# 450| getBody(): [BraceStmt] { ... }
|
|
# 450| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .b
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 451| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 451| getPattern(0): [TypedPattern] ... as ...
|
|
# 451| getSubPattern(): [NamedPattern] bs
|
|
# 451| getTypeRepr(): [TypeRepr] [B]
|
|
# 451| getMember(3): [ConcreteVarDecl] bs
|
|
# 451| Type = [B]
|
|
# 451| getAccessor(0): [Accessor] get
|
|
# 451| InterfaceType = (A) -> () -> [B]
|
|
# 451| getSelfParam(): [ParamDecl] self
|
|
# 451| Type = A
|
|
# 451| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .bs
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 451| getAccessor(1): [Accessor] set
|
|
# 451| InterfaceType = (inout A) -> ([B]) -> ()
|
|
# 451| getSelfParam(): [ParamDecl] self
|
|
# 451| Type = A
|
|
# 451| getParam(0): [ParamDecl] value
|
|
# 451| Type = [B]
|
|
# 451| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .bs
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 451| getAccessor(2): [Accessor] _modify
|
|
# 451| InterfaceType = (inout A) -> () -> ()
|
|
# 451| getSelfParam(): [ParamDecl] self
|
|
# 451| Type = A
|
|
# 451| getBody(): [BraceStmt] { ... }
|
|
# 451| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .bs
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 452| getMember(4): [PatternBindingDecl] var ... = ...
|
|
#-----| getInit(0): [NilLiteralExpr] nil
|
|
# 452| getPattern(0): [TypedPattern] ... as ...
|
|
# 452| getSubPattern(): [NamedPattern] mayB
|
|
# 452| getTypeRepr(): [TypeRepr] B?
|
|
# 452| getMember(5): [ConcreteVarDecl] mayB
|
|
# 452| Type = B?
|
|
# 452| getAccessor(0): [Accessor] get
|
|
# 452| InterfaceType = (A) -> () -> B?
|
|
# 452| getSelfParam(): [ParamDecl] self
|
|
# 452| Type = A
|
|
# 452| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .mayB
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 452| getAccessor(1): [Accessor] set
|
|
# 452| InterfaceType = (inout A) -> (B?) -> ()
|
|
# 452| getSelfParam(): [ParamDecl] self
|
|
# 452| Type = A
|
|
# 452| getParam(0): [ParamDecl] value
|
|
# 452| Type = B?
|
|
# 452| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .mayB
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 452| getAccessor(2): [Accessor] _modify
|
|
# 452| InterfaceType = (inout A) -> () -> ()
|
|
# 452| getSelfParam(): [ParamDecl] self
|
|
# 452| Type = A
|
|
# 452| getBody(): [BraceStmt] { ... }
|
|
# 452| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .mayB
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 449| getMember(6): [Initializer] A.init(b:bs:mayB:)
|
|
# 449| InterfaceType = (A.Type) -> (B, [B], B?) -> A
|
|
# 449| getSelfParam(): [ParamDecl] self
|
|
# 449| Type = A
|
|
# 449| getParam(0): [ParamDecl] b
|
|
# 449| Type = B
|
|
# 449| getParam(1): [ParamDecl] bs
|
|
# 449| Type = [B]
|
|
# 449| getParam(2): [ParamDecl] mayB
|
|
# 449| Type = B?
|
|
# 455| [NamedFunction] test(a:)
|
|
# 455| InterfaceType = (A) -> ()
|
|
# 455| getParam(0): [ParamDecl] a
|
|
# 455| Type = A
|
|
# 455| getBody(): [BraceStmt] { ... }
|
|
# 456| getVariable(0): [ConcreteVarDecl] kpGet_b_x
|
|
# 456| Type = WritableKeyPath<A, Int>
|
|
# 457| getVariable(1): [ConcreteVarDecl] kpGet_bs_0_x
|
|
# 457| Type = WritableKeyPath<A, Int>
|
|
# 458| getVariable(2): [ConcreteVarDecl] kpGet_mayB_force_x
|
|
# 458| Type = WritableKeyPath<A, Int>
|
|
# 459| getVariable(3): [ConcreteVarDecl] kpGet_mayB_x
|
|
# 459| Type = KeyPath<A, Int?>
|
|
# 461| getVariable(4): [ConcreteVarDecl] apply_kpGet_b_x
|
|
# 461| Type = Int
|
|
# 462| getVariable(5): [ConcreteVarDecl] apply_kpGet_bs_0_x
|
|
# 462| Type = Int
|
|
# 463| getVariable(6): [ConcreteVarDecl] apply_kpGet_mayB_force_x
|
|
# 463| Type = Int
|
|
# 464| getVariable(7): [ConcreteVarDecl] apply_kpGet_mayB_x
|
|
# 464| Type = Int?
|
|
# 456| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 456| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 456| getRoot(): [TypeRepr] A
|
|
# 456| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 456| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 456| getPattern(0): [NamedPattern] kpGet_b_x
|
|
# 457| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 457| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 457| getRoot(): [TypeRepr] A
|
|
# 457| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 457| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 457| getSubscriptArgument(0): [Argument] : 0
|
|
# 457| getExpr(): [IntegerLiteralExpr] 0
|
|
# 457| getComponent(2): [KeyPathComponent] KeyPathComponent
|
|
# 457| getPattern(0): [NamedPattern] kpGet_bs_0_x
|
|
# 458| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 458| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 458| getRoot(): [TypeRepr] A
|
|
# 458| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 458| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 458| getComponent(2): [KeyPathComponent] KeyPathComponent
|
|
# 458| getPattern(0): [NamedPattern] kpGet_mayB_force_x
|
|
# 459| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 459| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 459| getRoot(): [TypeRepr] A
|
|
# 459| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 459| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 459| getComponent(2): [KeyPathComponent] KeyPathComponent
|
|
#-----| getComponent(3): [KeyPathComponent] KeyPathComponent
|
|
# 459| getPattern(0): [NamedPattern] kpGet_mayB_x
|
|
# 461| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 461| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 461| getBase(): [DeclRefExpr] a
|
|
# 461| getKeyPath(): [DeclRefExpr] kpGet_b_x
|
|
# 461| getKeyPath().getFullyConverted(): [LoadExpr] (WritableKeyPath<A, Int>) ...
|
|
# 461| getPattern(0): [NamedPattern] apply_kpGet_b_x
|
|
# 462| getElement(5): [PatternBindingDecl] var ... = ...
|
|
# 462| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 462| getBase(): [DeclRefExpr] a
|
|
# 462| getKeyPath(): [DeclRefExpr] kpGet_bs_0_x
|
|
# 462| getKeyPath().getFullyConverted(): [LoadExpr] (WritableKeyPath<A, Int>) ...
|
|
# 462| getPattern(0): [NamedPattern] apply_kpGet_bs_0_x
|
|
# 463| getElement(6): [PatternBindingDecl] var ... = ...
|
|
# 463| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 463| getBase(): [DeclRefExpr] a
|
|
# 463| getKeyPath(): [DeclRefExpr] kpGet_mayB_force_x
|
|
# 463| getKeyPath().getFullyConverted(): [LoadExpr] (WritableKeyPath<A, Int>) ...
|
|
# 463| getPattern(0): [NamedPattern] apply_kpGet_mayB_force_x
|
|
# 464| getElement(7): [PatternBindingDecl] var ... = ...
|
|
# 464| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 464| getBase(): [DeclRefExpr] a
|
|
# 464| getKeyPath(): [DeclRefExpr] kpGet_mayB_x
|
|
# 464| getKeyPath().getFullyConverted(): [LoadExpr] (KeyPath<A, Int?>) ...
|
|
# 464| getPattern(0): [NamedPattern] apply_kpGet_mayB_x
|
|
# 467| [NamedFunction] testIfConfig()
|
|
# 467| InterfaceType = () -> ()
|
|
# 467| getBody(): [BraceStmt] { ... }
|
|
# 468| getElement(0): [IfConfigDecl] #if ...
|
|
# 472| getElement(1): [IntegerLiteralExpr] 3
|
|
# 473| getElement(2): [IntegerLiteralExpr] 4
|
|
# 476| getElement(3): [IntegerLiteralExpr] 5
|
|
# 478| getElement(4): [IfConfigDecl] #if ...
|
|
# 483| getElement(5): [IntegerLiteralExpr] 8
|
|
# 485| getElement(6): [IfConfigDecl] #if ...
|
|
# 489| getElement(7): [IntegerLiteralExpr] 11
|
|
# 490| getElement(8): [IntegerLiteralExpr] 12
|
|
# 493| getElement(9): [IntegerLiteralExpr] 13
|
|
# 496| [NamedFunction] testAvailable()
|
|
# 496| InterfaceType = () -> Int
|
|
# 496| getBody(): [BraceStmt] { ... }
|
|
# 497| getVariable(0): [ConcreteVarDecl] x
|
|
# 497| Type = Int
|
|
# 497| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 497| getInit(0): [IntegerLiteralExpr] 0
|
|
# 497| getPattern(0): [NamedPattern] x
|
|
# 499| getElement(1): [IfStmt] if ... then { ... }
|
|
# 499| getCondition(): [StmtCondition] StmtCondition
|
|
# 499| getElement(0): [ConditionElement] #available
|
|
# 499| getAvailability(): [AvailabilityInfo] #available
|
|
# 499| getSpec(0): [PlatformVersionAvailabilitySpec] macOS 10
|
|
# 499| getSpec(1): [OtherAvailabilitySpec] *
|
|
# 499| getThen(): [BraceStmt] { ... }
|
|
# 500| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 500| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 500| getBase(): [TypeExpr] Int.Type
|
|
# 500| getTypeRepr(): [TypeRepr] Int
|
|
# 500| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 500| getArgument(0): [Argument] : x
|
|
# 500| getExpr(): [DeclRefExpr] x
|
|
# 500| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 500| getArgument(1): [Argument] : 1
|
|
# 500| getExpr(): [IntegerLiteralExpr] 1
|
|
# 503| getElement(2): [IfStmt] if ... then { ... }
|
|
# 503| getCondition(): [StmtCondition] StmtCondition
|
|
# 503| getElement(0): [ConditionElement] #available
|
|
# 503| getAvailability(): [AvailabilityInfo] #available
|
|
# 503| getSpec(0): [PlatformVersionAvailabilitySpec] macOS 10.13
|
|
# 503| getSpec(1): [OtherAvailabilitySpec] *
|
|
# 503| getThen(): [BraceStmt] { ... }
|
|
# 504| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 504| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 504| getBase(): [TypeExpr] Int.Type
|
|
# 504| getTypeRepr(): [TypeRepr] Int
|
|
# 504| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 504| getArgument(0): [Argument] : x
|
|
# 504| getExpr(): [DeclRefExpr] x
|
|
# 504| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 504| getArgument(1): [Argument] : 1
|
|
# 504| getExpr(): [IntegerLiteralExpr] 1
|
|
# 507| getElement(3): [IfStmt] if ... then { ... }
|
|
# 507| getCondition(): [StmtCondition] StmtCondition
|
|
# 507| getElement(0): [ConditionElement] #unavailable
|
|
# 507| getAvailability(): [AvailabilityInfo] #unavailable
|
|
# 507| getSpec(0): [PlatformVersionAvailabilitySpec] iOS 10
|
|
# 507| getSpec(1): [PlatformVersionAvailabilitySpec] watchOS 10
|
|
# 507| getSpec(2): [PlatformVersionAvailabilitySpec] macOS 10
|
|
# 507| getThen(): [BraceStmt] { ... }
|
|
# 508| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 508| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 508| getBase(): [TypeExpr] Int.Type
|
|
# 508| getTypeRepr(): [TypeRepr] Int
|
|
# 508| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 508| getArgument(0): [Argument] : x
|
|
# 508| getExpr(): [DeclRefExpr] x
|
|
# 508| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 508| getArgument(1): [Argument] : 1
|
|
# 508| getExpr(): [IntegerLiteralExpr] 1
|
|
# 511| getElement(4): [GuardStmt] guard ... else { ... }
|
|
# 511| getCondition(): [StmtCondition] StmtCondition
|
|
# 511| getElement(0): [ConditionElement] #available
|
|
# 511| getAvailability(): [AvailabilityInfo] #available
|
|
# 511| getSpec(0): [PlatformVersionAvailabilitySpec] macOS 12
|
|
# 511| getSpec(1): [OtherAvailabilitySpec] *
|
|
# 511| getBody(): [BraceStmt] { ... }
|
|
# 512| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 512| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 512| getBase(): [TypeExpr] Int.Type
|
|
# 512| getTypeRepr(): [TypeRepr] Int
|
|
# 512| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 512| getArgument(0): [Argument] : x
|
|
# 512| getExpr(): [DeclRefExpr] x
|
|
# 512| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 512| getArgument(1): [Argument] : 1
|
|
# 512| getExpr(): [IntegerLiteralExpr] 1
|
|
# 515| getElement(5): [IfStmt] if ... then { ... }
|
|
# 515| getCondition(): [StmtCondition] StmtCondition
|
|
# 515| getElement(0): [ConditionElement] #available
|
|
# 515| getAvailability(): [AvailabilityInfo] #available
|
|
# 515| getSpec(0): [PlatformVersionAvailabilitySpec] macOS 12
|
|
# 515| getSpec(1): [OtherAvailabilitySpec] *
|
|
# 515| getElement(1): [ConditionElement] #available
|
|
# 515| getAvailability(): [AvailabilityInfo] #available
|
|
# 515| getSpec(0): [PlatformVersionAvailabilitySpec] iOS 12
|
|
# 515| getSpec(1): [OtherAvailabilitySpec] *
|
|
# 515| getThen(): [BraceStmt] { ... }
|
|
# 516| getElement(0): [BinaryExpr] ... .+=(_:_:) ...
|
|
# 516| getFunction(): [MethodLookupExpr] .+=(_:_:)
|
|
# 516| getBase(): [TypeExpr] Int.Type
|
|
# 516| getTypeRepr(): [TypeRepr] Int
|
|
# 516| getMethodRef(): [DeclRefExpr] +=(_:_:)
|
|
# 516| getArgument(0): [Argument] : x
|
|
# 516| getExpr(): [DeclRefExpr] x
|
|
# 516| getExpr().getFullyConverted(): [InOutExpr] &...
|
|
# 516| getArgument(1): [Argument] : 1
|
|
# 516| getExpr(): [IntegerLiteralExpr] 1
|
|
# 519| getElement(6): [ReturnStmt] return ...
|
|
# 519| getResult(): [DeclRefExpr] x
|
|
# 519| getResult().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 522| [NamedFunction] testAsyncFor()
|
|
# 522| InterfaceType = () async -> ()
|
|
# 522| getBody(): [BraceStmt] { ... }
|
|
# 523| getVariable(0): [ConcreteVarDecl] stream
|
|
# 523| Type = AsyncStream<Int>
|
|
# 523| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 523| getInit(0): [CallExpr] call to AsyncStream<Element>.init(_:bufferingPolicy:_:)
|
|
# 523| getFunction(): [MethodLookupExpr] AsyncStream<Element>.init(_:bufferingPolicy:_:)
|
|
# 523| getBase(): [TypeExpr] AsyncStream<Int>.Type
|
|
# 523| getTypeRepr(): [TypeRepr] AsyncStream<Int>
|
|
# 523| getMethodRef(): [DeclRefExpr] AsyncStream<Element>.init(_:bufferingPolicy:_:)
|
|
# 523| getArgument(0): [Argument] : Int.Type
|
|
# 523| getExpr(): [TypeExpr] Int.Type
|
|
# 523| getTypeRepr(): [TypeRepr] Int
|
|
# 523| getExpr().getFullyConverted(): [DotSelfExpr] .self
|
|
# 523| getArgument(1): [Argument] bufferingPolicy: call to ...
|
|
# 523| getExpr(): [CallExpr] call to ...
|
|
# 523| getFunction(): [MethodLookupExpr] .bufferingNewest
|
|
# 523| getBase(): [TypeExpr] AsyncStream<Int>.Continuation.BufferingPolicy.Type
|
|
# 523| getTypeRepr(): [TypeRepr] AsyncStream<Int>.Continuation.BufferingPolicy
|
|
# 523| getMethodRef(): [DeclRefExpr] bufferingNewest
|
|
# 523| getArgument(0): [Argument] : 5
|
|
# 523| getExpr(): [IntegerLiteralExpr] 5
|
|
# 523| getArgument(2): [Argument] : { ... }
|
|
# 523| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 524| getParam(0): [ParamDecl] continuation
|
|
# 524| Type = AsyncStream<Int>.Continuation
|
|
# 523| getBody(): [BraceStmt] { ... }
|
|
# 525| getElement(0): [CallExpr] call to detached(priority:operation:)
|
|
# 525| getFunction(): [MethodLookupExpr] .detached(priority:operation:)
|
|
# 525| getBase(): [TypeExpr] Task<(), Never>.Type
|
|
# 525| getTypeRepr(): [TypeRepr] Task<(), Never>
|
|
# 525| getMethodRef(): [DeclRefExpr] detached(priority:operation:)
|
|
# 525| getArgument(0): [Argument] priority: default priority
|
|
# 525| getExpr(): [DefaultArgumentExpr] default priority
|
|
# 525| getArgument(1): [Argument] operation: { ... }
|
|
# 525| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 525| getBody(): [BraceStmt] { ... }
|
|
# 526| getElement(0): [ForEachStmt] for ... in ... { ... }
|
|
# 526| getVariable(0): [ConcreteVarDecl] i
|
|
# 526| Type = Int
|
|
# 526| getVariable(1): [ConcreteVarDecl] $i$generator
|
|
# 526| Type = IndexingIterator<ClosedRange<Int>>
|
|
# 526| getPattern(): [NamedPattern] i
|
|
#-----| getIteratorVar(): [PatternBindingDecl] var ... = ...
|
|
# 526| getInit(0): [CallExpr] call to makeIterator()
|
|
# 526| getFunction(): [MethodLookupExpr] .makeIterator()
|
|
# 526| getBase(): [BinaryExpr] ... ....(_:_:) ...
|
|
# 526| getFunction(): [MethodLookupExpr] ....(_:_:)
|
|
# 526| getBase(): [TypeExpr] Int.Type
|
|
# 526| getTypeRepr(): [TypeRepr] Int
|
|
# 526| getMethodRef(): [DeclRefExpr] ...(_:_:)
|
|
# 526| getArgument(0): [Argument] : 1
|
|
# 526| getExpr(): [IntegerLiteralExpr] 1
|
|
# 526| getArgument(1): [Argument] : 100
|
|
# 526| getExpr(): [IntegerLiteralExpr] 100
|
|
#-----| getMethodRef(): [DeclRefExpr] makeIterator()
|
|
# 526| getPattern(0): [NamedPattern] $i$generator
|
|
# 526| getNextCall(): [CallExpr] call to next()
|
|
# 526| getFunction(): [MethodLookupExpr] .next()
|
|
# 526| getBase(): [DeclRefExpr] $i$generator
|
|
# 526| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] next()
|
|
# 526| getBody(): [BraceStmt] { ... }
|
|
# 527| getElement(0): [CallExpr] call to yield(_:)
|
|
# 527| getFunction(): [MethodLookupExpr] .yield(_:)
|
|
# 527| getBase(): [DeclRefExpr] continuation
|
|
# 527| getMethodRef(): [DeclRefExpr] yield(_:)
|
|
# 527| getArgument(0): [Argument] : i
|
|
# 527| getExpr(): [DeclRefExpr] i
|
|
# 529| getElement(1): [CallExpr] call to finish()
|
|
# 529| getFunction(): [MethodLookupExpr] .finish()
|
|
# 529| getBase(): [DeclRefExpr] continuation
|
|
# 529| getMethodRef(): [DeclRefExpr] finish()
|
|
# 527| getCapture(0): [CapturedDecl] continuation
|
|
# 525| getExpr().getFullyConverted(): [FunctionConversionExpr] (@isolated(any) () async -> ()) ...
|
|
# 523| getPattern(0): [NamedPattern] stream
|
|
# 533| getElement(1): [ForEachStmt] for ... in ... { ... }
|
|
# 533| getVariable(0): [ConcreteVarDecl] i
|
|
# 533| Type = Int
|
|
# 533| getVariable(1): [ConcreteVarDecl] $i$generator
|
|
# 533| Type = AsyncStream<Int>.Iterator
|
|
# 533| getPattern(): [NamedPattern] i
|
|
#-----| getIteratorVar(): [PatternBindingDecl] var ... = ...
|
|
# 533| getInit(0): [CallExpr] call to makeAsyncIterator()
|
|
# 533| getFunction(): [MethodLookupExpr] .makeAsyncIterator()
|
|
# 533| getBase(): [DeclRefExpr] stream
|
|
# 533| getBase().getFullyConverted(): [LoadExpr] (AsyncStream<Int>) ...
|
|
#-----| getMethodRef(): [DeclRefExpr] makeAsyncIterator()
|
|
# 533| getPattern(0): [NamedPattern] $i$generator
|
|
# 533| getNextCall(): [CallExpr] call to next()
|
|
# 533| getFunction(): [MethodLookupExpr] .next()
|
|
# 533| getBase(): [DeclRefExpr] $i$generator
|
|
# 533| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] next()
|
|
# 533| getNextCall().getFullyConverted(): [AwaitExpr] await ...
|
|
# 533| getBody(): [BraceStmt] { ... }
|
|
# 534| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 534| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 534| getArgument(0): [Argument] : [...]
|
|
# 534| getExpr(): [VarargExpansionExpr] [...]
|
|
# 534| getSubExpr(): [ArrayExpr] [...]
|
|
# 534| getElement(0): [DeclRefExpr] i
|
|
# 534| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 534| getArgument(1): [Argument] separator: default separator
|
|
# 534| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 534| getArgument(2): [Argument] terminator: default terminator
|
|
# 534| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 525| [NilLiteralExpr] nil
|
|
# 538| [NamedFunction] testNilCoalescing(x:)
|
|
# 538| InterfaceType = (Int?) -> Int
|
|
# 538| getParam(0): [ParamDecl] x
|
|
# 538| Type = Int?
|
|
# 538| getBody(): [BraceStmt] { ... }
|
|
# 539| getElement(0): [ReturnStmt] return ...
|
|
# 539| getResult(): [BinaryExpr] ... ??(_:_:) ...
|
|
# 539| getFunction(): [DeclRefExpr] ??(_:_:)
|
|
# 539| getArgument(0): [Argument] : x
|
|
# 539| getExpr(): [DeclRefExpr] x
|
|
# 539| getArgument(1): [Argument] : { ... }
|
|
# 539| getExpr(): [AutoClosureExpr] { ... }
|
|
# 539| getBody(): [BraceStmt] { ... }
|
|
# 539| getElement(0): [ReturnStmt] return ...
|
|
# 539| getResult(): [IntegerLiteralExpr] 0
|
|
# 542| [NamedFunction] testNilCoalescing2(x:)
|
|
# 542| InterfaceType = (Bool?) -> Int
|
|
# 542| getParam(0): [ParamDecl] x
|
|
# 542| Type = Bool?
|
|
# 542| getBody(): [BraceStmt] { ... }
|
|
# 543| getElement(0): [IfStmt] if ... then { ... } else { ... }
|
|
# 543| getCondition(): [StmtCondition] StmtCondition
|
|
# 543| getElement(0): [ConditionElement] ... ??(_:_:) ...
|
|
# 543| getBoolean(): [BinaryExpr] ... ??(_:_:) ...
|
|
# 543| getFunction(): [DeclRefExpr] ??(_:_:)
|
|
# 543| getArgument(0): [Argument] : x
|
|
# 543| getExpr(): [DeclRefExpr] x
|
|
# 543| getArgument(1): [Argument] : { ... }
|
|
# 543| getExpr(): [AutoClosureExpr] { ... }
|
|
# 543| getBody(): [BraceStmt] { ... }
|
|
# 543| getElement(0): [ReturnStmt] return ...
|
|
# 543| getResult(): [BooleanLiteralExpr] false
|
|
# 543| getThen(): [BraceStmt] { ... }
|
|
# 544| getElement(0): [ReturnStmt] return ...
|
|
# 544| getResult(): [IntegerLiteralExpr] 1
|
|
# 545| getElse(): [BraceStmt] { ... }
|
|
# 546| getElement(0): [ReturnStmt] return ...
|
|
# 546| getResult(): [IntegerLiteralExpr] 0
|
|
# 550| [NamedFunction] usesAutoclosure(_:)
|
|
# 550| InterfaceType = (@autoclosure () -> Int) -> Int
|
|
# 550| getParam(0): [ParamDecl] expr
|
|
# 550| Type = () -> Int
|
|
# 550| getBody(): [BraceStmt] { ... }
|
|
# 551| getElement(0): [ReturnStmt] return ...
|
|
# 551| getResult(): [CallExpr] call to ...
|
|
# 551| getFunction(): [DeclRefExpr] expr
|
|
# 554| [NamedFunction] autoclosureTest()
|
|
# 554| InterfaceType = () -> ()
|
|
# 554| getBody(): [BraceStmt] { ... }
|
|
# 555| getElement(0): [CallExpr] call to usesAutoclosure(_:)
|
|
# 555| getFunction(): [DeclRefExpr] usesAutoclosure(_:)
|
|
# 555| getArgument(0): [Argument] : { ... }
|
|
# 555| getExpr(): [AutoClosureExpr] { ... }
|
|
# 555| getBody(): [BraceStmt] { ... }
|
|
# 555| getElement(0): [ReturnStmt] return ...
|
|
# 555| getResult(): [IntegerLiteralExpr] 1
|
|
# 558| [Comment] // ---
|
|
# 558|
|
|
# 560| [ProtocolDecl] MyProtocol
|
|
#-----| getGenericTypeParam(0): [GenericTypeParamDecl] Self
|
|
# 561| getMember(0): [NamedFunction] source()
|
|
# 561| InterfaceType = <Self where Self : MyProtocol> (Self) -> () -> Int
|
|
# 561| getSelfParam(): [ParamDecl] self
|
|
# 561| Type = Self
|
|
# 564| [ClassDecl] MyProcotolImpl
|
|
# 565| getMember(0): [NamedFunction] source()
|
|
# 565| InterfaceType = (MyProcotolImpl) -> () -> Int
|
|
# 565| getSelfParam(): [ParamDecl] self
|
|
# 565| Type = MyProcotolImpl
|
|
# 565| getBody(): [BraceStmt] { ... }
|
|
# 565| getElement(0): [ReturnStmt] return ...
|
|
# 565| getResult(): [IntegerLiteralExpr] 0
|
|
# 564| getMember(1): [Deinitializer] MyProcotolImpl.deinit()
|
|
# 564| InterfaceType = (MyProcotolImpl) -> () -> ()
|
|
# 564| getSelfParam(): [ParamDecl] self
|
|
# 564| Type = MyProcotolImpl
|
|
# 564| getBody(): [BraceStmt] { ... }
|
|
# 564| getMember(2): [Initializer] MyProcotolImpl.init()
|
|
# 564| InterfaceType = (MyProcotolImpl.Type) -> () -> MyProcotolImpl
|
|
# 564| getSelfParam(): [ParamDecl] self
|
|
# 564| Type = MyProcotolImpl
|
|
# 564| getBody(): [BraceStmt] { ... }
|
|
# 564| getElement(0): [ReturnStmt] return
|
|
# 568| [NamedFunction] getMyProtocol()
|
|
# 568| InterfaceType = () -> any MyProtocol
|
|
# 568| getBody(): [BraceStmt] { ... }
|
|
# 568| getElement(0): [ReturnStmt] return ...
|
|
# 568| getResult(): [CallExpr] call to MyProcotolImpl.init()
|
|
# 568| getFunction(): [MethodLookupExpr] MyProcotolImpl.init()
|
|
# 568| getBase(): [TypeExpr] MyProcotolImpl.Type
|
|
# 568| getTypeRepr(): [TypeRepr] MyProcotolImpl
|
|
# 568| getMethodRef(): [DeclRefExpr] MyProcotolImpl.init()
|
|
# 568| getResult().getFullyConverted(): [ErasureExpr] (any MyProtocol) ...
|
|
# 569| [NamedFunction] getMyProtocolImpl()
|
|
# 569| InterfaceType = () -> MyProcotolImpl
|
|
# 569| getBody(): [BraceStmt] { ... }
|
|
# 569| getElement(0): [ReturnStmt] return ...
|
|
# 569| getResult(): [CallExpr] call to MyProcotolImpl.init()
|
|
# 569| getFunction(): [MethodLookupExpr] MyProcotolImpl.init()
|
|
# 569| getBase(): [TypeExpr] MyProcotolImpl.Type
|
|
# 569| getTypeRepr(): [TypeRepr] MyProcotolImpl
|
|
# 569| getMethodRef(): [DeclRefExpr] MyProcotolImpl.init()
|
|
# 571| [NamedFunction] sink(arg:)
|
|
# 571| InterfaceType = (Int) -> ()
|
|
# 571| getParam(0): [ParamDecl] arg
|
|
# 571| Type = Int
|
|
# 571| getBody(): [BraceStmt] { ... }
|
|
# 573| [NamedFunction] testOpenExistentialExpr(x:y:)
|
|
# 573| InterfaceType = (any MyProtocol, MyProcotolImpl) -> ()
|
|
# 573| getParam(0): [ParamDecl] x
|
|
# 573| Type = any MyProtocol
|
|
# 573| getParam(1): [ParamDecl] y
|
|
# 573| Type = MyProcotolImpl
|
|
# 573| getBody(): [BraceStmt] { ... }
|
|
# 574| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 574| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 574| getArgument(0): [Argument] arg: OpenExistentialExpr
|
|
# 574| getExpr(): [OpenExistentialExpr] OpenExistentialExpr
|
|
# 574| getSubExpr(): [CallExpr] call to source()
|
|
# 574| getFunction(): [MethodLookupExpr] .source()
|
|
# 574| getBase(): [OpaqueValueExpr] OpaqueValueExpr
|
|
# 574| getMethodRef(): [DeclRefExpr] source()
|
|
# 574| getExistential(): [DeclRefExpr] x
|
|
# 575| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 575| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 575| getArgument(0): [Argument] arg: call to source()
|
|
# 575| getExpr(): [CallExpr] call to source()
|
|
# 575| getFunction(): [MethodLookupExpr] .source()
|
|
# 575| getBase(): [DeclRefExpr] y
|
|
# 575| getMethodRef(): [DeclRefExpr] source()
|
|
# 576| getElement(2): [CallExpr] call to sink(arg:)
|
|
# 576| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 576| getArgument(0): [Argument] arg: OpenExistentialExpr
|
|
# 576| getExpr(): [OpenExistentialExpr] OpenExistentialExpr
|
|
# 576| getSubExpr(): [CallExpr] call to source()
|
|
# 576| getFunction(): [MethodLookupExpr] .source()
|
|
# 576| getBase(): [OpaqueValueExpr] OpaqueValueExpr
|
|
# 576| getMethodRef(): [DeclRefExpr] source()
|
|
# 576| getExistential(): [CallExpr] call to getMyProtocol()
|
|
# 576| getFunction(): [DeclRefExpr] getMyProtocol()
|
|
# 577| getElement(3): [CallExpr] call to sink(arg:)
|
|
# 577| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 577| getArgument(0): [Argument] arg: call to source()
|
|
# 577| getExpr(): [CallExpr] call to source()
|
|
# 577| getFunction(): [MethodLookupExpr] .source()
|
|
# 577| getBase(): [CallExpr] call to getMyProtocolImpl()
|
|
# 577| getFunction(): [DeclRefExpr] getMyProtocolImpl()
|
|
# 577| getMethodRef(): [DeclRefExpr] source()
|
|
# 580| [NamedFunction] singleStmtExpr(_:)
|
|
# 580| InterfaceType = (Int) -> ()
|
|
# 580| getParam(0): [ParamDecl] x
|
|
# 580| Type = Int
|
|
# 580| getBody(): [BraceStmt] { ... }
|
|
# 581| getVariable(0): [ConcreteVarDecl] a
|
|
# 581| Type = Int
|
|
# 585| getVariable(1): [ConcreteVarDecl] b
|
|
# 585| Type = Int
|
|
# 581| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 581| getInit(0): [SingleValueStmtExpr] SingleValueStmtExpr
|
|
# 581| getStmt(): [SwitchStmt] switch x { ... }
|
|
# 581| getExpr(): [DeclRefExpr] x
|
|
# 582| getCase(0): [CaseStmt] case ...
|
|
# 582| getLabel(0): [CaseLabelItem] =~ ...
|
|
# 582| getPattern(): [ExprPattern] =~ ...
|
|
# 582| getSubExpr(): [BinaryExpr] ... .~=(_:_:) ...
|
|
# 582| getFunction(): [MethodLookupExpr] .~=(_:_:)
|
|
# 582| getBase(): [TypeExpr] Range<Int>.Type
|
|
# 582| getTypeRepr(): [TypeRepr] Range<Int>
|
|
# 582| getMethodRef(): [DeclRefExpr] ~=(_:_:)
|
|
# 582| getArgument(0): [Argument] : ... ...<(_:_:) ...
|
|
# 582| getExpr(): [BinaryExpr] ... ...<(_:_:) ...
|
|
# 582| getFunction(): [MethodLookupExpr] ...<(_:_:)
|
|
# 582| getBase(): [TypeExpr] Int.Type
|
|
# 582| getTypeRepr(): [TypeRepr] Int
|
|
# 582| getMethodRef(): [DeclRefExpr] ..<(_:_:)
|
|
# 582| getArgument(0): [Argument] : 0
|
|
# 582| getExpr(): [IntegerLiteralExpr] 0
|
|
# 582| getArgument(1): [Argument] : 5
|
|
# 582| getExpr(): [IntegerLiteralExpr] 5
|
|
# 582| getArgument(1): [Argument] : $match
|
|
# 582| getExpr(): [DeclRefExpr] $match
|
|
# 582| getBody(): [BraceStmt] { ... }
|
|
# 582| getElement(0): [ThenStmt] ThenStmt
|
|
# 582| getResult(): [IntegerLiteralExpr] 1
|
|
# 583| getCase(1): [CaseStmt] case ...
|
|
# 583| getLabel(0): [CaseLabelItem] _
|
|
# 583| getPattern(): [AnyPattern] _
|
|
# 583| getBody(): [BraceStmt] { ... }
|
|
# 583| getElement(0): [ThenStmt] ThenStmt
|
|
# 583| getResult(): [IntegerLiteralExpr] 2
|
|
# 581| getPattern(0): [NamedPattern] a
|
|
# 585| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 585| getInit(0): [SingleValueStmtExpr] SingleValueStmtExpr
|
|
# 585| getStmt(): [IfStmt] if ... then { ... } else { ... }
|
|
# 585| getCondition(): [StmtCondition] StmtCondition
|
|
# 585| getElement(0): [ConditionElement] ... .<(_:_:) ...
|
|
# 585| getBoolean(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 585| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 585| getBase(): [TypeExpr] Int.Type
|
|
# 585| getTypeRepr(): [TypeRepr] Int
|
|
# 585| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 585| getArgument(0): [Argument] : x
|
|
# 585| getExpr(): [DeclRefExpr] x
|
|
# 585| getArgument(1): [Argument] : 42
|
|
# 585| getExpr(): [IntegerLiteralExpr] 42
|
|
# 585| getBoolean().getFullyConverted(): [ParenExpr] (...)
|
|
# 585| getThen(): [BraceStmt] { ... }
|
|
# 585| getElement(0): [ThenStmt] ThenStmt
|
|
# 585| getResult(): [IntegerLiteralExpr] 1
|
|
# 585| getElse(): [BraceStmt] { ... }
|
|
# 585| getElement(0): [ThenStmt] ThenStmt
|
|
# 585| getResult(): [IntegerLiteralExpr] 2
|
|
# 585| getPattern(0): [NamedPattern] b
|
|
# 582| [ConcreteVarDecl] $match
|
|
# 582| Type = Int
|
|
# 587| [Comment] // ---
|
|
# 587|
|
|
declarations.swift:
|
|
# 1| [StructDecl] Foo
|
|
# 2| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 2| getInit(0): [IntegerLiteralExpr] 11
|
|
# 2| getPattern(0): [NamedPattern] x
|
|
# 2| getMember(1): [ConcreteVarDecl] x
|
|
# 2| Type = Int
|
|
# 2| getAccessor(0): [Accessor] get
|
|
# 2| InterfaceType = (Foo) -> () -> Int
|
|
# 2| getSelfParam(): [ParamDecl] self
|
|
# 2| Type = Foo
|
|
# 2| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 2| getAccessor(1): [Accessor] set
|
|
# 2| InterfaceType = (inout Foo) -> (Int) -> ()
|
|
# 2| getSelfParam(): [ParamDecl] self
|
|
# 2| Type = Foo
|
|
# 2| getParam(0): [ParamDecl] value
|
|
# 2| Type = Int
|
|
# 2| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 2| getAccessor(2): [Accessor] _modify
|
|
# 2| InterfaceType = (inout Foo) -> () -> ()
|
|
# 2| getSelfParam(): [ParamDecl] self
|
|
# 2| Type = Foo
|
|
# 2| getBody(): [BraceStmt] { ... }
|
|
# 2| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 3| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 3| getPattern(0): [TypedPattern] ... as ...
|
|
# 3| getSubPattern(): [NamedPattern] next
|
|
# 3| getTypeRepr(): [TypeRepr] Int
|
|
# 3| getMember(3): [ConcreteVarDecl] next
|
|
# 3| Type = Int
|
|
# 4| getAccessor(0): [Accessor] get
|
|
# 4| InterfaceType = (Foo) -> () -> Int
|
|
# 4| getSelfParam(): [ParamDecl] self
|
|
# 4| Type = Foo
|
|
# 4| getBody(): [BraceStmt] { ... }
|
|
# 4| getElement(0): [ReturnStmt] return ...
|
|
# 4| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 4| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 4| getBase(): [TypeExpr] Int.Type
|
|
# 4| getTypeRepr(): [TypeRepr] Int
|
|
# 4| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 4| getArgument(0): [Argument] : .x
|
|
# 4| getExpr(): [MemberRefExpr] .x
|
|
# 4| getBase(): [DeclRefExpr] self
|
|
# 4| getArgument(1): [Argument] : 1
|
|
# 4| getExpr(): [IntegerLiteralExpr] 1
|
|
# 5| getAccessor(1): [Accessor] set
|
|
# 5| InterfaceType = (inout Foo) -> (Int) -> ()
|
|
# 5| getSelfParam(): [ParamDecl] self
|
|
# 5| Type = Foo
|
|
# 5| getParam(0): [ParamDecl] newValue
|
|
# 5| Type = Int
|
|
# 5| getBody(): [BraceStmt] { ... }
|
|
# 5| getElement(0): [AssignExpr] ... = ...
|
|
# 5| getDest(): [MemberRefExpr] .x
|
|
# 5| getBase(): [DeclRefExpr] self
|
|
# 5| getSource(): [BinaryExpr] ... .-(_:_:) ...
|
|
# 5| getFunction(): [MethodLookupExpr] .-(_:_:)
|
|
# 5| getBase(): [TypeExpr] Int.Type
|
|
# 5| getTypeRepr(): [TypeRepr] Int
|
|
# 5| getMethodRef(): [DeclRefExpr] -(_:_:)
|
|
# 5| getArgument(0): [Argument] : newValue
|
|
# 5| getExpr(): [DeclRefExpr] newValue
|
|
# 5| getArgument(1): [Argument] : 1
|
|
# 5| getExpr(): [IntegerLiteralExpr] 1
|
|
# 3| getAccessor(2): [Accessor] _modify
|
|
# 3| InterfaceType = (inout Foo) -> () -> ()
|
|
# 3| getSelfParam(): [ParamDecl] self
|
|
# 3| Type = Foo
|
|
# 3| getBody(): [BraceStmt] { ... }
|
|
# 3| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .next
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 1| getMember(4): [Initializer] Foo.init(x:)
|
|
# 1| InterfaceType = (Foo.Type) -> (Int) -> Foo
|
|
# 1| getSelfParam(): [ParamDecl] self
|
|
# 1| Type = Foo
|
|
# 1| getParam(0): [ParamDecl] x
|
|
# 1| Type = Int
|
|
# 1| getMember(5): [Initializer] Foo.init()
|
|
# 1| InterfaceType = (Foo.Type) -> () -> Foo
|
|
# 1| getSelfParam(): [ParamDecl] self
|
|
# 1| Type = Foo
|
|
# 1| getBody(): [BraceStmt] { ... }
|
|
# 1| getElement(0): [ReturnStmt] return
|
|
# 9| [ClassDecl] Bar
|
|
# 9| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 9| getInit(0): [FloatLiteralExpr] 1.3
|
|
# 9| getPattern(0): [TypedPattern] ... as ...
|
|
# 9| getSubPattern(): [NamedPattern] x
|
|
# 9| getTypeRepr(): [TypeRepr] Double
|
|
# 9| getMember(1): [ConcreteVarDecl] x
|
|
# 9| Type = Double
|
|
# 9| getAccessor(0): [Accessor] get
|
|
# 9| InterfaceType = (Bar) -> () -> Double
|
|
# 9| getSelfParam(): [ParamDecl] self
|
|
# 9| Type = Bar
|
|
# 9| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 9| getAccessor(1): [Accessor] set
|
|
# 9| InterfaceType = (Bar) -> (Double) -> ()
|
|
# 9| getSelfParam(): [ParamDecl] self
|
|
# 9| Type = Bar
|
|
# 9| getParam(0): [ParamDecl] value
|
|
# 9| Type = Double
|
|
# 9| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 9| getAccessor(2): [Accessor] _modify
|
|
# 9| InterfaceType = (Bar) -> () -> ()
|
|
# 9| getSelfParam(): [ParamDecl] self
|
|
# 9| Type = Bar
|
|
# 9| getBody(): [BraceStmt] { ... }
|
|
# 9| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 9| getMember(2): [Deinitializer] Bar.deinit()
|
|
# 9| InterfaceType = (Bar) -> () -> ()
|
|
# 9| getSelfParam(): [ParamDecl] self
|
|
# 9| Type = Bar
|
|
# 9| getBody(): [BraceStmt] { ... }
|
|
# 9| getMember(3): [Initializer] Bar.init()
|
|
# 9| InterfaceType = (Bar.Type) -> () -> Bar
|
|
# 9| getSelfParam(): [ParamDecl] self
|
|
# 9| Type = Bar
|
|
# 9| getBody(): [BraceStmt] { ... }
|
|
# 9| getElement(0): [ReturnStmt] return
|
|
# 11| [EnumDecl] EnumValues
|
|
# 12| getMember(0): [EnumCaseDecl] case ...
|
|
# 12| getMember(1): [EnumElementDecl] value1
|
|
# 12| getMember(2): [EnumElementDecl] value2
|
|
# 13| getMember(3): [EnumCaseDecl] case ...
|
|
# 13| getMember(4): [EnumElementDecl] value3
|
|
# 13| getMember(5): [EnumElementDecl] value4
|
|
# 13| getMember(6): [EnumElementDecl] value5
|
|
#-----| getMember(7): [NamedFunction] __derived_enum_equals(_:_:)
|
|
#-----| InterfaceType = (EnumValues.Type) -> (EnumValues, EnumValues) -> Bool
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = EnumValues.Type
|
|
#-----| getParam(0): [ParamDecl] a
|
|
#-----| Type = EnumValues
|
|
#-----| getParam(1): [ParamDecl] b
|
|
#-----| Type = EnumValues
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_a
|
|
#-----| getElement(1): [SwitchStmt] switch a { ... }
|
|
#-----| getExpr(): [DeclRefExpr] a
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value1
|
|
#-----| getPattern(): [EnumElementPattern] .value1
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getCase(1): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value2
|
|
#-----| getPattern(): [EnumElementPattern] .value2
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 1
|
|
#-----| getCase(2): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value3
|
|
#-----| getPattern(): [EnumElementPattern] .value3
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 2
|
|
#-----| getCase(3): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value4
|
|
#-----| getPattern(): [EnumElementPattern] .value4
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 3
|
|
#-----| getCase(4): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value5
|
|
#-----| getPattern(): [EnumElementPattern] .value5
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 4
|
|
#-----| getElement(2): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_b
|
|
#-----| getElement(3): [SwitchStmt] switch b { ... }
|
|
#-----| getExpr(): [DeclRefExpr] b
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value1
|
|
#-----| getPattern(): [EnumElementPattern] .value1
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getCase(1): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value2
|
|
#-----| getPattern(): [EnumElementPattern] .value2
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 1
|
|
#-----| getCase(2): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value3
|
|
#-----| getPattern(): [EnumElementPattern] .value3
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 2
|
|
#-----| getCase(3): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value4
|
|
#-----| getPattern(): [EnumElementPattern] .value4
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 3
|
|
#-----| getCase(4): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value5
|
|
#-----| getPattern(): [EnumElementPattern] .value5
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 4
|
|
#-----| getElement(4): [ReturnStmt] return ...
|
|
#-----| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
#-----| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
#-----| getBase(): [TypeExpr] Int.Type
|
|
#-----| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
#-----| getArgument(0): [Argument] : index_a
|
|
#-----| getExpr(): [DeclRefExpr] index_a
|
|
#-----| getArgument(1): [Argument] : index_b
|
|
#-----| getExpr(): [DeclRefExpr] index_b
|
|
#-----| getMember(8): [ConcreteVarDecl] hashValue
|
|
#-----| Type = Int
|
|
#-----| getAccessor(0): [Accessor] get
|
|
#-----| InterfaceType = (EnumValues) -> () -> Int
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = EnumValues
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [CallExpr] call to _hashValue(for:)
|
|
#-----| getFunction(): [DeclRefExpr] _hashValue(for:)
|
|
#-----| getArgument(0): [Argument] for: self
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getMember(9): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] hashValue
|
|
#-----| getMember(10): [NamedFunction] hash(into:)
|
|
#-----| InterfaceType = (EnumValues) -> (inout Hasher) -> ()
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = EnumValues
|
|
#-----| getParam(0): [ParamDecl] hasher
|
|
#-----| Type = Hasher
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] discriminator
|
|
#-----| getElement(1): [SwitchStmt] switch self { ... }
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value1
|
|
#-----| getPattern(): [EnumElementPattern] .value1
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getCase(1): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value2
|
|
#-----| getPattern(): [EnumElementPattern] .value2
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 1
|
|
#-----| getCase(2): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value3
|
|
#-----| getPattern(): [EnumElementPattern] .value3
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 2
|
|
#-----| getCase(3): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value4
|
|
#-----| getPattern(): [EnumElementPattern] .value4
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 3
|
|
#-----| getCase(4): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .value5
|
|
#-----| getPattern(): [EnumElementPattern] .value5
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 4
|
|
#-----| getElement(2): [CallExpr] call to combine(_:)
|
|
#-----| getFunction(): [MethodLookupExpr] .combine(_:)
|
|
#-----| getBase(): [DeclRefExpr] hasher
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] combine(_:)
|
|
#-----| getArgument(0): [Argument] : discriminator
|
|
#-----| getExpr(): [DeclRefExpr] discriminator
|
|
#-----| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 16| [EnumDecl] EnumWithParams
|
|
# 17| getMember(0): [EnumCaseDecl] case ...
|
|
# 17| getMember(1): [EnumElementDecl] nodata1
|
|
# 17| getParam(0): [ParamDecl] _
|
|
# 17| Type = Void
|
|
# 18| getMember(2): [EnumCaseDecl] case ...
|
|
# 18| getMember(3): [EnumElementDecl] intdata
|
|
# 18| getParam(0): [ParamDecl] _
|
|
# 18| Type = Int
|
|
# 19| getMember(4): [EnumCaseDecl] case ...
|
|
# 19| getMember(5): [EnumElementDecl] tuple
|
|
# 19| getParam(0): [ParamDecl] _
|
|
# 19| Type = Int
|
|
# 19| getParam(1): [ParamDecl] _
|
|
# 19| Type = String
|
|
# 19| getParam(2): [ParamDecl] _
|
|
# 19| Type = Double
|
|
# 22| [ProtocolDecl] MyProtocol
|
|
#-----| getGenericTypeParam(0): [GenericTypeParamDecl] Self
|
|
# 23| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 23| getPattern(0): [TypedPattern] ... as ...
|
|
# 23| getSubPattern(): [NamedPattern] mustBeSettable
|
|
# 23| getTypeRepr(): [TypeRepr] Int
|
|
# 23| getMember(1): [ConcreteVarDecl] mustBeSettable
|
|
# 23| Type = Int
|
|
# 23| getAccessor(0): [Accessor] get
|
|
# 23| InterfaceType = <Self where Self : MyProtocol> (Self) -> () -> Int
|
|
# 23| getSelfParam(): [ParamDecl] self
|
|
# 23| Type = Self
|
|
# 23| getAccessor(1): [Accessor] set
|
|
# 23| InterfaceType = <Self where Self : MyProtocol> (inout Self) -> (Int) -> ()
|
|
# 23| getSelfParam(): [ParamDecl] self
|
|
# 23| Type = Self
|
|
# 23| getParam(0): [ParamDecl] newValue
|
|
# 23| Type = Int
|
|
# 23| getAccessor(2): [Accessor] _modify
|
|
# 23| InterfaceType = <Self where Self : MyProtocol> (inout Self) -> () -> ()
|
|
# 23| getSelfParam(): [ParamDecl] self
|
|
# 23| Type = Self
|
|
# 24| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 24| getPattern(0): [TypedPattern] ... as ...
|
|
# 24| getSubPattern(): [NamedPattern] doesNotNeedToBeSettable
|
|
# 24| getTypeRepr(): [TypeRepr] Int
|
|
# 24| getMember(3): [ConcreteVarDecl] doesNotNeedToBeSettable
|
|
# 24| Type = Int
|
|
# 24| getAccessor(0): [Accessor] get
|
|
# 24| InterfaceType = <Self where Self : MyProtocol> (Self) -> () -> Int
|
|
# 24| getSelfParam(): [ParamDecl] self
|
|
# 24| Type = Self
|
|
# 25| getMember(4): [NamedFunction] random()
|
|
# 25| InterfaceType = <Self where Self : MyProtocol> (Self) -> () -> Double
|
|
# 25| getSelfParam(): [ParamDecl] self
|
|
# 25| Type = Self
|
|
# 28| [NamedFunction] a_function(a_parameter:)
|
|
# 28| InterfaceType = (Int) -> ()
|
|
# 28| getParam(0): [ParamDecl] a_parameter
|
|
# 28| Type = Int
|
|
# 28| getBody(): [BraceStmt] { ... }
|
|
# 30| [TopLevelCodeDecl] { ... }
|
|
# 30| getBody(): [BraceStmt] { ... }
|
|
# 30| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 30| getInit(0): [IntegerLiteralExpr] 42
|
|
# 30| getPattern(0): [NamedPattern] a_variable
|
|
# 30| [ConcreteVarDecl] a_variable
|
|
# 30| Type = Int
|
|
# 31| [TopLevelCodeDecl] { ... }
|
|
# 31| getBody(): [BraceStmt] { ... }
|
|
# 31| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 31| getPattern(0): [TypedPattern] ... as ...
|
|
# 31| getSubPattern(): [NamedPattern] a_property
|
|
# 31| getTypeRepr(): [TypeRepr] String
|
|
# 31| [ConcreteVarDecl] a_property
|
|
# 31| Type = String
|
|
# 32| getAccessor(0): [Accessor] get
|
|
# 32| InterfaceType = () -> String
|
|
# 32| getBody(): [BraceStmt] { ... }
|
|
# 33| getElement(0): [ReturnStmt] return ...
|
|
# 33| getResult(): [StringLiteralExpr] here
|
|
# 35| getAccessor(1): [Accessor] set
|
|
# 35| InterfaceType = (String) -> ()
|
|
# 35| getParam(0): [ParamDecl] newValue
|
|
# 35| Type = String
|
|
# 35| getBody(): [BraceStmt] { ... }
|
|
# 38| [TopLevelCodeDecl] { ... }
|
|
# 38| getBody(): [BraceStmt] { ... }
|
|
# 38| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 38| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 38| getArgument(0): [Argument] : [...]
|
|
# 38| getExpr(): [VarargExpansionExpr] [...]
|
|
# 38| getSubExpr(): [ArrayExpr] [...]
|
|
# 38| getElement(0): [StringLiteralExpr] some top level statement
|
|
# 38| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 38| getArgument(1): [Argument] separator: default separator
|
|
# 38| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 38| getArgument(2): [Argument] terminator: default terminator
|
|
# 38| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 40| [ClassDecl] Baz
|
|
# 41| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 41| getPattern(0): [TypedPattern] ... as ...
|
|
# 41| getSubPattern(): [NamedPattern] field
|
|
# 41| getTypeRepr(): [TypeRepr] Int
|
|
# 41| getMember(1): [ConcreteVarDecl] field
|
|
# 41| Type = Int
|
|
# 41| getAccessor(0): [Accessor] get
|
|
# 41| InterfaceType = (Baz) -> () -> Int
|
|
# 41| getSelfParam(): [ParamDecl] self
|
|
# 41| Type = Baz
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .field
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 41| getAccessor(1): [Accessor] set
|
|
# 41| InterfaceType = (Baz) -> (Int) -> ()
|
|
# 41| getSelfParam(): [ParamDecl] self
|
|
# 41| Type = Baz
|
|
# 41| getParam(0): [ParamDecl] value
|
|
# 41| Type = Int
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .field
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 41| getAccessor(2): [Accessor] _modify
|
|
# 41| InterfaceType = (Baz) -> () -> ()
|
|
# 41| getSelfParam(): [ParamDecl] self
|
|
# 41| Type = Baz
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
# 41| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .field
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 42| getMember(2): [Initializer] Baz.init()
|
|
# 42| InterfaceType = (Baz.Type) -> () -> Baz
|
|
# 42| getSelfParam(): [ParamDecl] self
|
|
# 42| Type = Baz
|
|
# 42| getBody(): [BraceStmt] { ... }
|
|
# 43| getElement(0): [AssignExpr] ... = ...
|
|
# 43| getDest(): [MemberRefExpr] .field
|
|
# 43| getBase(): [DeclRefExpr] self
|
|
# 43| getSource(): [IntegerLiteralExpr] 10
|
|
# 44| getElement(1): [ReturnStmt] return
|
|
# 46| getMember(3): [Deinitializer] Baz.deinit()
|
|
# 46| InterfaceType = (Baz) -> () -> ()
|
|
# 46| getSelfParam(): [ParamDecl] self
|
|
# 46| Type = Baz
|
|
# 46| getBody(): [BraceStmt] { ... }
|
|
# 47| getElement(0): [AssignExpr] ... = ...
|
|
# 47| getDest(): [MemberRefExpr] .field
|
|
# 47| getBase(): [DeclRefExpr] self
|
|
# 47| getSource(): [IntegerLiteralExpr] 0
|
|
# 50| getMember(4): [NamedFunction] +-(_:)
|
|
# 50| InterfaceType = (Baz.Type) -> (Baz) -> Baz
|
|
# 50| getSelfParam(): [ParamDecl] self
|
|
# 50| Type = Baz.Type
|
|
# 50| getParam(0): [ParamDecl] other
|
|
# 50| Type = Baz
|
|
# 50| getBody(): [BraceStmt] { ... }
|
|
# 51| getElement(0): [ReturnStmt] return ...
|
|
# 51| getResult(): [DeclRefExpr] other
|
|
# 55| [PrefixOperatorDecl] +-
|
|
# 57| [PrecedenceGroupDecl] precedencegroup ...
|
|
# 64| [InfixOperatorDecl] +++
|
|
# 66| [InfixOperatorDecl] ***
|
|
# 68| [StructDecl] ZeroWrapper
|
|
# 69| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 69| getPattern(0): [TypedPattern] ... as ...
|
|
# 69| getSubPattern(): [NamedPattern] wrappedValue
|
|
# 69| getTypeRepr(): [TypeRepr] Int
|
|
# 69| getMember(1): [ConcreteVarDecl] wrappedValue
|
|
# 69| Type = Int
|
|
# 70| getAccessor(0): [Accessor] get
|
|
# 70| InterfaceType = (ZeroWrapper) -> () -> Int
|
|
# 70| getSelfParam(): [ParamDecl] self
|
|
# 70| Type = ZeroWrapper
|
|
# 70| getBody(): [BraceStmt] { ... }
|
|
# 71| getElement(0): [ReturnStmt] return ...
|
|
# 71| getResult(): [IntegerLiteralExpr] 0
|
|
# 68| getMember(2): [Initializer] ZeroWrapper.init()
|
|
# 68| InterfaceType = (ZeroWrapper.Type) -> () -> ZeroWrapper
|
|
# 68| getSelfParam(): [ParamDecl] self
|
|
# 68| Type = ZeroWrapper
|
|
# 68| getBody(): [BraceStmt] { ... }
|
|
# 68| getElement(0): [ReturnStmt] return
|
|
# 76| [NamedFunction] foo()
|
|
# 76| InterfaceType = () -> Int
|
|
# 76| getBody(): [BraceStmt] { ... }
|
|
# 77| getVariable(0): [ConcreteVarDecl] x
|
|
# 77| Type = Int
|
|
# 77| getAccessor(0): [Accessor] get
|
|
# 77| InterfaceType = () -> Int
|
|
# 77| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .wrappedValue
|
|
#-----| getBase(): [DeclRefExpr] _x
|
|
#-----| getCapture(0): [CapturedDecl] _x
|
|
#-----| getPropertyWrapperBackingVarBinding(): [PatternBindingDecl] var ... = ...
|
|
# 77| getInit(0): [CallExpr] call to ZeroWrapper.init()
|
|
# 77| getFunction(): [MethodLookupExpr] ZeroWrapper.init()
|
|
# 77| getBase(): [TypeExpr] ZeroWrapper.Type
|
|
# 77| getTypeRepr(): [TypeRepr] ZeroWrapper
|
|
# 77| getMethodRef(): [DeclRefExpr] ZeroWrapper.init()
|
|
# 77| getPattern(0): [TypedPattern] ... as ...
|
|
# 77| getSubPattern(): [NamedPattern] _x
|
|
# 77| getPropertyWrapperBackingVar(): [ConcreteVarDecl] _x
|
|
# 77| Type = ZeroWrapper
|
|
# 77| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 77| getPattern(0): [TypedPattern] ... as ...
|
|
# 77| getSubPattern(): [NamedPattern] x
|
|
# 77| getTypeRepr(): [TypeRepr] Int
|
|
# 78| getElement(1): [ReturnStmt] return ...
|
|
# 78| getResult(): [DeclRefExpr] x
|
|
# 81| [StructDecl] HasPropertyAndObserver
|
|
# 82| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 82| getPattern(0): [TypedPattern] ... as ...
|
|
# 82| getSubPattern(): [NamedPattern] settableField
|
|
# 82| getTypeRepr(): [TypeRepr] Int
|
|
# 82| getMember(1): [ConcreteVarDecl] settableField
|
|
# 82| Type = Int
|
|
# 83| getAccessor(0): [Accessor] set
|
|
# 83| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 83| getSelfParam(): [ParamDecl] self
|
|
# 83| Type = HasPropertyAndObserver
|
|
# 83| getParam(0): [ParamDecl] newValue
|
|
# 83| Type = Int
|
|
# 83| getBody(): [BraceStmt] { ... }
|
|
# 84| getAccessor(1): [Accessor] get
|
|
# 84| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 84| getSelfParam(): [ParamDecl] self
|
|
# 84| Type = HasPropertyAndObserver
|
|
# 84| getBody(): [BraceStmt] { ... }
|
|
# 85| getElement(0): [ReturnStmt] return ...
|
|
# 85| getResult(): [IntegerLiteralExpr] 0
|
|
# 82| getAccessor(2): [Accessor] _modify
|
|
# 82| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 82| getSelfParam(): [ParamDecl] self
|
|
# 82| Type = HasPropertyAndObserver
|
|
# 82| getBody(): [BraceStmt] { ... }
|
|
# 82| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .settableField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 91| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 91| getPattern(0): [TypedPattern] ... as ...
|
|
# 91| getSubPattern(): [NamedPattern] readOnlyField1
|
|
# 91| getTypeRepr(): [TypeRepr] Int
|
|
# 91| getMember(3): [ConcreteVarDecl] readOnlyField1
|
|
# 91| Type = Int
|
|
# 91| getAccessor(0): [Accessor] get
|
|
# 91| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 91| getSelfParam(): [ParamDecl] self
|
|
# 91| Type = HasPropertyAndObserver
|
|
# 91| getBody(): [BraceStmt] { ... }
|
|
# 92| getElement(0): [ReturnStmt] return ...
|
|
# 92| getResult(): [IntegerLiteralExpr] 0
|
|
# 96| getMember(4): [PatternBindingDecl] var ... = ...
|
|
# 96| getPattern(0): [TypedPattern] ... as ...
|
|
# 96| getSubPattern(): [NamedPattern] readOnlyField2
|
|
# 96| getTypeRepr(): [TypeRepr] Int
|
|
# 96| getMember(5): [ConcreteVarDecl] readOnlyField2
|
|
# 96| Type = Int
|
|
# 97| getAccessor(0): [Accessor] get
|
|
# 97| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 97| getSelfParam(): [ParamDecl] self
|
|
# 97| Type = HasPropertyAndObserver
|
|
# 97| getBody(): [BraceStmt] { ... }
|
|
# 98| getElement(0): [ReturnStmt] return ...
|
|
# 98| getResult(): [IntegerLiteralExpr] 0
|
|
# 102| getMember(6): [PatternBindingDecl] var ... = ...
|
|
# 102| getPattern(0): [TypedPattern] ... as ...
|
|
# 102| getSubPattern(): [NamedPattern] normalField
|
|
# 102| getTypeRepr(): [TypeRepr] Int
|
|
# 102| getMember(7): [ConcreteVarDecl] normalField
|
|
# 102| Type = Int
|
|
# 102| getAccessor(0): [Accessor] get
|
|
# 102| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 102| getSelfParam(): [ParamDecl] self
|
|
# 102| Type = HasPropertyAndObserver
|
|
# 102| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .normalField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 102| getAccessor(1): [Accessor] set
|
|
# 102| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 102| getSelfParam(): [ParamDecl] self
|
|
# 102| Type = HasPropertyAndObserver
|
|
# 102| getParam(0): [ParamDecl] value
|
|
# 102| Type = Int
|
|
# 102| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .normalField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 102| getAccessor(2): [Accessor] _modify
|
|
# 102| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 102| getSelfParam(): [ParamDecl] self
|
|
# 102| Type = HasPropertyAndObserver
|
|
# 102| getBody(): [BraceStmt] { ... }
|
|
# 102| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .normalField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 104| getMember(8): [SubscriptDecl] subscript ...
|
|
# 105| getAccessor(0): [Accessor] get
|
|
# 105| InterfaceType = (HasPropertyAndObserver) -> (Int) -> Int
|
|
# 105| getSelfParam(): [ParamDecl] self
|
|
# 105| Type = HasPropertyAndObserver
|
|
# 104| getParam(0): [ParamDecl] x
|
|
# 104| Type = Int
|
|
# 105| getBody(): [BraceStmt] { ... }
|
|
# 106| getElement(0): [ReturnStmt] return ...
|
|
# 106| getResult(): [IntegerLiteralExpr] 0
|
|
# 108| getAccessor(1): [Accessor] set
|
|
# 108| InterfaceType = (inout HasPropertyAndObserver) -> (Int, Int) -> ()
|
|
# 108| getSelfParam(): [ParamDecl] self
|
|
# 108| Type = HasPropertyAndObserver
|
|
# 108| getParam(0): [ParamDecl] newValue
|
|
# 108| Type = Int
|
|
# 104| getParam(1): [ParamDecl] x
|
|
# 104| Type = Int
|
|
# 108| getBody(): [BraceStmt] { ... }
|
|
# 104| getAccessor(2): [Accessor] _modify
|
|
# 104| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 104| getSelfParam(): [ParamDecl] self
|
|
# 104| Type = HasPropertyAndObserver
|
|
#-----| getParam(0): [ParamDecl] x
|
|
#-----| Type = Int
|
|
# 104| getBody(): [BraceStmt] { ... }
|
|
# 104| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [SubscriptExpr] ...[...]
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getArgument(0): [Argument] : x
|
|
#-----| getExpr(): [DeclRefExpr] x
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 104| getParam(0): [ParamDecl] x
|
|
# 104| Type = Int
|
|
# 111| getMember(9): [SubscriptDecl] subscript ...
|
|
# 111| getAccessor(0): [Accessor] get
|
|
# 111| InterfaceType = (HasPropertyAndObserver) -> (Int, Int) -> Int
|
|
# 111| getSelfParam(): [ParamDecl] self
|
|
# 111| Type = HasPropertyAndObserver
|
|
# 111| getParam(0): [ParamDecl] x
|
|
# 111| Type = Int
|
|
# 111| getParam(1): [ParamDecl] y
|
|
# 111| Type = Int
|
|
# 111| getBody(): [BraceStmt] { ... }
|
|
# 112| getElement(0): [ReturnStmt] return ...
|
|
# 112| getResult(): [IntegerLiteralExpr] 0
|
|
# 111| getParam(0): [ParamDecl] x
|
|
# 111| Type = Int
|
|
# 111| getParam(1): [ParamDecl] y
|
|
# 111| Type = Int
|
|
# 115| getMember(10): [PatternBindingDecl] var ... = ...
|
|
# 115| getPattern(0): [TypedPattern] ... as ...
|
|
# 115| getSubPattern(): [NamedPattern] hasWillSet1
|
|
# 115| getTypeRepr(): [TypeRepr] Int
|
|
# 115| getMember(11): [ConcreteVarDecl] hasWillSet1
|
|
# 115| Type = Int
|
|
# 116| getAccessor(0): [Accessor] willSet
|
|
# 116| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 116| getSelfParam(): [ParamDecl] self
|
|
# 116| Type = HasPropertyAndObserver
|
|
# 116| getParam(0): [ParamDecl] newValue
|
|
# 116| Type = Int
|
|
# 116| getBody(): [BraceStmt] { ... }
|
|
# 115| getAccessor(1): [Accessor] get
|
|
# 115| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 115| getSelfParam(): [ParamDecl] self
|
|
# 115| Type = HasPropertyAndObserver
|
|
# 115| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .hasWillSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 115| getAccessor(2): [Accessor] set
|
|
# 115| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 115| getSelfParam(): [ParamDecl] self
|
|
# 115| Type = HasPropertyAndObserver
|
|
# 115| getParam(0): [ParamDecl] value
|
|
# 115| Type = Int
|
|
# 115| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [CallExpr] call to willSet
|
|
#-----| getFunction(): [MethodLookupExpr] .willSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] willSet
|
|
#-----| getArgument(0): [Argument] : value
|
|
#-----| getExpr(): [DeclRefExpr] value
|
|
#-----| getElement(1): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .hasWillSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 115| getAccessor(3): [Accessor] _modify
|
|
# 115| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 115| getSelfParam(): [ParamDecl] self
|
|
# 115| Type = HasPropertyAndObserver
|
|
# 115| getBody(): [BraceStmt] { ... }
|
|
# 115| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .hasWillSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 119| getMember(12): [PatternBindingDecl] var ... = ...
|
|
# 119| getPattern(0): [TypedPattern] ... as ...
|
|
# 119| getSubPattern(): [NamedPattern] hasWillSet2
|
|
# 119| getTypeRepr(): [TypeRepr] Int
|
|
# 119| getMember(13): [ConcreteVarDecl] hasWillSet2
|
|
# 119| Type = Int
|
|
# 120| getAccessor(0): [Accessor] willSet
|
|
# 120| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 120| getSelfParam(): [ParamDecl] self
|
|
# 120| Type = HasPropertyAndObserver
|
|
# 120| getParam(0): [ParamDecl] newValue
|
|
# 120| Type = Int
|
|
# 120| getBody(): [BraceStmt] { ... }
|
|
# 119| getAccessor(1): [Accessor] get
|
|
# 119| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 119| getSelfParam(): [ParamDecl] self
|
|
# 119| Type = HasPropertyAndObserver
|
|
# 119| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .hasWillSet2
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 119| getAccessor(2): [Accessor] set
|
|
# 119| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 119| getSelfParam(): [ParamDecl] self
|
|
# 119| Type = HasPropertyAndObserver
|
|
# 119| getParam(0): [ParamDecl] value
|
|
# 119| Type = Int
|
|
# 119| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [CallExpr] call to willSet
|
|
#-----| getFunction(): [MethodLookupExpr] .willSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] willSet
|
|
#-----| getArgument(0): [Argument] : value
|
|
#-----| getExpr(): [DeclRefExpr] value
|
|
#-----| getElement(1): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .hasWillSet2
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 119| getAccessor(3): [Accessor] _modify
|
|
# 119| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 119| getSelfParam(): [ParamDecl] self
|
|
# 119| Type = HasPropertyAndObserver
|
|
# 119| getBody(): [BraceStmt] { ... }
|
|
# 119| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .hasWillSet2
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 123| getMember(14): [PatternBindingDecl] var ... = ...
|
|
# 123| getPattern(0): [TypedPattern] ... as ...
|
|
# 123| getSubPattern(): [NamedPattern] hasDidSet1
|
|
# 123| getTypeRepr(): [TypeRepr] Int
|
|
# 123| getMember(15): [ConcreteVarDecl] hasDidSet1
|
|
# 123| Type = Int
|
|
# 124| getAccessor(0): [Accessor] didSet
|
|
# 124| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 124| getSelfParam(): [ParamDecl] self
|
|
# 124| Type = HasPropertyAndObserver
|
|
# 124| getParam(0): [ParamDecl] oldValue
|
|
# 124| Type = Int
|
|
# 124| getBody(): [BraceStmt] { ... }
|
|
# 123| getAccessor(1): [Accessor] get
|
|
# 123| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 123| getSelfParam(): [ParamDecl] self
|
|
# 123| Type = HasPropertyAndObserver
|
|
# 123| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .hasDidSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 123| getAccessor(2): [Accessor] set
|
|
# 123| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 123| getSelfParam(): [ParamDecl] self
|
|
# 123| Type = HasPropertyAndObserver
|
|
# 123| getParam(0): [ParamDecl] value
|
|
# 123| Type = Int
|
|
# 123| getBody(): [BraceStmt] { ... }
|
|
#-----| getVariable(0): [ConcreteVarDecl] tmp
|
|
#-----| Type = Int
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getInit(0): [MemberRefExpr] .hasDidSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getInit(0).getFullyConverted(): [LoadExpr] (Int) ...
|
|
#-----| getPattern(0): [NamedPattern] tmp
|
|
#-----| getElement(1): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .hasDidSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
#-----| getElement(2): [CallExpr] call to didSet
|
|
#-----| getFunction(): [MethodLookupExpr] .didSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] didSet
|
|
#-----| getArgument(0): [Argument] : tmp
|
|
#-----| getExpr(): [DeclRefExpr] tmp
|
|
# 123| getAccessor(3): [Accessor] _modify
|
|
# 123| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 123| getSelfParam(): [ParamDecl] self
|
|
# 123| Type = HasPropertyAndObserver
|
|
# 123| getBody(): [BraceStmt] { ... }
|
|
# 123| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .hasDidSet1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 127| getMember(16): [PatternBindingDecl] var ... = ...
|
|
# 127| getPattern(0): [TypedPattern] ... as ...
|
|
# 127| getSubPattern(): [NamedPattern] hasDidSet2
|
|
# 127| getTypeRepr(): [TypeRepr] Int
|
|
# 127| getMember(17): [ConcreteVarDecl] hasDidSet2
|
|
# 127| Type = Int
|
|
# 128| getAccessor(0): [Accessor] didSet
|
|
# 128| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 128| getSelfParam(): [ParamDecl] self
|
|
# 128| Type = HasPropertyAndObserver
|
|
# 128| getBody(): [BraceStmt] { ... }
|
|
# 127| getAccessor(1): [Accessor] get
|
|
# 127| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 127| getSelfParam(): [ParamDecl] self
|
|
# 127| Type = HasPropertyAndObserver
|
|
# 127| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .hasDidSet2
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 127| getAccessor(2): [Accessor] set
|
|
# 127| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 127| getSelfParam(): [ParamDecl] self
|
|
# 127| Type = HasPropertyAndObserver
|
|
# 127| getParam(0): [ParamDecl] value
|
|
# 127| Type = Int
|
|
# 127| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .hasDidSet2
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
#-----| getElement(1): [CallExpr] call to didSet
|
|
#-----| getFunction(): [MethodLookupExpr] .didSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] didSet
|
|
# 127| getAccessor(3): [Accessor] _modify
|
|
# 127| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 127| getSelfParam(): [ParamDecl] self
|
|
# 127| Type = HasPropertyAndObserver
|
|
# 127| getBody(): [BraceStmt] { ... }
|
|
# 127| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .hasDidSet2
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
#-----| getElement(1): [CallExpr] call to didSet
|
|
#-----| getFunction(): [MethodLookupExpr] .didSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] didSet
|
|
# 131| getMember(18): [PatternBindingDecl] var ... = ...
|
|
# 131| getPattern(0): [TypedPattern] ... as ...
|
|
# 131| getSubPattern(): [NamedPattern] hasBoth
|
|
# 131| getTypeRepr(): [TypeRepr] Int
|
|
# 131| getMember(19): [ConcreteVarDecl] hasBoth
|
|
# 131| Type = Int
|
|
# 132| getAccessor(0): [Accessor] willSet
|
|
# 132| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 132| getSelfParam(): [ParamDecl] self
|
|
# 132| Type = HasPropertyAndObserver
|
|
# 132| getParam(0): [ParamDecl] newValue
|
|
# 132| Type = Int
|
|
# 132| getBody(): [BraceStmt] { ... }
|
|
# 134| getAccessor(1): [Accessor] didSet
|
|
# 134| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 134| getSelfParam(): [ParamDecl] self
|
|
# 134| Type = HasPropertyAndObserver
|
|
# 134| getBody(): [BraceStmt] { ... }
|
|
# 131| getAccessor(2): [Accessor] get
|
|
# 131| InterfaceType = (HasPropertyAndObserver) -> () -> Int
|
|
# 131| getSelfParam(): [ParamDecl] self
|
|
# 131| Type = HasPropertyAndObserver
|
|
# 131| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .hasBoth
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 131| getAccessor(3): [Accessor] set
|
|
# 131| InterfaceType = (inout HasPropertyAndObserver) -> (Int) -> ()
|
|
# 131| getSelfParam(): [ParamDecl] self
|
|
# 131| Type = HasPropertyAndObserver
|
|
# 131| getParam(0): [ParamDecl] value
|
|
# 131| Type = Int
|
|
# 131| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [CallExpr] call to willSet
|
|
#-----| getFunction(): [MethodLookupExpr] .willSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] willSet
|
|
#-----| getArgument(0): [Argument] : value
|
|
#-----| getExpr(): [DeclRefExpr] value
|
|
#-----| getElement(1): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .hasBoth
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
#-----| getElement(2): [CallExpr] call to didSet
|
|
#-----| getFunction(): [MethodLookupExpr] .didSet
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] didSet
|
|
# 131| getAccessor(4): [Accessor] _modify
|
|
# 131| InterfaceType = (inout HasPropertyAndObserver) -> () -> ()
|
|
# 131| getSelfParam(): [ParamDecl] self
|
|
# 131| Type = HasPropertyAndObserver
|
|
# 131| getBody(): [BraceStmt] { ... }
|
|
# 131| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .hasBoth
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 81| getMember(20): [Initializer] HasPropertyAndObserver.init(normalField:hasWillSet1:hasWillSet2:hasDidSet1:hasDidSet2:hasBoth:)
|
|
# 81| InterfaceType = (HasPropertyAndObserver.Type) -> (Int, Int, Int, Int, Int, Int) -> HasPropertyAndObserver
|
|
# 81| getSelfParam(): [ParamDecl] self
|
|
# 81| Type = HasPropertyAndObserver
|
|
# 81| getParam(0): [ParamDecl] normalField
|
|
# 81| Type = Int
|
|
# 81| getParam(1): [ParamDecl] hasWillSet1
|
|
# 81| Type = Int
|
|
# 81| getParam(2): [ParamDecl] hasWillSet2
|
|
# 81| Type = Int
|
|
# 81| getParam(3): [ParamDecl] hasDidSet1
|
|
# 81| Type = Int
|
|
# 81| getParam(4): [ParamDecl] hasDidSet2
|
|
# 81| Type = Int
|
|
# 81| getParam(5): [ParamDecl] hasBoth
|
|
# 81| Type = Int
|
|
# 89| [Comment] // A field can be marked as read-only by dirctly implementing
|
|
# 89|
|
|
# 90| [Comment] // the getter between the braces.
|
|
# 90|
|
|
# 95| [Comment] // Or by adding an access declaration
|
|
# 95|
|
|
# 138| [ExtensionDecl] extension of Int
|
|
# 139| getMember(0): [NamedFunction] id()
|
|
# 139| InterfaceType = (Int) -> () -> Int
|
|
# 139| getSelfParam(): [ParamDecl] self
|
|
# 139| Type = Int
|
|
# 139| getBody(): [BraceStmt] { ... }
|
|
# 140| getElement(0): [ReturnStmt] return ...
|
|
# 140| getResult(): [DeclRefExpr] self
|
|
# 144| [TopLevelCodeDecl] { ... }
|
|
# 144| getBody(): [BraceStmt] { ... }
|
|
# 144| getElement(0): [CallExpr] call to id()
|
|
# 144| getFunction(): [MethodLookupExpr] .id()
|
|
# 144| getBase(): [IntegerLiteralExpr] 42
|
|
# 144| getMethodRef(): [DeclRefExpr] id()
|
|
# 146| [ClassDecl] GenericClass
|
|
# 146| getGenericTypeParam(0): [GenericTypeParamDecl] A
|
|
# 146| getGenericTypeParam(1): [GenericTypeParamDecl] B
|
|
# 146| getGenericTypeParam(2): [GenericTypeParamDecl] C
|
|
# 147| getMember(0): [NamedFunction] genericMethod(_:_:_:)
|
|
# 147| InterfaceType = <A, B, C where B : Baz, C : MyProtocol> (GenericClass<A, B, C>) -> (A, B, C) -> ()
|
|
# 147| getSelfParam(): [ParamDecl] self
|
|
# 147| Type = GenericClass<A, B, C>
|
|
# 147| getParam(0): [ParamDecl] _
|
|
# 147| Type = A
|
|
# 147| getParam(1): [ParamDecl] _
|
|
# 147| Type = B
|
|
# 147| getParam(2): [ParamDecl] _
|
|
# 147| Type = C
|
|
# 147| getBody(): [BraceStmt] { ... }
|
|
# 146| getMember(1): [Deinitializer] GenericClass<A, B, C>.deinit()
|
|
# 146| InterfaceType = <A, B, C where B : Baz, C : MyProtocol> (GenericClass<A, B, C>) -> () -> ()
|
|
# 146| getSelfParam(): [ParamDecl] self
|
|
# 146| Type = GenericClass<A, B, C>
|
|
# 146| getBody(): [BraceStmt] { ... }
|
|
# 146| getMember(2): [Initializer] GenericClass<A, B, C>.init()
|
|
# 146| InterfaceType = <A, B, C where B : Baz, C : MyProtocol> (GenericClass<A, B, C>.Type) -> () -> GenericClass<A, B, C>
|
|
# 146| getSelfParam(): [ParamDecl] self
|
|
# 146| Type = GenericClass<A, B, C>
|
|
# 146| getBody(): [BraceStmt] { ... }
|
|
# 146| getElement(0): [ReturnStmt] return
|
|
# 150| [NamedFunction] genericFunc(_:_:_:)
|
|
# 150| InterfaceType = <A, B, C where B : Baz, C : MyProtocol> (A, B, C) -> ()
|
|
# 150| getGenericTypeParam(0): [GenericTypeParamDecl] A
|
|
# 150| getGenericTypeParam(1): [GenericTypeParamDecl] B
|
|
# 150| getGenericTypeParam(2): [GenericTypeParamDecl] C
|
|
# 150| getParam(0): [ParamDecl] _
|
|
# 150| Type = A
|
|
# 150| getParam(1): [ParamDecl] _
|
|
# 150| Type = B
|
|
# 150| getParam(2): [ParamDecl] _
|
|
# 150| Type = C
|
|
# 150| getBody(): [BraceStmt] { ... }
|
|
# 152| [ClassDecl] Derived
|
|
# 152| getMember(0): [Deinitializer] Derived.deinit()
|
|
# 152| InterfaceType = (Derived) -> () -> ()
|
|
# 152| getSelfParam(): [ParamDecl] self
|
|
# 152| Type = Derived
|
|
# 152| getBody(): [BraceStmt] { ... }
|
|
# 152| getMember(1): [Initializer] Derived.init()
|
|
# 152| InterfaceType = (Derived.Type) -> () -> Derived
|
|
# 152| getSelfParam(): [ParamDecl] self
|
|
# 152| Type = Derived
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [RebindSelfInInitializerExpr] self = ...
|
|
#-----| getSubExpr(): [CallExpr] call to Baz.init()
|
|
#-----| getFunction(): [MethodLookupExpr] Baz.init()
|
|
#-----| getBase(): [SuperRefExpr] super
|
|
#-----| getMethodRef(): [OtherInitializerRefExpr] Baz.init()
|
|
#-----| getElement(1): [ReturnStmt] return
|
|
# 154| [Comment] // multiple conversions
|
|
# 154|
|
|
# 155| [TopLevelCodeDecl] { ... }
|
|
# 155| getBody(): [BraceStmt] { ... }
|
|
# 155| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 155| getInit(0): [CallExpr] call to Derived.init()
|
|
# 155| getFunction(): [MethodLookupExpr] Derived.init()
|
|
# 155| getBase(): [TypeExpr] Derived.Type
|
|
# 155| getTypeRepr(): [TypeRepr] Derived
|
|
# 155| getMethodRef(): [DeclRefExpr] Derived.init()
|
|
# 155| getInit(0).getFullyConverted(): [InjectIntoOptionalExpr] (Baz?) ...
|
|
# 155| getSubExpr(): [CoerceExpr] (Baz) ...
|
|
# 155| getSubExpr(): [DerivedToBaseExpr] (Baz) ...
|
|
# 155| getPattern(0): [TypedPattern] ... as ...
|
|
# 155| getSubPattern(): [NamedPattern] d
|
|
# 155| getTypeRepr(): [TypeRepr] Baz?
|
|
# 155| [ConcreteVarDecl] d
|
|
# 155| Type = Baz?
|
|
# 157| [NamedFunction] ifConfig()
|
|
# 157| InterfaceType = () -> ()
|
|
# 157| getBody(): [BraceStmt] { ... }
|
|
# 158| getElement(0): [IfConfigDecl] #if ...
|
|
# 163| getElement(1): [IntegerLiteralExpr] 4
|
|
# 164| getElement(2): [IntegerLiteralExpr] 5
|
|
# 165| getElement(3): [IntegerLiteralExpr] 6
|
|
# 168| getElement(4): [IfConfigDecl] #if ...
|
|
# 173| getElement(5): [IfConfigDecl] #if ...
|
|
# 174| getElement(6): [IntegerLiteralExpr] 9
|
|
# 175| getElement(7): [IntegerLiteralExpr] 10
|
|
# 182| [ClassDecl] B
|
|
# 182| getMember(0): [Deinitializer] B.deinit()
|
|
# 182| InterfaceType = (B) -> () -> ()
|
|
# 182| getSelfParam(): [ParamDecl] self
|
|
# 182| Type = B
|
|
# 182| getBody(): [BraceStmt] { ... }
|
|
# 182| getMember(1): [Initializer] B.init()
|
|
# 182| InterfaceType = (B.Type) -> () -> B
|
|
# 182| getSelfParam(): [ParamDecl] self
|
|
# 182| Type = B
|
|
# 182| getBody(): [BraceStmt] { ... }
|
|
# 182| getElement(0): [ReturnStmt] return
|
|
# 183| [TypeAliasDecl] A
|
|
# 184| [TypeAliasDecl] C
|
|
# 186| [ClassDecl] S
|
|
# 187| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 187| getInit(0): [IntegerLiteralExpr] 0
|
|
# 187| getPattern(0): [NamedPattern] bf1
|
|
# 187| getMember(1): [ConcreteVarDecl] bf1
|
|
# 187| Type = Int
|
|
# 187| getAccessor(0): [Accessor] get
|
|
# 187| InterfaceType = (S) -> () -> Int
|
|
# 187| getSelfParam(): [ParamDecl] self
|
|
# 187| Type = S
|
|
# 187| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .bf1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 187| getAccessor(1): [Accessor] set
|
|
# 187| InterfaceType = (S) -> (Int) -> ()
|
|
# 187| getSelfParam(): [ParamDecl] self
|
|
# 187| Type = S
|
|
# 187| getParam(0): [ParamDecl] value
|
|
# 187| Type = Int
|
|
# 187| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .bf1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 187| getAccessor(2): [Accessor] _modify
|
|
# 187| InterfaceType = (S) -> () -> ()
|
|
# 187| getSelfParam(): [ParamDecl] self
|
|
# 187| Type = S
|
|
# 187| getBody(): [BraceStmt] { ... }
|
|
# 187| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .bf1
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 188| getMember(2): [NamedFunction] captureThis()
|
|
# 188| InterfaceType = (S) -> () -> ()
|
|
# 188| getSelfParam(): [ParamDecl] self
|
|
# 188| Type = S
|
|
# 188| getBody(): [BraceStmt] { ... }
|
|
# 189| getVariable(0): [ConcreteVarDecl] x
|
|
# 189| Type = Int
|
|
# 190| getVariable(1): [ConcreteVarDecl] f
|
|
# 190| Type = () -> ()
|
|
# 189| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 189| getInit(0): [IntegerLiteralExpr] 0
|
|
# 189| getPattern(0): [NamedPattern] x
|
|
# 190| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 190| getInit(0): [CaptureListExpr] { ... }
|
|
# 190| getBindingDecl(0): [PatternBindingDecl] var ... = ...
|
|
# 190| getInit(0): [DeclRefExpr] self
|
|
# 190| getPattern(0): [NamedPattern] self
|
|
# 190| getBindingDecl(1): [PatternBindingDecl] var ... = ...
|
|
# 190| getInit(0): [DeclRefExpr] x
|
|
# 190| getInit(0).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 190| getPattern(0): [NamedPattern] x
|
|
# 190| getVariable(0): [ConcreteVarDecl] self
|
|
# 190| Type = S
|
|
# 190| getVariable(1): [ConcreteVarDecl] x
|
|
# 190| Type = Int
|
|
# 190| getClosureBody(): [ExplicitClosureExpr] { ... }
|
|
# 190| getBody(): [BraceStmt] { ... }
|
|
# 191| getElement(0): [ReturnStmt] return ...
|
|
# 191| getResult(): [AssignExpr] ... = ...
|
|
# 191| getDest(): [MemberRefExpr] .bf1
|
|
# 191| getBase(): [DeclRefExpr] self
|
|
# 191| getSource(): [DeclRefExpr] x
|
|
# 191| getCapture(0): [CapturedDecl] self
|
|
# 191| getCapture(1): [CapturedDecl] x
|
|
# 190| getPattern(0): [NamedPattern] f
|
|
# 186| getMember(3): [Deinitializer] S.deinit()
|
|
# 186| InterfaceType = (S) -> () -> ()
|
|
# 186| getSelfParam(): [ParamDecl] self
|
|
# 186| Type = S
|
|
# 186| getBody(): [BraceStmt] { ... }
|
|
# 186| getMember(4): [Initializer] S.init()
|
|
# 186| InterfaceType = (S.Type) -> () -> S
|
|
# 186| getSelfParam(): [ParamDecl] self
|
|
# 186| Type = S
|
|
# 186| getBody(): [BraceStmt] { ... }
|
|
# 186| getElement(0): [ReturnStmt] return
|
|
expressions.swift:
|
|
# 1| [TopLevelCodeDecl] { ... }
|
|
# 1| getBody(): [BraceStmt] { ... }
|
|
# 1| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 1| getInit(0): [IntegerLiteralExpr] 15
|
|
# 1| getPattern(0): [NamedPattern] a
|
|
# 1| [ConcreteVarDecl] a
|
|
# 1| Type = Int
|
|
# 2| [TopLevelCodeDecl] { ... }
|
|
# 2| getBody(): [BraceStmt] { ... }
|
|
# 2| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 2| getInit(0): [FloatLiteralExpr] 15.15
|
|
# 2| getPattern(0): [NamedPattern] b
|
|
# 2| [ConcreteVarDecl] b
|
|
# 2| Type = Double
|
|
# 3| [TopLevelCodeDecl] { ... }
|
|
# 3| getBody(): [BraceStmt] { ... }
|
|
# 3| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 3| getInit(0): [BooleanLiteralExpr] true
|
|
# 3| getPattern(0): [NamedPattern] b1
|
|
# 3| [ConcreteVarDecl] b1
|
|
# 3| Type = Bool
|
|
# 4| [TopLevelCodeDecl] { ... }
|
|
# 4| getBody(): [BraceStmt] { ... }
|
|
# 4| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 4| getInit(0): [BooleanLiteralExpr] false
|
|
# 4| getPattern(0): [NamedPattern] b2
|
|
# 4| [ConcreteVarDecl] b2
|
|
# 4| Type = Bool
|
|
# 5| [TopLevelCodeDecl] { ... }
|
|
# 5| getBody(): [BraceStmt] { ... }
|
|
# 5| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 5| getInit(0): [MagicIdentifierLiteralExpr] #...
|
|
# 5| getPattern(0): [NamedPattern] m
|
|
# 5| [ConcreteVarDecl] m
|
|
# 5| Type = String
|
|
# 6| [TopLevelCodeDecl] { ... }
|
|
# 6| getBody(): [BraceStmt] { ... }
|
|
# 6| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 6| getInit(0): [StringLiteralExpr] hello world
|
|
# 6| getPattern(0): [NamedPattern] s
|
|
# 6| [ConcreteVarDecl] s
|
|
# 6| Type = String
|
|
# 7| [TopLevelCodeDecl] { ... }
|
|
# 7| getBody(): [BraceStmt] { ... }
|
|
# 7| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 7| getInit(0): [InterpolatedStringLiteralExpr] "..."
|
|
# 7| getAppendingExpr(): [TapExpr] TapExpr
|
|
# 7| getSubExpr(): [OpaqueValueExpr] OpaqueValueExpr
|
|
# 7| getBody(): [BraceStmt] { ... }
|
|
#-----| getVariable(0): [ConcreteVarDecl] $interpolation
|
|
#-----| Type = DefaultStringInterpolation
|
|
# 7| getElement(0): [CallExpr] call to appendLiteral(_:)
|
|
# 7| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 7| getBase(): [DeclRefExpr] $interpolation
|
|
# 7| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 7| getArgument(0): [Argument] : hello
|
|
# 7| getExpr(): [StringLiteralExpr] hello
|
|
# 7| getElement(1): [CallExpr] call to appendInterpolation(_:)
|
|
# 7| getFunction(): [MethodLookupExpr] .appendInterpolation(_:)
|
|
# 7| getBase(): [DeclRefExpr] $interpolation
|
|
# 7| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 7| getMethodRef(): [DeclRefExpr] appendInterpolation(_:)
|
|
# 7| getArgument(0): [Argument] : a
|
|
# 7| getExpr(): [DeclRefExpr] a
|
|
# 7| getElement(2): [CallExpr] call to appendLiteral(_:)
|
|
# 7| getFunction(): [MethodLookupExpr] .appendLiteral(_:)
|
|
# 7| getBase(): [DeclRefExpr] $interpolation
|
|
# 7| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] appendLiteral(_:)
|
|
# 7| getArgument(0): [Argument] :
|
|
# 7| getExpr(): [StringLiteralExpr]
|
|
# 7| getPattern(0): [NamedPattern] s1
|
|
# 7| [ConcreteVarDecl] s1
|
|
# 7| Type = String
|
|
# 8| [TopLevelCodeDecl] { ... }
|
|
# 8| getBody(): [BraceStmt] { ... }
|
|
# 8| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 8| getInit(0): [NilLiteralExpr] nil
|
|
# 8| getPattern(0): [TypedPattern] ... as ...
|
|
# 8| getSubPattern(): [NamedPattern] n
|
|
# 8| getTypeRepr(): [TypeRepr] Int?
|
|
# 8| [ConcreteVarDecl] n
|
|
# 8| Type = Int?
|
|
# 10| [EnumDecl] AnError
|
|
# 11| getMember(0): [EnumCaseDecl] case ...
|
|
# 11| getMember(1): [EnumElementDecl] failed
|
|
#-----| getMember(2): [NamedFunction] __derived_enum_equals(_:_:)
|
|
#-----| InterfaceType = (AnError.Type) -> (AnError, AnError) -> Bool
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = AnError.Type
|
|
#-----| getParam(0): [ParamDecl] a
|
|
#-----| Type = AnError
|
|
#-----| getParam(1): [ParamDecl] b
|
|
#-----| Type = AnError
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_a
|
|
#-----| getElement(1): [SwitchStmt] switch a { ... }
|
|
#-----| getExpr(): [DeclRefExpr] a
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .failed
|
|
#-----| getPattern(): [EnumElementPattern] .failed
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getElement(2): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_b
|
|
#-----| getElement(3): [SwitchStmt] switch b { ... }
|
|
#-----| getExpr(): [DeclRefExpr] b
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .failed
|
|
#-----| getPattern(): [EnumElementPattern] .failed
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getElement(4): [ReturnStmt] return ...
|
|
#-----| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
#-----| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
#-----| getBase(): [TypeExpr] Int.Type
|
|
#-----| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
#-----| getArgument(0): [Argument] : index_a
|
|
#-----| getExpr(): [DeclRefExpr] index_a
|
|
#-----| getArgument(1): [Argument] : index_b
|
|
#-----| getExpr(): [DeclRefExpr] index_b
|
|
#-----| getMember(3): [ConcreteVarDecl] hashValue
|
|
#-----| Type = Int
|
|
#-----| getAccessor(0): [Accessor] get
|
|
#-----| InterfaceType = (AnError) -> () -> Int
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = AnError
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [CallExpr] call to _hashValue(for:)
|
|
#-----| getFunction(): [DeclRefExpr] _hashValue(for:)
|
|
#-----| getArgument(0): [Argument] for: self
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getMember(4): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] hashValue
|
|
#-----| getMember(5): [NamedFunction] hash(into:)
|
|
#-----| InterfaceType = (AnError) -> (inout Hasher) -> ()
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = AnError
|
|
#-----| getParam(0): [ParamDecl] hasher
|
|
#-----| Type = Hasher
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] discriminator
|
|
#-----| getElement(1): [SwitchStmt] switch self { ... }
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .failed
|
|
#-----| getPattern(): [EnumElementPattern] .failed
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getElement(2): [CallExpr] call to combine(_:)
|
|
#-----| getFunction(): [MethodLookupExpr] .combine(_:)
|
|
#-----| getBase(): [DeclRefExpr] hasher
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] combine(_:)
|
|
#-----| getArgument(0): [Argument] : discriminator
|
|
#-----| getExpr(): [DeclRefExpr] discriminator
|
|
#-----| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 14| [NamedFunction] failure(_:)
|
|
# 14| InterfaceType = (Int) throws -> ()
|
|
# 14| getParam(0): [ParamDecl] x
|
|
# 14| Type = Int
|
|
# 14| getBody(): [BraceStmt] { ... }
|
|
# 15| getElement(0): [GuardStmt] guard ... else { ... }
|
|
# 15| getCondition(): [StmtCondition] StmtCondition
|
|
# 15| getElement(0): [ConditionElement] ... .!=(_:_:) ...
|
|
# 15| getBoolean(): [BinaryExpr] ... .!=(_:_:) ...
|
|
# 15| getFunction(): [MethodLookupExpr] .!=(_:_:)
|
|
# 15| getBase(): [TypeExpr] Int.Type
|
|
# 15| getTypeRepr(): [TypeRepr] Int
|
|
# 15| getMethodRef(): [DeclRefExpr] !=(_:_:)
|
|
# 15| getArgument(0): [Argument] : x
|
|
# 15| getExpr(): [DeclRefExpr] x
|
|
# 15| getArgument(1): [Argument] : 0
|
|
# 15| getExpr(): [IntegerLiteralExpr] 0
|
|
# 15| getBody(): [BraceStmt] { ... }
|
|
# 16| getElement(0): [ThrowStmt] throw ...
|
|
# 16| getSubExpr(): [MethodLookupExpr] .failed
|
|
# 16| getBase(): [TypeExpr] AnError.Type
|
|
# 16| getTypeRepr(): [TypeRepr] AnError
|
|
# 16| getMethodRef(): [DeclRefExpr] failed
|
|
# 16| getSubExpr().getFullyConverted(): [ErasureExpr] (any Error) ...
|
|
# 20| [TopLevelCodeDecl] { ... }
|
|
# 20| getBody(): [BraceStmt] { ... }
|
|
# 20| getElement(0): [ForceTryExpr] try! ...
|
|
# 20| getSubExpr(): [CallExpr] call to failure(_:)
|
|
# 20| getFunction(): [DeclRefExpr] failure(_:)
|
|
# 20| getArgument(0): [Argument] : 11
|
|
# 20| getExpr(): [IntegerLiteralExpr] 11
|
|
# 21| [TopLevelCodeDecl] { ... }
|
|
# 21| getBody(): [BraceStmt] { ... }
|
|
# 21| getElement(0): [OptionalTryExpr] try? ...
|
|
# 21| getSubExpr(): [CallExpr] call to failure(_:)
|
|
# 21| getFunction(): [DeclRefExpr] failure(_:)
|
|
# 21| getArgument(0): [Argument] : 11
|
|
# 21| getExpr(): [IntegerLiteralExpr] 11
|
|
# 21| getSubExpr().getFullyConverted(): [InjectIntoOptionalExpr] (()?) ...
|
|
# 23| [ClassDecl] Klass
|
|
# 24| getMember(0): [Initializer] Klass.init()
|
|
# 24| InterfaceType = (Klass.Type) -> () -> Klass
|
|
# 24| getSelfParam(): [ParamDecl] self
|
|
# 24| Type = Klass
|
|
# 24| getBody(): [BraceStmt] { ... }
|
|
# 24| getElement(0): [ReturnStmt] return
|
|
# 23| getMember(1): [Deinitializer] Klass.deinit()
|
|
# 23| InterfaceType = (Klass) -> () -> ()
|
|
# 23| getSelfParam(): [ParamDecl] self
|
|
# 23| Type = Klass
|
|
# 23| getBody(): [BraceStmt] { ... }
|
|
# 27| [TopLevelCodeDecl] { ... }
|
|
# 27| getBody(): [BraceStmt] { ... }
|
|
# 27| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 27| getInit(0): [CallExpr] call to Klass.init()
|
|
# 27| getFunction(): [MethodLookupExpr] Klass.init()
|
|
# 27| getBase(): [TypeExpr] Klass.Type
|
|
# 27| getTypeRepr(): [TypeRepr] Klass
|
|
# 27| getMethodRef(): [DeclRefExpr] Klass.init()
|
|
# 27| getPattern(0): [NamedPattern] klass
|
|
# 27| [ConcreteVarDecl] klass
|
|
# 27| Type = Klass
|
|
# 29| [TopLevelCodeDecl] { ... }
|
|
# 29| getBody(): [BraceStmt] { ... }
|
|
# 29| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 29| getInit(0): [DictionaryExpr] [...]
|
|
# 29| getElement(0): [TupleExpr] (...)
|
|
# 29| getElement(0): [StringLiteralExpr] 1
|
|
# 29| getElement(1): [StringLiteralExpr] 2
|
|
# 29| getPattern(0): [NamedPattern] d
|
|
# 29| [ConcreteVarDecl] d
|
|
# 29| Type = [String : String]
|
|
# 30| [TopLevelCodeDecl] { ... }
|
|
# 30| getBody(): [BraceStmt] { ... }
|
|
# 30| getElement(0): [AssignExpr] ... = ...
|
|
# 30| getDest(): [DiscardAssignmentExpr] _
|
|
# 30| getSource(): [IntegerLiteralExpr] 15
|
|
# 31| [TopLevelCodeDecl] { ... }
|
|
# 31| getBody(): [BraceStmt] { ... }
|
|
# 31| getElement(0): [AssignExpr] ... = ...
|
|
# 31| getDest(): [DiscardAssignmentExpr] _
|
|
# 31| getSource(): [IntegerLiteralExpr] 15
|
|
# 31| getSource().getFullyConverted(): [IsExpr] ... is ...
|
|
# 32| [TopLevelCodeDecl] { ... }
|
|
# 32| getBody(): [BraceStmt] { ... }
|
|
# 32| getElement(0): [AssignExpr] ... = ...
|
|
# 32| getDest(): [DiscardAssignmentExpr] _
|
|
# 32| getSource(): [IntegerLiteralExpr] 15
|
|
# 32| getSource().getFullyConverted(): [CoerceExpr] (Double) ...
|
|
# 33| [TopLevelCodeDecl] { ... }
|
|
# 33| getBody(): [BraceStmt] { ... }
|
|
# 33| getElement(0): [AssignExpr] ... = ...
|
|
# 33| getDest(): [DiscardAssignmentExpr] _
|
|
# 33| getSource(): [IntegerLiteralExpr] 15
|
|
# 33| getSource().getFullyConverted(): [ConditionalCheckedCastExpr] (Double?) ...
|
|
# 34| [TopLevelCodeDecl] { ... }
|
|
# 34| getBody(): [BraceStmt] { ... }
|
|
# 34| getElement(0): [AssignExpr] ... = ...
|
|
# 34| getDest(): [DiscardAssignmentExpr] _
|
|
# 34| getSource(): [IntegerLiteralExpr] 15
|
|
# 34| getSource().getFullyConverted(): [ForcedCheckedCastExpr] (Double) ...
|
|
# 35| [TopLevelCodeDecl] { ... }
|
|
# 35| getBody(): [BraceStmt] { ... }
|
|
# 35| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 35| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 35| getArgument(0): [Argument] : [...]
|
|
# 35| getExpr(): [VarargExpansionExpr] [...]
|
|
# 35| getSubExpr(): [ArrayExpr] [...]
|
|
# 35| getElement(0): [SubscriptExpr] ...[...]
|
|
# 35| getBase(): [DeclRefExpr] d
|
|
# 35| getArgument(0): [Argument] : 1
|
|
# 35| getExpr(): [StringLiteralExpr] 1
|
|
# 35| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 35| getArgument(1): [Argument] separator: default separator
|
|
# 35| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 35| getArgument(2): [Argument] terminator: default terminator
|
|
# 35| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 37| [NamedFunction] closured(closure:)
|
|
# 37| InterfaceType = ((Int, Int) -> Int) -> ()
|
|
# 37| getParam(0): [ParamDecl] closure
|
|
# 37| Type = (Int, Int) -> Int
|
|
# 37| getBody(): [BraceStmt] { ... }
|
|
# 38| getElement(0): [CallExpr] call to ...
|
|
# 38| getFunction(): [DeclRefExpr] closure
|
|
# 38| getArgument(0): [Argument] : 5
|
|
# 38| getExpr(): [IntegerLiteralExpr] 5
|
|
# 38| getArgument(1): [Argument] : 7
|
|
# 38| getExpr(): [IntegerLiteralExpr] 7
|
|
# 41| [TopLevelCodeDecl] { ... }
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
# 41| getElement(0): [CallExpr] call to closured(closure:)
|
|
# 41| getFunction(): [DeclRefExpr] closured(closure:)
|
|
# 41| getArgument(0): [Argument] closure: { ... }
|
|
# 41| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 41| getParam(0): [ParamDecl] x
|
|
# 41| Type = Int
|
|
# 41| getParam(1): [ParamDecl] y
|
|
# 41| Type = Int
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
# 42| getElement(0): [ReturnStmt] return ...
|
|
# 42| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 42| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 42| getBase(): [TypeExpr] Int.Type
|
|
# 42| getTypeRepr(): [TypeRepr] Int
|
|
# 42| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 42| getArgument(0): [Argument] : x
|
|
# 42| getExpr(): [DeclRefExpr] x
|
|
# 42| getArgument(1): [Argument] : y
|
|
# 42| getExpr(): [DeclRefExpr] y
|
|
# 44| [TopLevelCodeDecl] { ... }
|
|
# 44| getBody(): [BraceStmt] { ... }
|
|
# 44| getElement(0): [CallExpr] call to closured(closure:)
|
|
# 44| getFunction(): [DeclRefExpr] closured(closure:)
|
|
# 44| getArgument(0): [Argument] closure: { ... }
|
|
# 44| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 44| getParam(0): [ParamDecl] x
|
|
# 44| Type = Int
|
|
# 44| getParam(1): [ParamDecl] y
|
|
# 44| Type = Int
|
|
# 44| getBody(): [BraceStmt] { ... }
|
|
# 45| getElement(0): [ReturnStmt] return ...
|
|
# 45| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 45| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 45| getBase(): [TypeExpr] Int.Type
|
|
# 45| getTypeRepr(): [TypeRepr] Int
|
|
# 45| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 45| getArgument(0): [Argument] : x
|
|
# 45| getExpr(): [DeclRefExpr] x
|
|
# 45| getArgument(1): [Argument] : y
|
|
# 45| getExpr(): [DeclRefExpr] y
|
|
# 47| [TopLevelCodeDecl] { ... }
|
|
# 47| getBody(): [BraceStmt] { ... }
|
|
# 47| getElement(0): [CallExpr] call to closured(closure:)
|
|
# 47| getFunction(): [DeclRefExpr] closured(closure:)
|
|
# 47| getArgument(0): [Argument] closure: { ... }
|
|
# 47| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 47| getParam(0): [ParamDecl] $0
|
|
# 47| Type = Int
|
|
# 47| getParam(1): [ParamDecl] $1
|
|
# 47| Type = Int
|
|
# 47| getBody(): [BraceStmt] { ... }
|
|
# 47| getElement(0): [ReturnStmt] return ...
|
|
# 47| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 47| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 47| getBase(): [TypeExpr] Int.Type
|
|
# 47| getTypeRepr(): [TypeRepr] Int
|
|
# 47| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 47| getArgument(0): [Argument] : $0
|
|
# 47| getExpr(): [DeclRefExpr] $0
|
|
# 47| getArgument(1): [Argument] : $1
|
|
# 47| getExpr(): [DeclRefExpr] $1
|
|
# 48| [TopLevelCodeDecl] { ... }
|
|
# 48| getBody(): [BraceStmt] { ... }
|
|
# 48| getElement(0): [CallExpr] call to closured(closure:)
|
|
# 48| getFunction(): [DeclRefExpr] closured(closure:)
|
|
# 48| getArgument(0): [Argument] closure: { ... }
|
|
# 48| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 48| getParam(0): [ParamDecl] $0
|
|
# 48| Type = Int
|
|
# 48| getParam(1): [ParamDecl] $1
|
|
# 48| Type = Int
|
|
# 48| getBody(): [BraceStmt] { ... }
|
|
# 48| getElement(0): [ReturnStmt] return ...
|
|
# 48| getResult(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 48| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 48| getBase(): [TypeExpr] Int.Type
|
|
# 48| getTypeRepr(): [TypeRepr] Int
|
|
# 48| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 48| getArgument(0): [Argument] : $0
|
|
# 48| getExpr(): [DeclRefExpr] $0
|
|
# 48| getArgument(1): [Argument] : $1
|
|
# 48| getExpr(): [DeclRefExpr] $1
|
|
# 50| [StructDecl] S
|
|
# 51| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 51| getPattern(0): [TypedPattern] ... as ...
|
|
# 51| getSubPattern(): [NamedPattern] x
|
|
# 51| getTypeRepr(): [TypeRepr] Int
|
|
# 51| getMember(1): [ConcreteVarDecl] x
|
|
# 51| Type = Int
|
|
# 51| getAccessor(0): [Accessor] get
|
|
# 51| InterfaceType = (S) -> () -> Int
|
|
# 51| getSelfParam(): [ParamDecl] self
|
|
# 51| Type = S
|
|
# 51| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 50| getMember(2): [Initializer] S.init(x:)
|
|
# 50| InterfaceType = (S.Type) -> (Int) -> S
|
|
# 50| getSelfParam(): [ParamDecl] self
|
|
# 50| Type = S
|
|
# 50| getParam(0): [ParamDecl] x
|
|
# 50| Type = Int
|
|
# 54| [TopLevelCodeDecl] { ... }
|
|
# 54| getBody(): [BraceStmt] { ... }
|
|
# 54| getElement(0): [AssignExpr] ... = ...
|
|
# 54| getDest(): [DiscardAssignmentExpr] _
|
|
# 54| getSource(): [KeyPathExpr] #keyPath(...)
|
|
# 54| getRoot(): [TypeRepr] S
|
|
# 54| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 56| [NamedFunction] unsafeFunction(pointer:)
|
|
# 56| InterfaceType = (UnsafePointer<Int>) -> ()
|
|
# 56| getParam(0): [ParamDecl] pointer
|
|
# 56| Type = UnsafePointer<Int>
|
|
# 56| getBody(): [BraceStmt] { ... }
|
|
# 58| [TopLevelCodeDecl] { ... }
|
|
# 58| getBody(): [BraceStmt] { ... }
|
|
# 58| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 58| getInit(0): [IntegerLiteralExpr] 1234
|
|
# 58| getPattern(0): [NamedPattern] myNumber
|
|
# 58| [ConcreteVarDecl] myNumber
|
|
# 58| Type = Int
|
|
# 59| [TopLevelCodeDecl] { ... }
|
|
# 59| getBody(): [BraceStmt] { ... }
|
|
# 59| getElement(0): [CallExpr] call to unsafeFunction(pointer:)
|
|
# 59| getFunction(): [DeclRefExpr] unsafeFunction(pointer:)
|
|
# 59| getArgument(0): [Argument] pointer: myNumber
|
|
# 59| getExpr(): [DeclRefExpr] myNumber
|
|
# 59| getExpr().getFullyConverted(): [InOutToPointerExpr] (UnsafePointer<Int>) ...
|
|
# 59| getSubExpr(): [InOutExpr] &...
|
|
# 60| [TopLevelCodeDecl] { ... }
|
|
# 60| getBody(): [BraceStmt] { ... }
|
|
# 60| getElement(0): [CallExpr] call to withUnsafePointer(to:_:)
|
|
# 60| getFunction(): [DeclRefExpr] withUnsafePointer(to:_:)
|
|
# 60| getArgument(0): [Argument] to: myNumber
|
|
# 60| getExpr(): [DeclRefExpr] myNumber
|
|
# 60| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 60| getArgument(1): [Argument] : { ... }
|
|
# 60| getExpr(): [ExplicitClosureExpr] { ... }
|
|
# 60| getParam(0): [ParamDecl] $0
|
|
# 60| Type = UnsafePointer<Int>
|
|
# 60| getBody(): [BraceStmt] { ... }
|
|
# 60| getElement(0): [ReturnStmt] return ...
|
|
# 60| getResult(): [CallExpr] call to unsafeFunction(pointer:)
|
|
# 60| getFunction(): [DeclRefExpr] unsafeFunction(pointer:)
|
|
# 60| getArgument(0): [Argument] pointer: $0
|
|
# 60| getExpr(): [DeclRefExpr] $0
|
|
# 62| [ClassDecl] FailingToInit
|
|
# 63| getMember(0): [Initializer] FailingToInit.init(x:)
|
|
# 63| InterfaceType = (FailingToInit.Type) -> (Int) -> FailingToInit?
|
|
# 63| getSelfParam(): [ParamDecl] self
|
|
# 63| Type = FailingToInit
|
|
# 63| getParam(0): [ParamDecl] x
|
|
# 63| Type = Int
|
|
# 63| getBody(): [BraceStmt] { ... }
|
|
# 64| getElement(0): [IfStmt] if ... then { ... }
|
|
# 64| getCondition(): [StmtCondition] StmtCondition
|
|
# 64| getElement(0): [ConditionElement] ... .<(_:_:) ...
|
|
# 64| getBoolean(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 64| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 64| getBase(): [TypeExpr] Int.Type
|
|
# 64| getTypeRepr(): [TypeRepr] Int
|
|
# 64| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 64| getArgument(0): [Argument] : x
|
|
# 64| getExpr(): [DeclRefExpr] x
|
|
# 64| getArgument(1): [Argument] : 0
|
|
# 64| getExpr(): [IntegerLiteralExpr] 0
|
|
# 64| getThen(): [BraceStmt] { ... }
|
|
# 65| getElement(0): [FailStmt] fail
|
|
# 67| getElement(1): [ReturnStmt] return
|
|
# 62| getMember(1): [Deinitializer] FailingToInit.deinit()
|
|
# 62| InterfaceType = (FailingToInit) -> () -> ()
|
|
# 62| getSelfParam(): [ParamDecl] self
|
|
# 62| Type = FailingToInit
|
|
# 62| getBody(): [BraceStmt] { ... }
|
|
# 70| [ClassDecl] Base
|
|
# 71| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 71| getPattern(0): [TypedPattern] ... as ...
|
|
# 71| getSubPattern(): [NamedPattern] xx
|
|
# 71| getTypeRepr(): [TypeRepr] Int
|
|
# 71| getMember(1): [ConcreteVarDecl] xx
|
|
# 71| Type = Int
|
|
# 71| getAccessor(0): [Accessor] get
|
|
# 71| InterfaceType = (Base) -> () -> Int
|
|
# 71| getSelfParam(): [ParamDecl] self
|
|
# 71| Type = Base
|
|
# 71| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .xx
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 72| getMember(2): [Initializer] Base.init(x:)
|
|
# 72| InterfaceType = (Base.Type) -> (Int) -> Base
|
|
# 72| getSelfParam(): [ParamDecl] self
|
|
# 72| Type = Base
|
|
# 72| getParam(0): [ParamDecl] x
|
|
# 72| Type = Int
|
|
# 72| getBody(): [BraceStmt] { ... }
|
|
# 73| getElement(0): [AssignExpr] ... = ...
|
|
# 73| getDest(): [MemberRefExpr] .xx
|
|
# 73| getBase(): [DeclRefExpr] self
|
|
# 73| getSource(): [DeclRefExpr] x
|
|
# 74| getElement(1): [ReturnStmt] return
|
|
# 70| getMember(3): [Deinitializer] Base.deinit()
|
|
# 70| InterfaceType = (Base) -> () -> ()
|
|
# 70| getSelfParam(): [ParamDecl] self
|
|
# 70| Type = Base
|
|
# 70| getBody(): [BraceStmt] { ... }
|
|
# 77| [ClassDecl] Derived
|
|
# 78| getMember(0): [Initializer] Derived.init()
|
|
# 78| InterfaceType = (Derived.Type) -> () -> Derived
|
|
# 78| getSelfParam(): [ParamDecl] self
|
|
# 78| Type = Derived
|
|
# 78| getBody(): [BraceStmt] { ... }
|
|
# 79| getElement(0): [RebindSelfInInitializerExpr] self = ...
|
|
# 79| getSubExpr(): [CallExpr] call to Base.init(x:)
|
|
# 79| getFunction(): [MethodLookupExpr] Base.init(x:)
|
|
# 79| getBase(): [SuperRefExpr] super
|
|
# 79| getMethodRef(): [OtherInitializerRefExpr] Base.init(x:)
|
|
# 79| getArgument(0): [Argument] x: 22
|
|
# 79| getExpr(): [IntegerLiteralExpr] 22
|
|
# 80| getElement(1): [ReturnStmt] return
|
|
# 77| getMember(1): [Deinitializer] Derived.deinit()
|
|
# 77| InterfaceType = (Derived) -> () -> ()
|
|
# 77| getSelfParam(): [ParamDecl] self
|
|
# 77| Type = Derived
|
|
# 77| getBody(): [BraceStmt] { ... }
|
|
# 77| getMember(2): [Initializer] Derived.init(x:)
|
|
# 77| InterfaceType = (Derived.Type) -> (Int) -> Derived
|
|
# 77| getSelfParam(): [ParamDecl] self
|
|
# 77| Type = Derived
|
|
#-----| getParam(0): [ParamDecl] x
|
|
#-----| Type = Int
|
|
# 77| getBody(): [BraceStmt] { ... }
|
|
# 77| getElement(0): [CallExpr] call to _unimplementedInitializer(className:initName:file:line:column:)
|
|
# 77| getFunction(): [DeclRefExpr] _unimplementedInitializer(className:initName:file:line:column:)
|
|
# 77| getArgument(0): [Argument] : expressions.Derived
|
|
# 77| getExpr(): [StringLiteralExpr] expressions.Derived
|
|
# 77| getArgument(1): [Argument] : #...
|
|
# 77| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
# 77| getArgument(2): [Argument] : #...
|
|
# 77| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
# 77| getArgument(3): [Argument] : #...
|
|
# 77| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
# 77| getArgument(4): [Argument] : #...
|
|
# 77| getExpr(): [MagicIdentifierLiteralExpr] #...
|
|
#-----| getElement(1): [ReturnStmt] return
|
|
# 83| [TopLevelCodeDecl] { ... }
|
|
# 83| getBody(): [BraceStmt] { ... }
|
|
# 83| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 83| getInit(0): [CallExpr] call to Derived.init()
|
|
# 83| getFunction(): [MethodLookupExpr] Derived.init()
|
|
# 83| getBase(): [TypeExpr] Derived.Type
|
|
# 83| getTypeRepr(): [TypeRepr] Derived
|
|
# 83| getMethodRef(): [DeclRefExpr] Derived.init()
|
|
# 83| getPattern(0): [NamedPattern] derived
|
|
# 83| [ConcreteVarDecl] derived
|
|
# 83| Type = Derived
|
|
# 84| [TopLevelCodeDecl] { ... }
|
|
# 84| getBody(): [BraceStmt] { ... }
|
|
# 84| getElement(0): [AssignExpr] ... = ...
|
|
# 84| getDest(): [DiscardAssignmentExpr] _
|
|
# 84| getSource(): [MemberRefExpr] .xx
|
|
# 84| getBase(): [DeclRefExpr] derived
|
|
# 84| getBase().getFullyConverted(): [DerivedToBaseExpr] (Base) ...
|
|
# 86| [TopLevelCodeDecl] { ... }
|
|
# 86| getBody(): [BraceStmt] { ... }
|
|
# 86| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getInit(0): [NilLiteralExpr] nil
|
|
# 86| getPattern(0): [TypedPattern] ... as ...
|
|
# 86| getSubPattern(): [NamedPattern] opt
|
|
# 86| getTypeRepr(): [TypeRepr] Int?
|
|
# 86| [ConcreteVarDecl] opt
|
|
# 86| Type = Int?
|
|
# 87| [TopLevelCodeDecl] { ... }
|
|
# 87| getBody(): [BraceStmt] { ... }
|
|
# 87| getElement(0): [ForceValueExpr] ...!
|
|
# 87| getSubExpr(): [DeclRefExpr] opt
|
|
# 88| [TopLevelCodeDecl] { ... }
|
|
# 88| getBody(): [BraceStmt] { ... }
|
|
# 88| getElement(0): [ForceValueExpr] ...!
|
|
# 88| getSubExpr(): [SubscriptExpr] ...[...]
|
|
# 88| getBase(): [DeclRefExpr] d
|
|
# 88| getArgument(0): [Argument] : a
|
|
# 88| getExpr(): [StringLiteralExpr] a
|
|
# 90| [ClassDecl] ToPtr
|
|
# 90| getMember(0): [Deinitializer] ToPtr.deinit()
|
|
# 90| InterfaceType = (ToPtr) -> () -> ()
|
|
# 90| getSelfParam(): [ParamDecl] self
|
|
# 90| Type = ToPtr
|
|
# 90| getBody(): [BraceStmt] { ... }
|
|
# 90| getMember(1): [Initializer] ToPtr.init()
|
|
# 90| InterfaceType = (ToPtr.Type) -> () -> ToPtr
|
|
# 90| getSelfParam(): [ParamDecl] self
|
|
# 90| Type = ToPtr
|
|
# 90| getBody(): [BraceStmt] { ... }
|
|
# 90| getElement(0): [ReturnStmt] return
|
|
# 92| [TopLevelCodeDecl] { ... }
|
|
# 92| getBody(): [BraceStmt] { ... }
|
|
# 92| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 92| getInit(0): [CallExpr] call to toOpaque()
|
|
# 92| getFunction(): [MethodLookupExpr] .toOpaque()
|
|
# 92| getBase(): [CallExpr] call to passRetained(_:)
|
|
# 92| getFunction(): [MethodLookupExpr] .passRetained(_:)
|
|
# 92| getBase(): [TypeExpr] Unmanaged<ToPtr>.Type
|
|
# 92| getTypeRepr(): [TypeRepr] Unmanaged<ToPtr>
|
|
# 92| getMethodRef(): [DeclRefExpr] passRetained(_:)
|
|
# 92| getArgument(0): [Argument] : call to ToPtr.init()
|
|
# 92| getExpr(): [CallExpr] call to ToPtr.init()
|
|
# 92| getFunction(): [MethodLookupExpr] ToPtr.init()
|
|
# 92| getBase(): [TypeExpr] ToPtr.Type
|
|
# 92| getTypeRepr(): [TypeRepr] ToPtr
|
|
# 92| getMethodRef(): [DeclRefExpr] ToPtr.init()
|
|
# 92| getMethodRef(): [DeclRefExpr] toOpaque()
|
|
# 92| getPattern(0): [NamedPattern] opaque
|
|
# 92| [ConcreteVarDecl] opaque
|
|
# 92| Type = UnsafeMutableRawPointer
|
|
# 93| [TopLevelCodeDecl] { ... }
|
|
# 93| getBody(): [BraceStmt] { ... }
|
|
# 93| getElement(0): [CallExpr] call to fromOpaque(_:)
|
|
# 93| getFunction(): [MethodLookupExpr] .fromOpaque(_:)
|
|
# 93| getBase(): [TypeExpr] Unmanaged<ToPtr>.Type
|
|
# 93| getTypeRepr(): [TypeRepr] Unmanaged<ToPtr>
|
|
# 93| getMethodRef(): [DeclRefExpr] fromOpaque(_:)
|
|
# 93| getArgument(0): [Argument] : opaque
|
|
# 93| getExpr(): [DeclRefExpr] opaque
|
|
# 93| getExpr().getFullyConverted(): [PointerToPointerExpr] (UnsafeRawPointer) ...
|
|
# 95| [StructDecl] HasProperty
|
|
# 96| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 96| getPattern(0): [TypedPattern] ... as ...
|
|
# 96| getSubPattern(): [NamedPattern] settableField
|
|
# 96| getTypeRepr(): [TypeRepr] Int
|
|
# 96| getMember(1): [ConcreteVarDecl] settableField
|
|
# 96| Type = Int
|
|
# 97| getAccessor(0): [Accessor] set
|
|
# 97| InterfaceType = (inout HasProperty) -> (Int) -> ()
|
|
# 97| getSelfParam(): [ParamDecl] self
|
|
# 97| Type = HasProperty
|
|
# 97| getParam(0): [ParamDecl] newValue
|
|
# 97| Type = Int
|
|
# 97| getBody(): [BraceStmt] { ... }
|
|
# 98| getAccessor(1): [Accessor] get
|
|
# 98| InterfaceType = (HasProperty) -> () -> Int
|
|
# 98| getSelfParam(): [ParamDecl] self
|
|
# 98| Type = HasProperty
|
|
# 98| getBody(): [BraceStmt] { ... }
|
|
# 99| getElement(0): [ReturnStmt] return ...
|
|
# 99| getResult(): [IntegerLiteralExpr] 0
|
|
# 96| getAccessor(2): [Accessor] _modify
|
|
# 96| InterfaceType = (inout HasProperty) -> () -> ()
|
|
# 96| getSelfParam(): [ParamDecl] self
|
|
# 96| Type = HasProperty
|
|
# 96| getBody(): [BraceStmt] { ... }
|
|
# 96| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .settableField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 105| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 105| getPattern(0): [TypedPattern] ... as ...
|
|
# 105| getSubPattern(): [NamedPattern] readOnlyField1
|
|
# 105| getTypeRepr(): [TypeRepr] Int
|
|
# 105| getMember(3): [ConcreteVarDecl] readOnlyField1
|
|
# 105| Type = Int
|
|
# 105| getAccessor(0): [Accessor] get
|
|
# 105| InterfaceType = (HasProperty) -> () -> Int
|
|
# 105| getSelfParam(): [ParamDecl] self
|
|
# 105| Type = HasProperty
|
|
# 105| getBody(): [BraceStmt] { ... }
|
|
# 106| getElement(0): [ReturnStmt] return ...
|
|
# 106| getResult(): [IntegerLiteralExpr] 0
|
|
# 110| getMember(4): [PatternBindingDecl] var ... = ...
|
|
# 110| getPattern(0): [TypedPattern] ... as ...
|
|
# 110| getSubPattern(): [NamedPattern] readOnlyField2
|
|
# 110| getTypeRepr(): [TypeRepr] Int
|
|
# 110| getMember(5): [ConcreteVarDecl] readOnlyField2
|
|
# 110| Type = Int
|
|
# 111| getAccessor(0): [Accessor] get
|
|
# 111| InterfaceType = (HasProperty) -> () -> Int
|
|
# 111| getSelfParam(): [ParamDecl] self
|
|
# 111| Type = HasProperty
|
|
# 111| getBody(): [BraceStmt] { ... }
|
|
# 112| getElement(0): [ReturnStmt] return ...
|
|
# 112| getResult(): [IntegerLiteralExpr] 0
|
|
# 116| getMember(6): [PatternBindingDecl] var ... = ...
|
|
# 116| getPattern(0): [TypedPattern] ... as ...
|
|
# 116| getSubPattern(): [NamedPattern] normalField
|
|
# 116| getTypeRepr(): [TypeRepr] Int
|
|
# 116| getMember(7): [ConcreteVarDecl] normalField
|
|
# 116| Type = Int
|
|
# 116| getAccessor(0): [Accessor] get
|
|
# 116| InterfaceType = (HasProperty) -> () -> Int
|
|
# 116| getSelfParam(): [ParamDecl] self
|
|
# 116| Type = HasProperty
|
|
# 116| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .normalField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 116| getAccessor(1): [Accessor] set
|
|
# 116| InterfaceType = (inout HasProperty) -> (Int) -> ()
|
|
# 116| getSelfParam(): [ParamDecl] self
|
|
# 116| Type = HasProperty
|
|
# 116| getParam(0): [ParamDecl] value
|
|
# 116| Type = Int
|
|
# 116| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .normalField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 116| getAccessor(2): [Accessor] _modify
|
|
# 116| InterfaceType = (inout HasProperty) -> () -> ()
|
|
# 116| getSelfParam(): [ParamDecl] self
|
|
# 116| Type = HasProperty
|
|
# 116| getBody(): [BraceStmt] { ... }
|
|
# 116| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .normalField
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 118| getMember(8): [SubscriptDecl] subscript ...
|
|
# 119| getAccessor(0): [Accessor] get
|
|
# 119| InterfaceType = (HasProperty) -> (Int) -> Int
|
|
# 119| getSelfParam(): [ParamDecl] self
|
|
# 119| Type = HasProperty
|
|
# 118| getParam(0): [ParamDecl] x
|
|
# 118| Type = Int
|
|
# 119| getBody(): [BraceStmt] { ... }
|
|
# 120| getElement(0): [ReturnStmt] return ...
|
|
# 120| getResult(): [IntegerLiteralExpr] 0
|
|
# 122| getAccessor(1): [Accessor] set
|
|
# 122| InterfaceType = (inout HasProperty) -> (Int, Int) -> ()
|
|
# 122| getSelfParam(): [ParamDecl] self
|
|
# 122| Type = HasProperty
|
|
# 122| getParam(0): [ParamDecl] newValue
|
|
# 122| Type = Int
|
|
# 118| getParam(1): [ParamDecl] x
|
|
# 118| Type = Int
|
|
# 122| getBody(): [BraceStmt] { ... }
|
|
# 118| getAccessor(2): [Accessor] _modify
|
|
# 118| InterfaceType = (inout HasProperty) -> (Int) -> ()
|
|
# 118| getSelfParam(): [ParamDecl] self
|
|
# 118| Type = HasProperty
|
|
#-----| getParam(0): [ParamDecl] x
|
|
#-----| Type = Int
|
|
# 118| getBody(): [BraceStmt] { ... }
|
|
# 118| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [SubscriptExpr] ...[...]
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getArgument(0): [Argument] : x
|
|
#-----| getExpr(): [DeclRefExpr] x
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 118| getParam(0): [ParamDecl] x
|
|
# 118| Type = Int
|
|
# 125| getMember(9): [SubscriptDecl] subscript ...
|
|
# 125| getAccessor(0): [Accessor] get
|
|
# 125| InterfaceType = (HasProperty) -> (Int, Int) -> Int
|
|
# 125| getSelfParam(): [ParamDecl] self
|
|
# 125| Type = HasProperty
|
|
# 125| getParam(0): [ParamDecl] x
|
|
# 125| Type = Int
|
|
# 125| getParam(1): [ParamDecl] y
|
|
# 125| Type = Int
|
|
# 125| getBody(): [BraceStmt] { ... }
|
|
# 126| getElement(0): [ReturnStmt] return ...
|
|
# 126| getResult(): [IntegerLiteralExpr] 0
|
|
# 125| getParam(0): [ParamDecl] x
|
|
# 125| Type = Int
|
|
# 125| getParam(1): [ParamDecl] y
|
|
# 125| Type = Int
|
|
# 95| getMember(10): [Initializer] HasProperty.init(normalField:)
|
|
# 95| InterfaceType = (HasProperty.Type) -> (Int) -> HasProperty
|
|
# 95| getSelfParam(): [ParamDecl] self
|
|
# 95| Type = HasProperty
|
|
# 95| getParam(0): [ParamDecl] normalField
|
|
# 95| Type = Int
|
|
# 103| [Comment] // A field can be marked as read-only by dirctly implementing
|
|
# 103|
|
|
# 104| [Comment] // the getter between the braces.
|
|
# 104|
|
|
# 109| [Comment] // Or by adding an access declaration
|
|
# 109|
|
|
# 130| [NamedFunction] testProperties(hp:)
|
|
# 130| InterfaceType = (inout HasProperty) -> Int
|
|
# 130| getParam(0): [ParamDecl] hp
|
|
# 130| Type = HasProperty
|
|
# 130| getBody(): [BraceStmt] { ... }
|
|
# 132| getVariable(0): [ConcreteVarDecl] x
|
|
# 132| Type = Int
|
|
# 133| getVariable(1): [ConcreteVarDecl] y
|
|
# 133| Type = Int
|
|
# 134| getVariable(2): [ConcreteVarDecl] z
|
|
# 134| Type = Int
|
|
# 136| getVariable(3): [ConcreteVarDecl] w
|
|
# 136| Type = Int
|
|
# 131| getElement(0): [AssignExpr] ... = ...
|
|
# 131| getDest(): [MemberRefExpr] .settableField
|
|
# 131| getBase(): [DeclRefExpr] hp
|
|
# 131| getSource(): [IntegerLiteralExpr] 42
|
|
# 132| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 132| getInit(0): [MemberRefExpr] .settableField
|
|
# 132| getBase(): [DeclRefExpr] hp
|
|
# 132| getInit(0).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 132| getPattern(0): [NamedPattern] x
|
|
# 133| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 133| getInit(0): [MemberRefExpr] .readOnlyField1
|
|
# 133| getBase(): [DeclRefExpr] hp
|
|
# 133| getBase().getFullyConverted(): [LoadExpr] (HasProperty) ...
|
|
# 133| getPattern(0): [NamedPattern] y
|
|
# 134| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 134| getInit(0): [MemberRefExpr] .readOnlyField2
|
|
# 134| getBase(): [DeclRefExpr] hp
|
|
# 134| getBase().getFullyConverted(): [LoadExpr] (HasProperty) ...
|
|
# 134| getPattern(0): [NamedPattern] z
|
|
# 135| getElement(4): [AssignExpr] ... = ...
|
|
# 135| getDest(): [MemberRefExpr] .normalField
|
|
# 135| getBase(): [DeclRefExpr] hp
|
|
# 135| getSource(): [IntegerLiteralExpr] 99
|
|
# 136| getElement(5): [PatternBindingDecl] var ... = ...
|
|
# 136| getInit(0): [MemberRefExpr] .normalField
|
|
# 136| getBase(): [DeclRefExpr] hp
|
|
# 136| getInit(0).getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 136| getPattern(0): [NamedPattern] w
|
|
# 137| getElement(6): [AssignExpr] ... = ...
|
|
# 137| getDest(): [SubscriptExpr] ...[...]
|
|
# 137| getBase(): [DeclRefExpr] hp
|
|
# 137| getBase().getFullyConverted(): [InOutExpr] &...
|
|
# 137| getArgument(0): [Argument] : 1
|
|
# 137| getExpr(): [IntegerLiteralExpr] 1
|
|
# 137| getSource(): [IntegerLiteralExpr] 2
|
|
# 138| getElement(7): [ReturnStmt] return ...
|
|
# 138| getResult(): [SubscriptExpr] ...[...]
|
|
# 138| getBase(): [DeclRefExpr] hp
|
|
# 138| getBase().getFullyConverted(): [LoadExpr] (HasProperty) ...
|
|
# 138| getArgument(0): [Argument] : 3
|
|
# 138| getExpr(): [IntegerLiteralExpr] 3
|
|
# 138| getArgument(1): [Argument] : 4
|
|
# 138| getExpr(): [IntegerLiteralExpr] 4
|
|
# 141| [StructDecl] B
|
|
# 142| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 142| getPattern(0): [TypedPattern] ... as ...
|
|
# 142| getSubPattern(): [NamedPattern] x
|
|
# 142| getTypeRepr(): [TypeRepr] Int
|
|
# 142| getMember(1): [ConcreteVarDecl] x
|
|
# 142| Type = Int
|
|
# 142| getAccessor(0): [Accessor] get
|
|
# 142| InterfaceType = (B) -> () -> Int
|
|
# 142| getSelfParam(): [ParamDecl] self
|
|
# 142| Type = B
|
|
# 142| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 142| getAccessor(1): [Accessor] set
|
|
# 142| InterfaceType = (inout B) -> (Int) -> ()
|
|
# 142| getSelfParam(): [ParamDecl] self
|
|
# 142| Type = B
|
|
# 142| getParam(0): [ParamDecl] value
|
|
# 142| Type = Int
|
|
# 142| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 142| getAccessor(2): [Accessor] _modify
|
|
# 142| InterfaceType = (inout B) -> () -> ()
|
|
# 142| getSelfParam(): [ParamDecl] self
|
|
# 142| Type = B
|
|
# 142| getBody(): [BraceStmt] { ... }
|
|
# 142| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 141| getMember(2): [Initializer] B.init(x:)
|
|
# 141| InterfaceType = (B.Type) -> (Int) -> B
|
|
# 141| getSelfParam(): [ParamDecl] self
|
|
# 141| Type = B
|
|
# 141| getParam(0): [ParamDecl] x
|
|
# 141| Type = Int
|
|
# 145| [StructDecl] A
|
|
# 146| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 146| getPattern(0): [TypedPattern] ... as ...
|
|
# 146| getSubPattern(): [NamedPattern] b
|
|
# 146| getTypeRepr(): [TypeRepr] B
|
|
# 146| getMember(1): [ConcreteVarDecl] b
|
|
# 146| Type = B
|
|
# 146| getAccessor(0): [Accessor] get
|
|
# 146| InterfaceType = (A) -> () -> B
|
|
# 146| getSelfParam(): [ParamDecl] self
|
|
# 146| Type = A
|
|
# 146| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .b
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 146| getAccessor(1): [Accessor] set
|
|
# 146| InterfaceType = (inout A) -> (B) -> ()
|
|
# 146| getSelfParam(): [ParamDecl] self
|
|
# 146| Type = A
|
|
# 146| getParam(0): [ParamDecl] value
|
|
# 146| Type = B
|
|
# 146| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .b
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 146| getAccessor(2): [Accessor] _modify
|
|
# 146| InterfaceType = (inout A) -> () -> ()
|
|
# 146| getSelfParam(): [ParamDecl] self
|
|
# 146| Type = A
|
|
# 146| getBody(): [BraceStmt] { ... }
|
|
# 146| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .b
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 147| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 147| getPattern(0): [TypedPattern] ... as ...
|
|
# 147| getSubPattern(): [NamedPattern] bs
|
|
# 147| getTypeRepr(): [TypeRepr] [B]
|
|
# 147| getMember(3): [ConcreteVarDecl] bs
|
|
# 147| Type = [B]
|
|
# 147| getAccessor(0): [Accessor] get
|
|
# 147| InterfaceType = (A) -> () -> [B]
|
|
# 147| getSelfParam(): [ParamDecl] self
|
|
# 147| Type = A
|
|
# 147| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .bs
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 147| getAccessor(1): [Accessor] set
|
|
# 147| InterfaceType = (inout A) -> ([B]) -> ()
|
|
# 147| getSelfParam(): [ParamDecl] self
|
|
# 147| Type = A
|
|
# 147| getParam(0): [ParamDecl] value
|
|
# 147| Type = [B]
|
|
# 147| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .bs
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 147| getAccessor(2): [Accessor] _modify
|
|
# 147| InterfaceType = (inout A) -> () -> ()
|
|
# 147| getSelfParam(): [ParamDecl] self
|
|
# 147| Type = A
|
|
# 147| getBody(): [BraceStmt] { ... }
|
|
# 147| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .bs
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 148| getMember(4): [PatternBindingDecl] var ... = ...
|
|
#-----| getInit(0): [NilLiteralExpr] nil
|
|
# 148| getPattern(0): [TypedPattern] ... as ...
|
|
# 148| getSubPattern(): [NamedPattern] mayB
|
|
# 148| getTypeRepr(): [TypeRepr] B?
|
|
# 148| getMember(5): [ConcreteVarDecl] mayB
|
|
# 148| Type = B?
|
|
# 148| getAccessor(0): [Accessor] get
|
|
# 148| InterfaceType = (A) -> () -> B?
|
|
# 148| getSelfParam(): [ParamDecl] self
|
|
# 148| Type = A
|
|
# 148| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .mayB
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 148| getAccessor(1): [Accessor] set
|
|
# 148| InterfaceType = (inout A) -> (B?) -> ()
|
|
# 148| getSelfParam(): [ParamDecl] self
|
|
# 148| Type = A
|
|
# 148| getParam(0): [ParamDecl] value
|
|
# 148| Type = B?
|
|
# 148| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .mayB
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 148| getAccessor(2): [Accessor] _modify
|
|
# 148| InterfaceType = (inout A) -> () -> ()
|
|
# 148| getSelfParam(): [ParamDecl] self
|
|
# 148| Type = A
|
|
# 148| getBody(): [BraceStmt] { ... }
|
|
# 148| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .mayB
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 145| getMember(6): [Initializer] A.init(b:bs:mayB:)
|
|
# 145| InterfaceType = (A.Type) -> (B, [B], B?) -> A
|
|
# 145| getSelfParam(): [ParamDecl] self
|
|
# 145| Type = A
|
|
# 145| getParam(0): [ParamDecl] b
|
|
# 145| Type = B
|
|
# 145| getParam(1): [ParamDecl] bs
|
|
# 145| Type = [B]
|
|
# 145| getParam(2): [ParamDecl] mayB
|
|
# 145| Type = B?
|
|
# 151| [NamedFunction] test(a:keyPathInt:keyPathB:)
|
|
# 151| InterfaceType = (A, WritableKeyPath<A, Int>, WritableKeyPath<A, B>) -> ()
|
|
# 151| getParam(0): [ParamDecl] a
|
|
# 151| Type = A
|
|
# 151| getParam(1): [ParamDecl] keyPathInt
|
|
# 151| Type = WritableKeyPath<A, Int>
|
|
# 151| getParam(2): [ParamDecl] keyPathB
|
|
# 151| Type = WritableKeyPath<A, B>
|
|
# 151| getBody(): [BraceStmt] { ... }
|
|
# 152| getVariable(0): [ConcreteVarDecl] apply_keyPathInt
|
|
# 152| Type = Int
|
|
# 153| getVariable(1): [ConcreteVarDecl] apply_keyPathB
|
|
# 153| Type = B
|
|
# 154| getVariable(2): [ConcreteVarDecl] nested_apply
|
|
# 154| Type = Int
|
|
# 152| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 152| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 152| getBase(): [DeclRefExpr] a
|
|
# 152| getKeyPath(): [DeclRefExpr] keyPathInt
|
|
# 152| getPattern(0): [NamedPattern] apply_keyPathInt
|
|
# 153| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 153| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 153| getBase(): [DeclRefExpr] a
|
|
# 153| getKeyPath(): [DeclRefExpr] keyPathB
|
|
# 153| getPattern(0): [NamedPattern] apply_keyPathB
|
|
# 154| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 154| getInit(0): [KeyPathApplicationExpr] \...[...]
|
|
# 154| getBase(): [KeyPathApplicationExpr] \...[...]
|
|
# 154| getBase(): [DeclRefExpr] a
|
|
# 154| getKeyPath(): [DeclRefExpr] keyPathB
|
|
# 154| getKeyPath(): [KeyPathExpr] #keyPath(...)
|
|
# 154| getRoot(): [TypeRepr] B
|
|
# 154| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 154| getPattern(0): [NamedPattern] nested_apply
|
|
# 157| [NamedFunction] bitwise()
|
|
# 157| InterfaceType = () -> ()
|
|
# 157| getBody(): [BraceStmt] { ... }
|
|
# 158| getElement(0): [AssignExpr] ... = ...
|
|
# 158| getDest(): [DiscardAssignmentExpr] _
|
|
# 158| getSource(): [PrefixUnaryExpr] call to ~(_:)
|
|
# 158| getFunction(): [MethodLookupExpr] .~(_:)
|
|
# 158| getBase(): [TypeExpr] Int.Type
|
|
# 158| getTypeRepr(): [TypeRepr] Int
|
|
# 158| getMethodRef(): [DeclRefExpr] ~(_:)
|
|
# 158| getArgument(0): [Argument] : 1
|
|
# 158| getExpr(): [IntegerLiteralExpr] 1
|
|
# 159| getElement(1): [AssignExpr] ... = ...
|
|
# 159| getDest(): [DiscardAssignmentExpr] _
|
|
# 159| getSource(): [BinaryExpr] ... .&(_:_:) ...
|
|
# 159| getFunction(): [MethodLookupExpr] .&(_:_:)
|
|
# 159| getBase(): [TypeExpr] Int.Type
|
|
# 159| getTypeRepr(): [TypeRepr] Int
|
|
# 159| getMethodRef(): [DeclRefExpr] &(_:_:)
|
|
# 159| getArgument(0): [Argument] : 1
|
|
# 159| getExpr(): [IntegerLiteralExpr] 1
|
|
# 159| getArgument(1): [Argument] : 2
|
|
# 159| getExpr(): [IntegerLiteralExpr] 2
|
|
# 160| getElement(2): [AssignExpr] ... = ...
|
|
# 160| getDest(): [DiscardAssignmentExpr] _
|
|
# 160| getSource(): [BinaryExpr] ... .|(_:_:) ...
|
|
# 160| getFunction(): [MethodLookupExpr] .|(_:_:)
|
|
# 160| getBase(): [TypeExpr] Int.Type
|
|
# 160| getTypeRepr(): [TypeRepr] Int
|
|
# 160| getMethodRef(): [DeclRefExpr] |(_:_:)
|
|
# 160| getArgument(0): [Argument] : 1
|
|
# 160| getExpr(): [IntegerLiteralExpr] 1
|
|
# 160| getArgument(1): [Argument] : 2
|
|
# 160| getExpr(): [IntegerLiteralExpr] 2
|
|
# 161| getElement(3): [AssignExpr] ... = ...
|
|
# 161| getDest(): [DiscardAssignmentExpr] _
|
|
# 161| getSource(): [BinaryExpr] ... .^(_:_:) ...
|
|
# 161| getFunction(): [MethodLookupExpr] .^(_:_:)
|
|
# 161| getBase(): [TypeExpr] Int.Type
|
|
# 161| getTypeRepr(): [TypeRepr] Int
|
|
# 161| getMethodRef(): [DeclRefExpr] ^(_:_:)
|
|
# 161| getArgument(0): [Argument] : 1
|
|
# 161| getExpr(): [IntegerLiteralExpr] 1
|
|
# 161| getArgument(1): [Argument] : 2
|
|
# 161| getExpr(): [IntegerLiteralExpr] 2
|
|
# 162| getElement(4): [AssignExpr] ... = ...
|
|
# 162| getDest(): [DiscardAssignmentExpr] _
|
|
# 162| getSource(): [BinaryExpr] ... .<<(_:_:) ...
|
|
# 162| getFunction(): [MethodLookupExpr] .<<(_:_:)
|
|
# 162| getBase(): [TypeExpr] Int.Type
|
|
# 162| getTypeRepr(): [TypeRepr] Int
|
|
# 162| getMethodRef(): [DeclRefExpr] <<(_:_:)
|
|
# 162| getArgument(0): [Argument] : 1
|
|
# 162| getExpr(): [IntegerLiteralExpr] 1
|
|
# 162| getArgument(1): [Argument] : 0
|
|
# 162| getExpr(): [IntegerLiteralExpr] 0
|
|
# 163| getElement(5): [AssignExpr] ... = ...
|
|
# 163| getDest(): [DiscardAssignmentExpr] _
|
|
# 163| getSource(): [BinaryExpr] ... .>>(_:_:) ...
|
|
# 163| getFunction(): [MethodLookupExpr] .>>(_:_:)
|
|
# 163| getBase(): [TypeExpr] Int.Type
|
|
# 163| getTypeRepr(): [TypeRepr] Int
|
|
# 163| getMethodRef(): [DeclRefExpr] >>(_:_:)
|
|
# 163| getArgument(0): [Argument] : 1
|
|
# 163| getExpr(): [IntegerLiteralExpr] 1
|
|
# 163| getArgument(1): [Argument] : 0
|
|
# 163| getExpr(): [IntegerLiteralExpr] 0
|
|
# 166| [StructDecl] Bar
|
|
# 167| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 167| getPattern(0): [TypedPattern] ... as ...
|
|
# 167| getSubPattern(): [NamedPattern] value
|
|
# 167| getTypeRepr(): [TypeRepr] Int
|
|
# 167| getMember(1): [ConcreteVarDecl] value
|
|
# 167| Type = Int
|
|
# 167| getAccessor(0): [Accessor] get
|
|
# 167| InterfaceType = (Bar) -> () -> Int
|
|
# 167| getSelfParam(): [ParamDecl] self
|
|
# 167| Type = Bar
|
|
# 167| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .value
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 167| getAccessor(1): [Accessor] set
|
|
# 167| InterfaceType = (inout Bar) -> (Int) -> ()
|
|
# 167| getSelfParam(): [ParamDecl] self
|
|
# 167| Type = Bar
|
|
# 167| getParam(0): [ParamDecl] value
|
|
# 167| Type = Int
|
|
# 167| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .value
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 167| getAccessor(2): [Accessor] _modify
|
|
# 167| InterfaceType = (inout Bar) -> () -> ()
|
|
# 167| getSelfParam(): [ParamDecl] self
|
|
# 167| Type = Bar
|
|
# 167| getBody(): [BraceStmt] { ... }
|
|
# 167| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .value
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 168| getMember(2): [PatternBindingDecl] var ... = ...
|
|
#-----| getInit(0): [NilLiteralExpr] nil
|
|
# 168| getPattern(0): [TypedPattern] ... as ...
|
|
# 168| getSubPattern(): [NamedPattern] opt
|
|
# 168| getTypeRepr(): [TypeRepr] Int?
|
|
# 168| getMember(3): [ConcreteVarDecl] opt
|
|
# 168| Type = Int?
|
|
# 168| getAccessor(0): [Accessor] get
|
|
# 168| InterfaceType = (Bar) -> () -> Int?
|
|
# 168| getSelfParam(): [ParamDecl] self
|
|
# 168| Type = Bar
|
|
# 168| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .opt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 168| getAccessor(1): [Accessor] set
|
|
# 168| InterfaceType = (inout Bar) -> (Int?) -> ()
|
|
# 168| getSelfParam(): [ParamDecl] self
|
|
# 168| Type = Bar
|
|
# 168| getParam(0): [ParamDecl] value
|
|
# 168| Type = Int?
|
|
# 168| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .opt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 168| getAccessor(2): [Accessor] _modify
|
|
# 168| InterfaceType = (inout Bar) -> () -> ()
|
|
# 168| getSelfParam(): [ParamDecl] self
|
|
# 168| Type = Bar
|
|
# 168| getBody(): [BraceStmt] { ... }
|
|
# 168| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .opt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 166| getMember(4): [Initializer] Bar.init(value:opt:)
|
|
# 166| InterfaceType = (Bar.Type) -> (Int, Int?) -> Bar
|
|
# 166| getSelfParam(): [ParamDecl] self
|
|
# 166| Type = Bar
|
|
# 166| getParam(0): [ParamDecl] value
|
|
# 166| Type = Int
|
|
# 166| getParam(1): [ParamDecl] opt
|
|
# 166| Type = Int?
|
|
# 171| [StructDecl] Foo
|
|
# 172| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 172| getPattern(0): [TypedPattern] ... as ...
|
|
# 172| getSubPattern(): [NamedPattern] value
|
|
# 172| getTypeRepr(): [TypeRepr] Int
|
|
# 172| getMember(1): [ConcreteVarDecl] value
|
|
# 172| Type = Int
|
|
# 172| getAccessor(0): [Accessor] get
|
|
# 172| InterfaceType = (Foo) -> () -> Int
|
|
# 172| getSelfParam(): [ParamDecl] self
|
|
# 172| Type = Foo
|
|
# 172| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .value
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 172| getAccessor(1): [Accessor] set
|
|
# 172| InterfaceType = (inout Foo) -> (Int) -> ()
|
|
# 172| getSelfParam(): [ParamDecl] self
|
|
# 172| Type = Foo
|
|
# 172| getParam(0): [ParamDecl] value
|
|
# 172| Type = Int
|
|
# 172| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .value
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 172| getAccessor(2): [Accessor] _modify
|
|
# 172| InterfaceType = (inout Foo) -> () -> ()
|
|
# 172| getSelfParam(): [ParamDecl] self
|
|
# 172| Type = Foo
|
|
# 172| getBody(): [BraceStmt] { ... }
|
|
# 172| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .value
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 173| getMember(2): [PatternBindingDecl] var ... = ...
|
|
#-----| getInit(0): [NilLiteralExpr] nil
|
|
# 173| getPattern(0): [TypedPattern] ... as ...
|
|
# 173| getSubPattern(): [NamedPattern] opt
|
|
# 173| getTypeRepr(): [TypeRepr] Bar?
|
|
# 173| getMember(3): [ConcreteVarDecl] opt
|
|
# 173| Type = Bar?
|
|
# 173| getAccessor(0): [Accessor] get
|
|
# 173| InterfaceType = (Foo) -> () -> Bar?
|
|
# 173| getSelfParam(): [ParamDecl] self
|
|
# 173| Type = Foo
|
|
# 173| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .opt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 173| getAccessor(1): [Accessor] set
|
|
# 173| InterfaceType = (inout Foo) -> (Bar?) -> ()
|
|
# 173| getSelfParam(): [ParamDecl] self
|
|
# 173| Type = Foo
|
|
# 173| getParam(0): [ParamDecl] value
|
|
# 173| Type = Bar?
|
|
# 173| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .opt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 173| getAccessor(2): [Accessor] _modify
|
|
# 173| InterfaceType = (inout Foo) -> () -> ()
|
|
# 173| getSelfParam(): [ParamDecl] self
|
|
# 173| Type = Foo
|
|
# 173| getBody(): [BraceStmt] { ... }
|
|
# 173| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .opt
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 171| getMember(4): [Initializer] Foo.init(value:opt:)
|
|
# 171| InterfaceType = (Foo.Type) -> (Int, Bar?) -> Foo
|
|
# 171| getSelfParam(): [ParamDecl] self
|
|
# 171| Type = Foo
|
|
# 171| getParam(0): [ParamDecl] value
|
|
# 171| Type = Int
|
|
# 171| getParam(1): [ParamDecl] opt
|
|
# 171| Type = Bar?
|
|
# 176| [TopLevelCodeDecl] { ... }
|
|
# 176| getBody(): [BraceStmt] { ... }
|
|
# 176| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 176| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 176| getRoot(): [TypeRepr] Foo
|
|
# 176| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 176| getPattern(0): [NamedPattern] prop
|
|
# 176| [ConcreteVarDecl] prop
|
|
# 176| Type = WritableKeyPath<Foo, Int>
|
|
# 177| [TopLevelCodeDecl] { ... }
|
|
# 177| getBody(): [BraceStmt] { ... }
|
|
# 177| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 177| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 177| getRoot(): [TypeRepr] [Int]
|
|
# 177| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 177| getSubscriptArgument(0): [Argument] : 0
|
|
# 177| getExpr(): [IntegerLiteralExpr] 0
|
|
# 177| getPattern(0): [NamedPattern] arrElement
|
|
# 177| [ConcreteVarDecl] arrElement
|
|
# 177| Type = WritableKeyPath<[Int], Int>
|
|
# 178| [TopLevelCodeDecl] { ... }
|
|
# 178| getBody(): [BraceStmt] { ... }
|
|
# 178| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 178| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 178| getRoot(): [TypeRepr] [String : Int]
|
|
# 178| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 178| getSubscriptArgument(0): [Argument] : a
|
|
# 178| getExpr(): [StringLiteralExpr] a
|
|
# 178| getPattern(0): [NamedPattern] dictElement
|
|
# 178| [ConcreteVarDecl] dictElement
|
|
# 178| Type = WritableKeyPath<[String : Int], Int?>
|
|
# 179| [TopLevelCodeDecl] { ... }
|
|
# 179| getBody(): [BraceStmt] { ... }
|
|
# 179| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 179| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 179| getRoot(): [TypeRepr] Optional<Int>
|
|
# 179| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 179| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 179| getPattern(0): [NamedPattern] optForce
|
|
# 179| [ConcreteVarDecl] optForce
|
|
# 179| Type = WritableKeyPath<Optional<Int>, Int>
|
|
# 180| [TopLevelCodeDecl] { ... }
|
|
# 180| getBody(): [BraceStmt] { ... }
|
|
# 180| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 180| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 180| getRoot(): [TypeRepr] Foo
|
|
# 180| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 180| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 180| getComponent(2): [KeyPathComponent] KeyPathComponent
|
|
# 180| getPattern(0): [NamedPattern] optChain
|
|
# 180| [ConcreteVarDecl] optChain
|
|
# 180| Type = KeyPath<Foo, Int?>
|
|
# 181| [TopLevelCodeDecl] { ... }
|
|
# 181| getBody(): [BraceStmt] { ... }
|
|
# 181| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 181| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 181| getRoot(): [TypeRepr] Foo
|
|
# 181| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 181| getComponent(1): [KeyPathComponent] KeyPathComponent
|
|
# 181| getComponent(2): [KeyPathComponent] KeyPathComponent
|
|
#-----| getComponent(3): [KeyPathComponent] KeyPathComponent
|
|
# 181| getPattern(0): [NamedPattern] optChainWrap
|
|
# 181| [ConcreteVarDecl] optChainWrap
|
|
# 181| Type = KeyPath<Foo, Int?>
|
|
# 182| [TopLevelCodeDecl] { ... }
|
|
# 182| getBody(): [BraceStmt] { ... }
|
|
# 182| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 182| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 182| getRoot(): [TypeRepr] Int
|
|
# 182| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 182| getPattern(0): [NamedPattern] slf
|
|
# 182| [ConcreteVarDecl] slf
|
|
# 182| Type = WritableKeyPath<Int, Int>
|
|
# 183| [TopLevelCodeDecl] { ... }
|
|
# 183| getBody(): [BraceStmt] { ... }
|
|
# 183| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 183| getInit(0): [KeyPathExpr] #keyPath(...)
|
|
# 183| getRoot(): [TypeRepr] (Int, Int)
|
|
# 183| getComponent(0): [KeyPathComponent] KeyPathComponent
|
|
# 183| getPattern(0): [NamedPattern] tupleElement
|
|
# 183| [ConcreteVarDecl] tupleElement
|
|
# 183| Type = WritableKeyPath<(Int, Int), Int>
|
|
# 185| [NamedFunction] makeTuple(_:)
|
|
# 185| InterfaceType = <each T> (repeat each T) -> (repeat each T)
|
|
# 185| getGenericTypeParam(0): [GenericTypeParamDecl] T
|
|
# 185| getParam(0): [ParamDecl] t
|
|
# 185| Type = repeat each T
|
|
# 185| getBody(): [BraceStmt] { ... }
|
|
# 186| getElement(0): [ReturnStmt] return ...
|
|
# 186| getResult(): [TupleExpr] (...)
|
|
# 186| getElement(0): [PackExpansionExpr] PackExpansionExpr
|
|
# 186| getPatternExpr(): [PackElementExpr] PackElementExpr
|
|
# 186| getSubExpr(): [DeclRefExpr] t
|
|
# 189| [TopLevelCodeDecl] { ... }
|
|
# 189| getBody(): [BraceStmt] { ... }
|
|
# 189| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 189| getInit(0): [CallExpr] call to makeTuple(_:)
|
|
# 189| getFunction(): [DeclRefExpr] makeTuple(_:)
|
|
# 189| getArgument(0): [Argument] : A
|
|
# 189| getExpr(): [StringLiteralExpr] A
|
|
# 189| getArgument(1): [Argument] : 2
|
|
# 189| getExpr(): [IntegerLiteralExpr] 2
|
|
# 189| getPattern(0): [AnyPattern] _
|
|
patterns.swift:
|
|
# 1| [NamedFunction] basic_patterns()
|
|
# 1| InterfaceType = () -> ()
|
|
# 1| getBody(): [BraceStmt] { ... }
|
|
# 2| getVariable(0): [ConcreteVarDecl] an_int
|
|
# 2| Type = Int
|
|
# 3| getVariable(1): [ConcreteVarDecl] a_string
|
|
# 3| Type = String
|
|
# 4| getVariable(2): [ConcreteVarDecl] x
|
|
# 4| Type = Int
|
|
# 4| getVariable(3): [ConcreteVarDecl] y
|
|
# 4| Type = Int
|
|
# 4| getVariable(4): [ConcreteVarDecl] z
|
|
# 4| Type = Int
|
|
# 2| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 2| getInit(0): [IntegerLiteralExpr] 42
|
|
# 2| getPattern(0): [NamedPattern] an_int
|
|
# 3| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 3| getInit(0): [StringLiteralExpr] here
|
|
# 3| getPattern(0): [TypedPattern] ... as ...
|
|
# 3| getSubPattern(): [NamedPattern] a_string
|
|
# 3| getTypeRepr(): [TypeRepr] String
|
|
# 4| getElement(2): [PatternBindingDecl] var ... = ...
|
|
# 4| getInit(0): [TupleExpr] (...)
|
|
# 4| getElement(0): [IntegerLiteralExpr] 1
|
|
# 4| getElement(1): [IntegerLiteralExpr] 2
|
|
# 4| getElement(2): [IntegerLiteralExpr] 3
|
|
# 4| getPattern(0): [TuplePattern] (...)
|
|
# 4| getElement(0): [NamedPattern] x
|
|
# 4| getElement(1): [NamedPattern] y
|
|
# 4| getElement(2): [NamedPattern] z
|
|
# 5| getElement(3): [PatternBindingDecl] var ... = ...
|
|
# 5| getInit(0): [StringLiteralExpr] any
|
|
# 5| getPattern(0): [AnyPattern] _
|
|
# 6| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 6| getInit(0): [StringLiteralExpr] paren
|
|
# 6| getPattern(0): [AnyPattern] _
|
|
# 6| getPattern(0).getFullyUnresolved(): [ParenPattern] (...)
|
|
# 9| [NamedFunction] switch_patterns()
|
|
# 9| InterfaceType = () -> ()
|
|
# 9| getBody(): [BraceStmt] { ... }
|
|
# 10| getVariable(0): [ConcreteVarDecl] point
|
|
# 10| Type = (Int, Int)
|
|
# 24| getVariable(1): [ConcreteVarDecl] v
|
|
# 24| Type = Foo
|
|
# 31| getVariable(2): [ConcreteVarDecl] w
|
|
# 31| Type = Int?
|
|
# 38| getVariable(3): [ConcreteVarDecl] a
|
|
# 38| Type = Any
|
|
# 46| getVariable(4): [ConcreteVarDecl] b
|
|
# 46| Type = Bool
|
|
# 10| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 10| getInit(0): [TupleExpr] (...)
|
|
# 10| getElement(0): [IntegerLiteralExpr] 1
|
|
# 10| getElement(1): [IntegerLiteralExpr] 2
|
|
# 10| getPattern(0): [NamedPattern] point
|
|
# 11| getElement(1): [SwitchStmt] switch point { ... }
|
|
# 11| getExpr(): [DeclRefExpr] point
|
|
# 12| getCase(0): [CaseStmt] case ...
|
|
# 12| getLabel(0): [CaseLabelItem] (...)
|
|
# 12| getPattern(): [TuplePattern] (...)
|
|
# 12| getElement(0): [NamedPattern] xx
|
|
# 12| getElement(1): [NamedPattern] yy
|
|
# 12| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 12| getVariable(0): [ConcreteVarDecl] xx
|
|
# 12| Type = Int
|
|
# 12| getVariable(1): [ConcreteVarDecl] yy
|
|
# 12| Type = Int
|
|
# 12| getBody(): [BraceStmt] { ... }
|
|
# 12| getElement(0): [StringLiteralExpr] binding
|
|
# 15| getElement(2): [SwitchStmt] switch 3 { ... }
|
|
# 15| getExpr(): [IntegerLiteralExpr] 3
|
|
# 16| getCase(0): [CaseStmt] case ...
|
|
# 16| getLabel(0): [CaseLabelItem] =~ ...
|
|
# 16| getPattern(): [ExprPattern] =~ ...
|
|
# 16| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 16| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 16| getArgument(0): [Argument] : ... .+(_:_:) ...
|
|
# 16| getExpr(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 16| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 16| getBase(): [TypeExpr] Int.Type
|
|
# 16| getTypeRepr(): [TypeRepr] Int
|
|
# 16| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 16| getArgument(0): [Argument] : 1
|
|
# 16| getExpr(): [IntegerLiteralExpr] 1
|
|
# 16| getArgument(1): [Argument] : 2
|
|
# 16| getExpr(): [IntegerLiteralExpr] 2
|
|
# 16| getArgument(1): [Argument] : $match
|
|
# 16| getExpr(): [DeclRefExpr] $match
|
|
# 16| getBody(): [BraceStmt] { ... }
|
|
# 16| getElement(0): [StringLiteralExpr] expr
|
|
# 17| getCase(1): [CaseStmt] case ...
|
|
# 17| getLabel(0): [CaseLabelItem] _
|
|
# 17| getPattern(): [AnyPattern] _
|
|
# 17| getBody(): [BraceStmt] { ... }
|
|
# 17| getElement(0): [StringLiteralExpr]
|
|
# 20| getElement(3): [EnumDecl] Foo
|
|
# 21| getMember(0): [EnumCaseDecl] case ...
|
|
# 21| getMember(1): [EnumElementDecl] bar
|
|
# 21| getMember(2): [EnumElementDecl] baz
|
|
# 21| getParam(0): [ParamDecl] _
|
|
# 21| Type = Int
|
|
# 21| getParam(1): [ParamDecl] _
|
|
# 21| Type = String
|
|
# 24| getElement(4): [PatternBindingDecl] var ... = ...
|
|
# 24| getInit(0): [MethodLookupExpr] .bar
|
|
# 24| getBase(): [TypeExpr] Foo.Type
|
|
# 24| getTypeRepr(): [TypeRepr] Foo
|
|
# 24| getMethodRef(): [DeclRefExpr] bar
|
|
# 24| getPattern(0): [TypedPattern] ... as ...
|
|
# 24| getSubPattern(): [NamedPattern] v
|
|
# 24| getTypeRepr(): [TypeRepr] Foo
|
|
# 26| getElement(5): [SwitchStmt] switch v { ... }
|
|
# 26| getExpr(): [DeclRefExpr] v
|
|
# 27| getCase(0): [CaseStmt] case ...
|
|
# 27| getLabel(0): [CaseLabelItem] .bar
|
|
# 27| getPattern(): [EnumElementPattern] .bar
|
|
# 27| getBody(): [BraceStmt] { ... }
|
|
# 27| getElement(0): [StringLiteralExpr] bar
|
|
# 28| getCase(1): [CaseStmt] case ...
|
|
# 28| getLabel(0): [CaseLabelItem] .baz(...)
|
|
# 28| getPattern(): [EnumElementPattern] .baz(...)
|
|
# 28| getSubPattern(): [TuplePattern] (...)
|
|
# 28| getElement(0): [NamedPattern] i
|
|
# 28| getElement(1): [NamedPattern] s
|
|
# 28| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 28| getVariable(0): [ConcreteVarDecl] i
|
|
# 28| Type = Int
|
|
# 28| getVariable(1): [ConcreteVarDecl] s
|
|
# 28| Type = String
|
|
# 28| getBody(): [BraceStmt] { ... }
|
|
# 28| getElement(0): [DeclRefExpr] i
|
|
# 31| getElement(6): [PatternBindingDecl] var ... = ...
|
|
# 31| getInit(0): [NilLiteralExpr] nil
|
|
# 31| getPattern(0): [TypedPattern] ... as ...
|
|
# 31| getSubPattern(): [NamedPattern] w
|
|
# 31| getTypeRepr(): [TypeRepr] Int?
|
|
# 33| getElement(7): [SwitchStmt] switch w { ... }
|
|
# 33| getExpr(): [DeclRefExpr] w
|
|
# 34| getCase(0): [CaseStmt] case ...
|
|
# 34| getLabel(0): [CaseLabelItem] let ...?
|
|
# 34| getPattern(): [OptionalSomePattern] let ...?
|
|
# 34| getSubPattern(): [NamedPattern] n
|
|
# 34| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 34| getVariable(0): [ConcreteVarDecl] n
|
|
# 34| Type = Int
|
|
# 34| getBody(): [BraceStmt] { ... }
|
|
# 34| getElement(0): [DeclRefExpr] n
|
|
# 35| getCase(1): [CaseStmt] case ...
|
|
# 35| getLabel(0): [CaseLabelItem] _
|
|
# 35| getPattern(): [AnyPattern] _
|
|
# 35| getBody(): [BraceStmt] { ... }
|
|
# 35| getElement(0): [StringLiteralExpr] none
|
|
# 38| getElement(8): [PatternBindingDecl] var ... = ...
|
|
# 38| getInit(0): [StringLiteralExpr] any
|
|
# 38| getInit(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 38| getPattern(0): [TypedPattern] ... as ...
|
|
# 38| getSubPattern(): [NamedPattern] a
|
|
# 38| getTypeRepr(): [TypeRepr] Any
|
|
# 40| getElement(9): [SwitchStmt] switch a { ... }
|
|
# 40| getExpr(): [DeclRefExpr] a
|
|
# 41| getCase(0): [CaseStmt] case ...
|
|
# 41| getLabel(0): [CaseLabelItem] ... is ...
|
|
# 41| getPattern(): [IsPattern] ... is ...
|
|
# 41| getCastTypeRepr(): [TypeRepr] Int
|
|
# 41| getBody(): [BraceStmt] { ... }
|
|
# 41| getElement(0): [StringLiteralExpr] is pattern
|
|
# 42| getCase(1): [CaseStmt] case ...
|
|
# 42| getLabel(0): [CaseLabelItem] ... is ...
|
|
# 42| getPattern(): [IsPattern] ... is ...
|
|
# 42| getCastTypeRepr(): [TypeRepr] String
|
|
# 42| getSubPattern(): [NamedPattern] x
|
|
# 42| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 42| getVariable(0): [ConcreteVarDecl] x
|
|
# 42| Type = String
|
|
# 42| getBody(): [BraceStmt] { ... }
|
|
# 42| getElement(0): [StringLiteralExpr] as pattern
|
|
# 43| getCase(2): [CaseStmt] case ...
|
|
# 43| getLabel(0): [CaseLabelItem] _
|
|
# 43| getPattern(): [AnyPattern] _
|
|
# 43| getBody(): [BraceStmt] { ... }
|
|
# 43| getElement(0): [StringLiteralExpr] other
|
|
# 46| getElement(10): [PatternBindingDecl] var ... = ...
|
|
# 46| getInit(0): [BooleanLiteralExpr] true
|
|
# 46| getPattern(0): [NamedPattern] b
|
|
# 48| getElement(11): [SwitchStmt] switch b { ... }
|
|
# 48| getExpr(): [DeclRefExpr] b
|
|
# 49| getCase(0): [CaseStmt] case ...
|
|
# 49| getLabel(0): [CaseLabelItem] true
|
|
# 49| getPattern(): [BoolPattern] true
|
|
# 49| getBody(): [BraceStmt] { ... }
|
|
# 49| getElement(0): [StringLiteralExpr] true
|
|
# 50| getCase(1): [CaseStmt] case ...
|
|
# 50| getLabel(0): [CaseLabelItem] false
|
|
# 50| getPattern(): [BoolPattern] false
|
|
# 50| getBody(): [BraceStmt] { ... }
|
|
# 50| getElement(0): [StringLiteralExpr] false
|
|
# 16| [ConcreteVarDecl] $match
|
|
# 16| Type = Int
|
|
# 54| [NamedFunction] bound_and_unbound()
|
|
# 54| InterfaceType = () -> ()
|
|
# 54| getBody(): [BraceStmt] { ... }
|
|
# 55| getVariable(0): [ConcreteVarDecl] a
|
|
# 55| Type = Int
|
|
# 55| getVariable(1): [ConcreteVarDecl] b
|
|
# 55| Type = Int
|
|
# 55| getVariable(2): [ConcreteVarDecl] c
|
|
# 55| Type = Int
|
|
# 55| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 55| getInit(0): [IntegerLiteralExpr] 1
|
|
# 55| getInit(1): [IntegerLiteralExpr] 2
|
|
# 55| getInit(2): [IntegerLiteralExpr] 3
|
|
# 55| getPattern(0): [NamedPattern] a
|
|
# 55| getPattern(1): [NamedPattern] b
|
|
# 55| getPattern(2): [TypedPattern] ... as ...
|
|
# 55| getSubPattern(): [NamedPattern] c
|
|
# 55| getTypeRepr(): [TypeRepr] Int
|
|
# 57| getElement(1): [IfStmt] if ... then { ... }
|
|
# 57| getCondition(): [StmtCondition] StmtCondition
|
|
# 57| getElement(0): [ConditionElement] let ...? = ...
|
|
# 57| getPattern(): [OptionalSomePattern] let ...?
|
|
# 57| getSubPattern(): [TuplePattern] (...)
|
|
# 57| getElement(0): [NamedPattern] a
|
|
# 57| getElement(1): [NamedPattern] b
|
|
# 57| getElement(2): [NamedPattern] c
|
|
# 57| getSubPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 57| getInitializer(): [CallExpr] call to ...
|
|
# 57| getFunction(): [MethodLookupExpr] .some
|
|
# 57| getBase(): [TypeExpr] Optional<(Int, Int, Int)>.Type
|
|
# 57| getTypeRepr(): [TypeRepr] Optional<(Int, Int, Int)>
|
|
# 57| getMethodRef(): [DeclRefExpr] some
|
|
# 57| getArgument(0): [Argument] : (...)
|
|
# 57| getExpr(): [TupleExpr] (...)
|
|
# 57| getElement(0): [DeclRefExpr] a
|
|
# 57| getElement(1): [DeclRefExpr] b
|
|
# 57| getElement(2): [DeclRefExpr] c
|
|
# 57| getThen(): [BraceStmt] { ... }
|
|
# 57| getElement(0): [AssignExpr] ... = ...
|
|
# 57| getDest(): [DiscardAssignmentExpr] _
|
|
# 57| getSource(): [TupleExpr] (...)
|
|
# 57| getElement(0): [DeclRefExpr] a
|
|
# 57| getElement(1): [DeclRefExpr] c
|
|
# 58| getElement(2): [IfStmt] if ... then { ... }
|
|
# 58| getCondition(): [StmtCondition] StmtCondition
|
|
# 58| getElement(0): [ConditionElement] (...) = ...
|
|
# 58| getPattern(): [TuplePattern] (...)
|
|
# 58| getElement(0): [ExprPattern] =~ ...
|
|
# 58| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 58| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 58| getArgument(0): [Argument] : a
|
|
# 58| getExpr(): [DeclRefExpr] a
|
|
# 58| getArgument(1): [Argument] : $match
|
|
# 58| getExpr(): [DeclRefExpr] $match
|
|
# 58| getElement(1): [NamedPattern] b
|
|
# 58| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 58| getElement(2): [NamedPattern] c
|
|
# 58| getElement(2).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 58| getInitializer(): [TupleExpr] (...)
|
|
# 58| getElement(0): [DeclRefExpr] a
|
|
# 58| getElement(1): [DeclRefExpr] b
|
|
# 58| getElement(2): [DeclRefExpr] c
|
|
# 58| getThen(): [BraceStmt] { ... }
|
|
# 58| getElement(0): [AssignExpr] ... = ...
|
|
# 58| getDest(): [DiscardAssignmentExpr] _
|
|
# 58| getSource(): [DeclRefExpr] b
|
|
# 58| getSource().getFullyConverted(): [ParenExpr] (...)
|
|
# 60| getElement(3): [SwitchStmt] switch a { ... }
|
|
# 60| getExpr(): [DeclRefExpr] a
|
|
# 61| getCase(0): [CaseStmt] case ...
|
|
# 61| getLabel(0): [CaseLabelItem] =~ ...
|
|
# 61| getPattern(): [ExprPattern] =~ ...
|
|
# 61| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 61| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 61| getArgument(0): [Argument] : c
|
|
# 61| getExpr(): [DeclRefExpr] c
|
|
# 61| getArgument(1): [Argument] : $match
|
|
# 61| getExpr(): [DeclRefExpr] $match
|
|
# 61| getBody(): [BraceStmt] { ... }
|
|
# 61| getElement(0): [StringLiteralExpr] equals c
|
|
# 62| getCase(1): [CaseStmt] case ...
|
|
# 62| getLabel(0): [CaseLabelItem] c
|
|
# 62| getPattern(): [NamedPattern] c
|
|
# 62| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 62| getVariable(0): [ConcreteVarDecl] c
|
|
# 62| Type = Int
|
|
# 62| getBody(): [BraceStmt] { ... }
|
|
# 62| getElement(0): [StringLiteralExpr] binds c
|
|
# 63| getCase(2): [CaseStmt] case ...
|
|
# 63| getLabel(0): [CaseLabelItem] _
|
|
# 63| getPattern(): [AnyPattern] _
|
|
# 63| getBody(): [BraceStmt] { ... }
|
|
# 63| getElement(0): [StringLiteralExpr] default
|
|
# 57| [ConcreteVarDecl] a
|
|
# 57| Type = Int
|
|
# 57| [ConcreteVarDecl] b
|
|
# 57| Type = Int
|
|
# 57| [ConcreteVarDecl] c
|
|
# 57| Type = Int
|
|
# 58| [ConcreteVarDecl] $match
|
|
# 58| Type = Int
|
|
# 58| [ConcreteVarDecl] b
|
|
# 58| Type = Int
|
|
# 58| [ConcreteVarDecl] c
|
|
# 58| Type = Int
|
|
# 61| [ConcreteVarDecl] $match
|
|
# 61| Type = Int
|
|
# 67| [NamedFunction] source()
|
|
# 67| InterfaceType = () -> Int
|
|
# 67| getBody(): [BraceStmt] { ... }
|
|
# 67| getElement(0): [ReturnStmt] return ...
|
|
# 67| getResult(): [IntegerLiteralExpr] 0
|
|
# 68| [NamedFunction] sink(arg:)
|
|
# 68| InterfaceType = (Int) -> ()
|
|
# 68| getParam(0): [ParamDecl] arg
|
|
# 68| Type = Int
|
|
# 68| getBody(): [BraceStmt] { ... }
|
|
# 70| [EnumDecl] MyEnum
|
|
# 71| getMember(0): [EnumCaseDecl] case ...
|
|
# 71| getMember(1): [EnumElementDecl] myNone
|
|
# 72| getMember(2): [EnumCaseDecl] case ...
|
|
# 72| getMember(3): [EnumElementDecl] mySingle
|
|
# 72| getParam(0): [ParamDecl] _
|
|
# 72| Type = Int
|
|
# 73| getMember(4): [EnumCaseDecl] case ...
|
|
# 73| getMember(5): [EnumElementDecl] myPair
|
|
# 73| getParam(0): [ParamDecl] _
|
|
# 73| Type = Int
|
|
# 73| getParam(1): [ParamDecl] _
|
|
# 73| Type = Int
|
|
# 74| getMember(6): [EnumCaseDecl] case ...
|
|
# 74| getMember(7): [EnumElementDecl] myCons
|
|
# 74| getParam(0): [ParamDecl] _
|
|
# 74| Type = Int
|
|
# 74| getParam(1): [ParamDecl] _
|
|
# 74| Type = MyEnum
|
|
# 77| [NamedFunction] test_enums()
|
|
# 77| InterfaceType = () -> ()
|
|
# 77| getBody(): [BraceStmt] { ... }
|
|
# 78| getVariable(0): [ConcreteVarDecl] a
|
|
# 78| Type = MyEnum
|
|
# 144| getVariable(1): [ConcreteVarDecl] b
|
|
# 144| Type = MyEnum
|
|
# 78| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 78| getInit(0): [MethodLookupExpr] .myNone
|
|
# 78| getBase(): [TypeExpr] MyEnum.Type
|
|
# 78| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 78| getMethodRef(): [DeclRefExpr] myNone
|
|
# 78| getPattern(0): [TypedPattern] ... as ...
|
|
# 78| getSubPattern(): [NamedPattern] a
|
|
# 78| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 80| getElement(1): [SwitchStmt] switch a { ... }
|
|
# 80| getExpr(): [DeclRefExpr] a
|
|
# 80| getExpr().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 81| getCase(0): [CaseStmt] case ...
|
|
# 81| getLabel(0): [CaseLabelItem] .myNone
|
|
# 81| getPattern(): [EnumElementPattern] .myNone
|
|
# 82| getBody(): [BraceStmt] { ... }
|
|
# 82| getElement(0): [TupleExpr] (...)
|
|
# 83| getCase(1): [CaseStmt] case ...
|
|
# 83| getLabel(0): [CaseLabelItem] .mySingle(...)
|
|
# 83| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 83| getSubPattern(): [NamedPattern] a
|
|
# 83| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 83| getSubPattern(): [BindingPattern] let ...
|
|
# 83| getVariable(0): [ConcreteVarDecl] a
|
|
# 83| Type = (Int)
|
|
# 84| getBody(): [BraceStmt] { ... }
|
|
# 84| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 84| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 84| getArgument(0): [Argument] arg: a
|
|
# 84| getExpr(): [DeclRefExpr] a
|
|
# 85| getCase(2): [CaseStmt] case ...
|
|
# 85| getLabel(0): [CaseLabelItem] .myPair(...)
|
|
# 85| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 85| getSubPattern(): [TuplePattern] (...)
|
|
# 85| getElement(0): [NamedPattern] a
|
|
# 85| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 85| getElement(1): [NamedPattern] b
|
|
# 85| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 85| getVariable(0): [ConcreteVarDecl] a
|
|
# 85| Type = Int
|
|
# 85| getVariable(1): [ConcreteVarDecl] b
|
|
# 85| Type = Int
|
|
# 86| getBody(): [BraceStmt] { ... }
|
|
# 86| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 86| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 86| getArgument(0): [Argument] arg: a
|
|
# 86| getExpr(): [DeclRefExpr] a
|
|
# 87| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 87| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 87| getArgument(0): [Argument] arg: b
|
|
# 87| getExpr(): [DeclRefExpr] b
|
|
# 88| getCase(3): [CaseStmt] case ...
|
|
# 88| getLabel(0): [CaseLabelItem] .myCons(...)
|
|
# 88| getPattern(): [EnumElementPattern] .myCons(...)
|
|
# 88| getSubPattern(): [TuplePattern] (...)
|
|
# 88| getElement(0): [NamedPattern] a
|
|
# 88| getElement(1): [AnyPattern] _
|
|
# 88| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 88| getVariable(0): [ConcreteVarDecl] a
|
|
# 88| Type = Int
|
|
# 89| getBody(): [BraceStmt] { ... }
|
|
# 89| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 89| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 89| getArgument(0): [Argument] arg: a
|
|
# 89| getExpr(): [DeclRefExpr] a
|
|
# 92| getElement(2): [IfStmt] if ... then { ... }
|
|
# 92| getCondition(): [StmtCondition] StmtCondition
|
|
# 92| getElement(0): [ConditionElement] .mySingle(...) = ...
|
|
# 92| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 92| getSubPattern(): [NamedPattern] x
|
|
# 92| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 92| getSubPattern(): [BindingPattern] let ...
|
|
# 92| getInitializer(): [DeclRefExpr] a
|
|
# 92| getInitializer().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 92| getThen(): [BraceStmt] { ... }
|
|
# 93| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 93| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 93| getArgument(0): [Argument] arg: x
|
|
# 93| getExpr(): [DeclRefExpr] x
|
|
# 95| getElement(3): [IfStmt] if ... then { ... }
|
|
# 95| getCondition(): [StmtCondition] StmtCondition
|
|
# 95| getElement(0): [ConditionElement] .myPair(...) = ...
|
|
# 95| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 95| getSubPattern(): [TuplePattern] (...)
|
|
# 95| getElement(0): [NamedPattern] x
|
|
# 95| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 95| getElement(1): [NamedPattern] y
|
|
# 95| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 95| getInitializer(): [DeclRefExpr] a
|
|
# 95| getInitializer().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 95| getThen(): [BraceStmt] { ... }
|
|
# 96| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 96| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 96| getArgument(0): [Argument] arg: x
|
|
# 96| getExpr(): [DeclRefExpr] x
|
|
# 97| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 97| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 97| getArgument(0): [Argument] arg: y
|
|
# 97| getExpr(): [DeclRefExpr] y
|
|
# 100| getElement(4): [AssignExpr] ... = ...
|
|
# 100| getDest(): [DeclRefExpr] a
|
|
# 100| getSource(): [CallExpr] call to ...
|
|
# 100| getFunction(): [MethodLookupExpr] .mySingle
|
|
# 100| getBase(): [TypeExpr] MyEnum.Type
|
|
# 100| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 100| getMethodRef(): [DeclRefExpr] mySingle
|
|
# 100| getArgument(0): [Argument] : call to source()
|
|
# 100| getExpr(): [CallExpr] call to source()
|
|
# 100| getFunction(): [DeclRefExpr] source()
|
|
# 102| getElement(5): [SwitchStmt] switch a { ... }
|
|
# 102| getExpr(): [DeclRefExpr] a
|
|
# 102| getExpr().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 103| getCase(0): [CaseStmt] case ...
|
|
# 103| getLabel(0): [CaseLabelItem] .myNone
|
|
# 103| getPattern(): [EnumElementPattern] .myNone
|
|
# 104| getBody(): [BraceStmt] { ... }
|
|
# 104| getElement(0): [TupleExpr] (...)
|
|
# 105| getCase(1): [CaseStmt] case ...
|
|
# 105| getLabel(0): [CaseLabelItem] .mySingle(...)
|
|
# 105| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 105| getSubPattern(): [NamedPattern] a
|
|
# 105| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 105| getSubPattern(): [BindingPattern] let ...
|
|
# 105| getVariable(0): [ConcreteVarDecl] a
|
|
# 105| Type = (Int)
|
|
# 106| getBody(): [BraceStmt] { ... }
|
|
# 106| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 106| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 106| getArgument(0): [Argument] arg: a
|
|
# 106| getExpr(): [DeclRefExpr] a
|
|
# 107| getCase(2): [CaseStmt] case ...
|
|
# 107| getLabel(0): [CaseLabelItem] .myPair(...)
|
|
# 107| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 107| getSubPattern(): [TuplePattern] (...)
|
|
# 107| getElement(0): [NamedPattern] a
|
|
# 107| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 107| getElement(1): [NamedPattern] b
|
|
# 107| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 107| getVariable(0): [ConcreteVarDecl] a
|
|
# 107| Type = Int
|
|
# 107| getVariable(1): [ConcreteVarDecl] b
|
|
# 107| Type = Int
|
|
# 108| getBody(): [BraceStmt] { ... }
|
|
# 108| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 108| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 108| getArgument(0): [Argument] arg: a
|
|
# 108| getExpr(): [DeclRefExpr] a
|
|
# 109| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 109| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 109| getArgument(0): [Argument] arg: b
|
|
# 109| getExpr(): [DeclRefExpr] b
|
|
# 110| getCase(3): [CaseStmt] case ...
|
|
# 110| getLabel(0): [CaseLabelItem] .myCons(...)
|
|
# 110| getPattern(): [EnumElementPattern] .myCons(...)
|
|
# 110| getSubPattern(): [TuplePattern] (...)
|
|
# 110| getElement(0): [NamedPattern] a
|
|
# 110| getElement(1): [AnyPattern] _
|
|
# 110| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 110| getVariable(0): [ConcreteVarDecl] a
|
|
# 110| Type = Int
|
|
# 111| getBody(): [BraceStmt] { ... }
|
|
# 111| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 111| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 111| getArgument(0): [Argument] arg: a
|
|
# 111| getExpr(): [DeclRefExpr] a
|
|
# 114| getElement(6): [IfStmt] if ... then { ... }
|
|
# 114| getCondition(): [StmtCondition] StmtCondition
|
|
# 114| getElement(0): [ConditionElement] .mySingle(...) = ...
|
|
# 114| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 114| getSubPattern(): [NamedPattern] x
|
|
# 114| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 114| getSubPattern(): [BindingPattern] let ...
|
|
# 114| getInitializer(): [DeclRefExpr] a
|
|
# 114| getInitializer().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 114| getThen(): [BraceStmt] { ... }
|
|
# 115| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 115| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 115| getArgument(0): [Argument] arg: x
|
|
# 115| getExpr(): [DeclRefExpr] x
|
|
# 117| getElement(7): [IfStmt] if ... then { ... }
|
|
# 117| getCondition(): [StmtCondition] StmtCondition
|
|
# 117| getElement(0): [ConditionElement] .myPair(...) = ...
|
|
# 117| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 117| getSubPattern(): [TuplePattern] (...)
|
|
# 117| getElement(0): [NamedPattern] x
|
|
# 117| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 117| getElement(1): [NamedPattern] y
|
|
# 117| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 117| getInitializer(): [DeclRefExpr] a
|
|
# 117| getInitializer().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 117| getThen(): [BraceStmt] { ... }
|
|
# 118| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 118| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 118| getArgument(0): [Argument] arg: x
|
|
# 118| getExpr(): [DeclRefExpr] x
|
|
# 119| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 119| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 119| getArgument(0): [Argument] arg: y
|
|
# 119| getExpr(): [DeclRefExpr] y
|
|
# 122| getElement(8): [AssignExpr] ... = ...
|
|
# 122| getDest(): [DeclRefExpr] a
|
|
# 122| getSource(): [CallExpr] call to ...
|
|
# 122| getFunction(): [MethodLookupExpr] .myPair
|
|
# 122| getBase(): [TypeExpr] MyEnum.Type
|
|
# 122| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 122| getMethodRef(): [DeclRefExpr] myPair
|
|
# 122| getArgument(0): [Argument] : 0
|
|
# 122| getExpr(): [IntegerLiteralExpr] 0
|
|
# 122| getArgument(1): [Argument] : call to source()
|
|
# 122| getExpr(): [CallExpr] call to source()
|
|
# 122| getFunction(): [DeclRefExpr] source()
|
|
# 124| getElement(9): [SwitchStmt] switch a { ... }
|
|
# 124| getExpr(): [DeclRefExpr] a
|
|
# 124| getExpr().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 125| getCase(0): [CaseStmt] case ...
|
|
# 125| getLabel(0): [CaseLabelItem] .myNone
|
|
# 125| getPattern(): [EnumElementPattern] .myNone
|
|
# 126| getBody(): [BraceStmt] { ... }
|
|
# 126| getElement(0): [TupleExpr] (...)
|
|
# 127| getCase(1): [CaseStmt] case ...
|
|
# 127| getLabel(0): [CaseLabelItem] .mySingle(...)
|
|
# 127| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 127| getSubPattern(): [NamedPattern] a
|
|
# 127| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 127| getSubPattern(): [BindingPattern] let ...
|
|
# 127| getVariable(0): [ConcreteVarDecl] a
|
|
# 127| Type = (Int)
|
|
# 128| getBody(): [BraceStmt] { ... }
|
|
# 128| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 128| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 128| getArgument(0): [Argument] arg: a
|
|
# 128| getExpr(): [DeclRefExpr] a
|
|
# 129| getCase(2): [CaseStmt] case ...
|
|
# 129| getLabel(0): [CaseLabelItem] .myPair(...)
|
|
# 129| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 129| getSubPattern(): [TuplePattern] (...)
|
|
# 129| getElement(0): [NamedPattern] a
|
|
# 129| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 129| getElement(1): [NamedPattern] b
|
|
# 129| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 129| getVariable(0): [ConcreteVarDecl] a
|
|
# 129| Type = Int
|
|
# 129| getVariable(1): [ConcreteVarDecl] b
|
|
# 129| Type = Int
|
|
# 130| getBody(): [BraceStmt] { ... }
|
|
# 130| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 130| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 130| getArgument(0): [Argument] arg: a
|
|
# 130| getExpr(): [DeclRefExpr] a
|
|
# 131| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 131| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 131| getArgument(0): [Argument] arg: b
|
|
# 131| getExpr(): [DeclRefExpr] b
|
|
# 132| getCase(3): [CaseStmt] case ...
|
|
# 132| getLabel(0): [CaseLabelItem] .myCons(...)
|
|
# 132| getPattern(): [EnumElementPattern] .myCons(...)
|
|
# 132| getSubPattern(): [TuplePattern] (...)
|
|
# 132| getElement(0): [NamedPattern] a
|
|
# 132| getElement(1): [AnyPattern] _
|
|
# 132| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 132| getVariable(0): [ConcreteVarDecl] a
|
|
# 132| Type = Int
|
|
# 133| getBody(): [BraceStmt] { ... }
|
|
# 133| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 133| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 133| getArgument(0): [Argument] arg: a
|
|
# 133| getExpr(): [DeclRefExpr] a
|
|
# 136| getElement(10): [IfStmt] if ... then { ... }
|
|
# 136| getCondition(): [StmtCondition] StmtCondition
|
|
# 136| getElement(0): [ConditionElement] .mySingle(...) = ...
|
|
# 136| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 136| getSubPattern(): [NamedPattern] x
|
|
# 136| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 136| getSubPattern(): [BindingPattern] let ...
|
|
# 136| getInitializer(): [DeclRefExpr] a
|
|
# 136| getInitializer().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 136| getThen(): [BraceStmt] { ... }
|
|
# 137| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 137| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 137| getArgument(0): [Argument] arg: x
|
|
# 137| getExpr(): [DeclRefExpr] x
|
|
# 139| getElement(11): [IfStmt] if ... then { ... }
|
|
# 139| getCondition(): [StmtCondition] StmtCondition
|
|
# 139| getElement(0): [ConditionElement] .myPair(...) = ...
|
|
# 139| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 139| getSubPattern(): [TuplePattern] (...)
|
|
# 139| getElement(0): [NamedPattern] x
|
|
# 139| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 139| getElement(1): [NamedPattern] y
|
|
# 139| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 139| getInitializer(): [DeclRefExpr] a
|
|
# 139| getInitializer().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 139| getThen(): [BraceStmt] { ... }
|
|
# 140| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 140| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 140| getArgument(0): [Argument] arg: x
|
|
# 140| getExpr(): [DeclRefExpr] x
|
|
# 141| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 141| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 141| getArgument(0): [Argument] arg: y
|
|
# 141| getExpr(): [DeclRefExpr] y
|
|
# 144| getElement(12): [PatternBindingDecl] var ... = ...
|
|
# 144| getInit(0): [CallExpr] call to ...
|
|
# 144| getFunction(): [MethodLookupExpr] .myCons
|
|
# 144| getBase(): [TypeExpr] MyEnum.Type
|
|
# 144| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 144| getMethodRef(): [DeclRefExpr] myCons
|
|
# 144| getArgument(0): [Argument] : 42
|
|
# 144| getExpr(): [IntegerLiteralExpr] 42
|
|
# 144| getArgument(1): [Argument] : a
|
|
# 144| getExpr(): [DeclRefExpr] a
|
|
# 144| getExpr().getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 144| getPattern(0): [TypedPattern] ... as ...
|
|
# 144| getSubPattern(): [NamedPattern] b
|
|
# 144| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 146| getElement(13): [SwitchStmt] switch b { ... }
|
|
# 146| getExpr(): [DeclRefExpr] b
|
|
# 147| getCase(0): [CaseStmt] case ...
|
|
# 147| getLabel(0): [CaseLabelItem] .myNone
|
|
# 147| getPattern(): [EnumElementPattern] .myNone
|
|
# 148| getBody(): [BraceStmt] { ... }
|
|
# 148| getElement(0): [TupleExpr] (...)
|
|
# 149| getCase(1): [CaseStmt] case ...
|
|
# 149| getLabel(0): [CaseLabelItem] .mySingle(...)
|
|
# 149| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 149| getSubPattern(): [NamedPattern] a
|
|
# 149| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 149| getSubPattern(): [BindingPattern] let ...
|
|
# 149| getVariable(0): [ConcreteVarDecl] a
|
|
# 149| Type = (Int)
|
|
# 150| getBody(): [BraceStmt] { ... }
|
|
# 150| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 150| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 150| getArgument(0): [Argument] arg: a
|
|
# 150| getExpr(): [DeclRefExpr] a
|
|
# 151| getCase(2): [CaseStmt] case ...
|
|
# 151| getLabel(0): [CaseLabelItem] .myPair(...)
|
|
# 151| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 151| getSubPattern(): [TuplePattern] (...)
|
|
# 151| getElement(0): [NamedPattern] a
|
|
# 151| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 151| getElement(1): [NamedPattern] b
|
|
# 151| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 151| getVariable(0): [ConcreteVarDecl] a
|
|
# 151| Type = Int
|
|
# 151| getVariable(1): [ConcreteVarDecl] b
|
|
# 151| Type = Int
|
|
# 152| getBody(): [BraceStmt] { ... }
|
|
# 152| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 152| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 152| getArgument(0): [Argument] arg: a
|
|
# 152| getExpr(): [DeclRefExpr] a
|
|
# 153| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 153| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 153| getArgument(0): [Argument] arg: b
|
|
# 153| getExpr(): [DeclRefExpr] b
|
|
# 154| getCase(3): [CaseStmt] case ...
|
|
# 154| getLabel(0): [CaseLabelItem] .myCons(...)
|
|
# 154| getPattern(): [EnumElementPattern] .myCons(...)
|
|
# 154| getSubPattern(): [TuplePattern] (...)
|
|
# 154| getElement(0): [NamedPattern] a
|
|
# 154| getElement(1): [EnumElementPattern] .myPair(...)
|
|
# 154| getSubPattern(): [TuplePattern] (...)
|
|
# 154| getElement(0): [NamedPattern] b
|
|
# 154| getElement(1): [NamedPattern] c
|
|
# 154| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 154| getVariable(0): [ConcreteVarDecl] a
|
|
# 154| Type = Int
|
|
# 154| getVariable(1): [ConcreteVarDecl] b
|
|
# 154| Type = Int
|
|
# 154| getVariable(2): [ConcreteVarDecl] c
|
|
# 154| Type = Int
|
|
# 155| getBody(): [BraceStmt] { ... }
|
|
# 155| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 155| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 155| getArgument(0): [Argument] arg: a
|
|
# 155| getExpr(): [DeclRefExpr] a
|
|
# 156| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 156| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 156| getArgument(0): [Argument] arg: b
|
|
# 156| getExpr(): [DeclRefExpr] b
|
|
# 157| getElement(2): [CallExpr] call to sink(arg:)
|
|
# 157| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 157| getArgument(0): [Argument] arg: c
|
|
# 157| getExpr(): [DeclRefExpr] c
|
|
# 158| getCase(4): [CaseStmt] case ...
|
|
# 158| getLabel(0): [CaseLabelItem] .myCons(...)
|
|
# 158| getPattern(): [EnumElementPattern] .myCons(...)
|
|
# 158| getSubPattern(): [TuplePattern] (...)
|
|
# 158| getElement(0): [NamedPattern] a
|
|
# 158| getElement(1): [AnyPattern] _
|
|
# 158| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 158| getVariable(0): [ConcreteVarDecl] a
|
|
# 158| Type = Int
|
|
# 159| getBody(): [BraceStmt] { ... }
|
|
# 159| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 159| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 159| getArgument(0): [Argument] arg: a
|
|
# 159| getExpr(): [DeclRefExpr] a
|
|
# 162| getElement(14): [IfStmt] if ... then { ... }
|
|
# 162| getCondition(): [StmtCondition] StmtCondition
|
|
# 162| getElement(0): [ConditionElement] .mySingle(...) = ...
|
|
# 162| getPattern(): [EnumElementPattern] .mySingle(...)
|
|
# 162| getSubPattern(): [NamedPattern] x
|
|
# 162| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 162| getSubPattern(): [BindingPattern] let ...
|
|
# 162| getInitializer(): [CallExpr] call to ...
|
|
# 162| getFunction(): [MethodLookupExpr] .myPair
|
|
# 162| getBase(): [TypeExpr] MyEnum.Type
|
|
# 162| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 162| getMethodRef(): [DeclRefExpr] myPair
|
|
# 162| getArgument(0): [Argument] : call to source()
|
|
# 162| getExpr(): [CallExpr] call to source()
|
|
# 162| getFunction(): [DeclRefExpr] source()
|
|
# 162| getArgument(1): [Argument] : 0
|
|
# 162| getExpr(): [IntegerLiteralExpr] 0
|
|
# 162| getThen(): [BraceStmt] { ... }
|
|
# 163| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 163| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 163| getArgument(0): [Argument] arg: x
|
|
# 163| getExpr(): [DeclRefExpr] x
|
|
# 165| getElement(15): [IfStmt] if ... then { ... }
|
|
# 165| getCondition(): [StmtCondition] StmtCondition
|
|
# 165| getElement(0): [ConditionElement] .myPair(...) = ...
|
|
# 165| getPattern(): [EnumElementPattern] .myPair(...)
|
|
# 165| getSubPattern(): [TuplePattern] (...)
|
|
# 165| getElement(0): [NamedPattern] x
|
|
# 165| getElement(0).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 165| getElement(1): [NamedPattern] y
|
|
# 165| getElement(1).getFullyUnresolved(): [BindingPattern] let ...
|
|
# 165| getInitializer(): [CallExpr] call to ...
|
|
# 165| getFunction(): [MethodLookupExpr] .myPair
|
|
# 165| getBase(): [TypeExpr] MyEnum.Type
|
|
# 165| getTypeRepr(): [TypeRepr] MyEnum
|
|
# 165| getMethodRef(): [DeclRefExpr] myPair
|
|
# 165| getArgument(0): [Argument] : call to source()
|
|
# 165| getExpr(): [CallExpr] call to source()
|
|
# 165| getFunction(): [DeclRefExpr] source()
|
|
# 165| getArgument(1): [Argument] : 0
|
|
# 165| getExpr(): [IntegerLiteralExpr] 0
|
|
# 165| getThen(): [BraceStmt] { ... }
|
|
# 166| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 166| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 166| getArgument(0): [Argument] arg: x
|
|
# 166| getExpr(): [DeclRefExpr] x
|
|
# 167| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 167| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 167| getArgument(0): [Argument] arg: y
|
|
# 167| getExpr(): [DeclRefExpr] y
|
|
# 169| getElement(16): [IfStmt] if ... then { ... }
|
|
# 169| getCondition(): [StmtCondition] StmtCondition
|
|
# 169| getElement(0): [ConditionElement] .myCons(...) = ...
|
|
# 169| getPattern(): [EnumElementPattern] .myCons(...)
|
|
# 169| getSubPattern(): [TuplePattern] (...)
|
|
# 169| getElement(0): [AnyPattern] _
|
|
# 169| getElement(1): [EnumElementPattern] .myPair(...)
|
|
# 169| getSubPattern(): [TuplePattern] (...)
|
|
# 169| getElement(0): [AnyPattern] _
|
|
# 169| getElement(1): [NamedPattern] c
|
|
# 169| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 169| getInitializer(): [DeclRefExpr] b
|
|
# 169| getThen(): [BraceStmt] { ... }
|
|
# 170| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 170| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 170| getArgument(0): [Argument] arg: c
|
|
# 170| getExpr(): [DeclRefExpr] c
|
|
# 173| getElement(17): [SwitchStmt] switch (...) { ... }
|
|
# 173| getExpr(): [TupleExpr] (...)
|
|
# 173| getElement(0): [DeclRefExpr] a
|
|
# 173| getElement(0).getFullyConverted(): [LoadExpr] (MyEnum) ...
|
|
# 173| getElement(1): [DeclRefExpr] b
|
|
# 174| getCase(0): [CaseStmt] case ...
|
|
# 174| getLabel(0): [CaseLabelItem] (...)
|
|
# 174| getPattern(): [TuplePattern] (...)
|
|
# 174| getElement(0): [EnumElementPattern] .myPair(...)
|
|
# 174| getSubPattern(): [TuplePattern] (...)
|
|
# 174| getElement(0): [NamedPattern] a
|
|
# 174| getElement(1): [NamedPattern] b
|
|
# 174| getElement(1): [EnumElementPattern] .myCons(...)
|
|
# 174| getSubPattern(): [TuplePattern] (...)
|
|
# 174| getElement(0): [NamedPattern] c
|
|
# 174| getElement(1): [EnumElementPattern] .myPair(...)
|
|
# 174| getSubPattern(): [TuplePattern] (...)
|
|
# 174| getElement(0): [NamedPattern] d
|
|
# 174| getElement(1): [NamedPattern] e
|
|
# 174| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 174| getVariable(0): [ConcreteVarDecl] a
|
|
# 174| Type = Int
|
|
# 174| getVariable(1): [ConcreteVarDecl] b
|
|
# 174| Type = Int
|
|
# 174| getVariable(2): [ConcreteVarDecl] c
|
|
# 174| Type = Int
|
|
# 174| getVariable(3): [ConcreteVarDecl] d
|
|
# 174| Type = Int
|
|
# 174| getVariable(4): [ConcreteVarDecl] e
|
|
# 174| Type = Int
|
|
# 175| getBody(): [BraceStmt] { ... }
|
|
# 175| getElement(0): [CallExpr] call to sink(arg:)
|
|
# 175| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 175| getArgument(0): [Argument] arg: a
|
|
# 175| getExpr(): [DeclRefExpr] a
|
|
# 176| getElement(1): [CallExpr] call to sink(arg:)
|
|
# 176| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 176| getArgument(0): [Argument] arg: b
|
|
# 176| getExpr(): [DeclRefExpr] b
|
|
# 177| getElement(2): [CallExpr] call to sink(arg:)
|
|
# 177| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 177| getArgument(0): [Argument] arg: c
|
|
# 177| getExpr(): [DeclRefExpr] c
|
|
# 178| getElement(3): [CallExpr] call to sink(arg:)
|
|
# 178| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 178| getArgument(0): [Argument] arg: d
|
|
# 178| getExpr(): [DeclRefExpr] d
|
|
# 179| getElement(4): [CallExpr] call to sink(arg:)
|
|
# 179| getFunction(): [DeclRefExpr] sink(arg:)
|
|
# 179| getArgument(0): [Argument] arg: e
|
|
# 179| getExpr(): [DeclRefExpr] e
|
|
# 180| getCase(1): [CaseStmt] case ...
|
|
# 180| getLabel(0): [CaseLabelItem] _
|
|
# 180| getPattern(): [AnyPattern] _
|
|
# 181| getBody(): [BraceStmt] { ... }
|
|
# 181| getElement(0): [TupleExpr] (...)
|
|
# 92| [ConcreteVarDecl] x
|
|
# 92| Type = (Int)
|
|
# 95| [ConcreteVarDecl] x
|
|
# 95| Type = Int
|
|
# 95| [ConcreteVarDecl] y
|
|
# 95| Type = Int
|
|
# 114| [ConcreteVarDecl] x
|
|
# 114| Type = (Int)
|
|
# 117| [ConcreteVarDecl] x
|
|
# 117| Type = Int
|
|
# 117| [ConcreteVarDecl] y
|
|
# 117| Type = Int
|
|
# 136| [ConcreteVarDecl] x
|
|
# 136| Type = (Int)
|
|
# 139| [ConcreteVarDecl] x
|
|
# 139| Type = Int
|
|
# 139| [ConcreteVarDecl] y
|
|
# 139| Type = Int
|
|
# 162| [ConcreteVarDecl] x
|
|
# 162| Type = (Int)
|
|
# 165| [ConcreteVarDecl] x
|
|
# 165| Type = Int
|
|
# 165| [ConcreteVarDecl] y
|
|
# 165| Type = Int
|
|
# 169| [ConcreteVarDecl] c
|
|
# 169| Type = Int
|
|
statements.swift:
|
|
# 1| [NamedFunction] loop()
|
|
# 1| InterfaceType = () -> ()
|
|
# 1| getBody(): [BraceStmt] { ... }
|
|
# 9| getVariable(0): [ConcreteVarDecl] i
|
|
# 9| Type = Int
|
|
# 2| getElement(0): [ForEachStmt] for ... in ... { ... }
|
|
# 2| getVariable(0): [ConcreteVarDecl] i
|
|
# 2| Type = Int
|
|
# 2| getVariable(1): [ConcreteVarDecl] $i$generator
|
|
# 2| Type = IndexingIterator<ClosedRange<Int>>
|
|
# 2| getPattern(): [NamedPattern] i
|
|
#-----| getIteratorVar(): [PatternBindingDecl] var ... = ...
|
|
# 2| getInit(0): [CallExpr] call to makeIterator()
|
|
# 2| getFunction(): [MethodLookupExpr] .makeIterator()
|
|
# 2| getBase(): [BinaryExpr] ... ....(_:_:) ...
|
|
# 2| getFunction(): [MethodLookupExpr] ....(_:_:)
|
|
# 2| getBase(): [TypeExpr] Int.Type
|
|
# 2| getTypeRepr(): [TypeRepr] Int
|
|
# 2| getMethodRef(): [DeclRefExpr] ...(_:_:)
|
|
# 2| getArgument(0): [Argument] : 1
|
|
# 2| getExpr(): [IntegerLiteralExpr] 1
|
|
# 2| getArgument(1): [Argument] : 5
|
|
# 2| getExpr(): [IntegerLiteralExpr] 5
|
|
#-----| getMethodRef(): [DeclRefExpr] makeIterator()
|
|
# 2| getPattern(0): [NamedPattern] $i$generator
|
|
# 2| getNextCall(): [CallExpr] call to next()
|
|
# 2| getFunction(): [MethodLookupExpr] .next()
|
|
# 2| getBase(): [DeclRefExpr] $i$generator
|
|
# 2| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] next()
|
|
# 2| getBody(): [BraceStmt] { ... }
|
|
# 3| getElement(0): [IfStmt] if ... then { ... } else { ... }
|
|
# 3| getCondition(): [StmtCondition] StmtCondition
|
|
# 3| getElement(0): [ConditionElement] ... .==(_:_:) ...
|
|
# 3| getBoolean(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 3| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 3| getBase(): [TypeExpr] Int.Type
|
|
# 3| getTypeRepr(): [TypeRepr] Int
|
|
# 3| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 3| getArgument(0): [Argument] : i
|
|
# 3| getExpr(): [DeclRefExpr] i
|
|
# 3| getArgument(1): [Argument] : 3
|
|
# 3| getExpr(): [IntegerLiteralExpr] 3
|
|
# 3| getThen(): [BraceStmt] { ... }
|
|
# 4| getElement(0): [BreakStmt] break
|
|
# 5| getElse(): [BraceStmt] { ... }
|
|
# 6| getElement(0): [ContinueStmt] continue
|
|
# 9| getElement(1): [PatternBindingDecl] var ... = ...
|
|
# 9| getInit(0): [IntegerLiteralExpr] 0
|
|
# 9| getPattern(0): [NamedPattern] i
|
|
# 10| getElement(2): [WhileStmt] while ... { ... }
|
|
# 10| getCondition(): [StmtCondition] StmtCondition
|
|
# 10| getElement(0): [ConditionElement] ... .<(_:_:) ...
|
|
# 10| getBoolean(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 10| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 10| getBase(): [TypeExpr] Int.Type
|
|
# 10| getTypeRepr(): [TypeRepr] Int
|
|
# 10| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 10| getArgument(0): [Argument] : i
|
|
# 10| getExpr(): [DeclRefExpr] i
|
|
# 10| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 10| getArgument(1): [Argument] : 12
|
|
# 10| getExpr(): [IntegerLiteralExpr] 12
|
|
# 10| getBoolean().getFullyConverted(): [ParenExpr] (...)
|
|
# 10| getBody(): [BraceStmt] { ... }
|
|
# 11| getElement(0): [AssignExpr] ... = ...
|
|
# 11| getDest(): [DeclRefExpr] i
|
|
# 11| getSource(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 11| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 11| getBase(): [TypeExpr] Int.Type
|
|
# 11| getTypeRepr(): [TypeRepr] Int
|
|
# 11| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 11| getArgument(0): [Argument] : i
|
|
# 11| getExpr(): [DeclRefExpr] i
|
|
# 11| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 11| getArgument(1): [Argument] : 1
|
|
# 11| getExpr(): [IntegerLiteralExpr] 1
|
|
# 14| getElement(3): [AssignExpr] ... = ...
|
|
# 14| getDest(): [DeclRefExpr] i
|
|
# 14| getSource(): [IntegerLiteralExpr] 0
|
|
# 15| getElement(4): [RepeatWhileStmt] repeat { ... } while ...
|
|
# 17| getCondition(): [BinaryExpr] ... .<(_:_:) ...
|
|
# 17| getFunction(): [MethodLookupExpr] .<(_:_:)
|
|
# 17| getBase(): [TypeExpr] Int.Type
|
|
# 17| getTypeRepr(): [TypeRepr] Int
|
|
# 17| getMethodRef(): [DeclRefExpr] <(_:_:)
|
|
# 17| getArgument(0): [Argument] : i
|
|
# 17| getExpr(): [DeclRefExpr] i
|
|
# 17| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 17| getArgument(1): [Argument] : 12
|
|
# 17| getExpr(): [IntegerLiteralExpr] 12
|
|
# 17| getCondition().getFullyConverted(): [ParenExpr] (...)
|
|
# 15| getBody(): [BraceStmt] { ... }
|
|
# 16| getElement(0): [AssignExpr] ... = ...
|
|
# 16| getDest(): [DeclRefExpr] i
|
|
# 16| getSource(): [BinaryExpr] ... .+(_:_:) ...
|
|
# 16| getFunction(): [MethodLookupExpr] .+(_:_:)
|
|
# 16| getBase(): [TypeExpr] Int.Type
|
|
# 16| getTypeRepr(): [TypeRepr] Int
|
|
# 16| getMethodRef(): [DeclRefExpr] +(_:_:)
|
|
# 16| getArgument(0): [Argument] : i
|
|
# 16| getExpr(): [DeclRefExpr] i
|
|
# 16| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 16| getArgument(1): [Argument] : 1
|
|
# 16| getExpr(): [IntegerLiteralExpr] 1
|
|
# 19| getElement(5): [DoCatchStmt] do { ... } catch { ... }
|
|
# 19| getBody(): [BraceStmt] { ... }
|
|
# 20| getElement(0): [TryExpr] try ...
|
|
# 20| getSubExpr(): [CallExpr] call to failure(_:)
|
|
# 20| getFunction(): [DeclRefExpr] failure(_:)
|
|
# 20| getArgument(0): [Argument] : 11
|
|
# 20| getExpr(): [IntegerLiteralExpr] 11
|
|
# 21| getCatch(0): [CaseStmt] case ...
|
|
# 21| getLabel(0): [CaseLabelItem] error
|
|
# 21| getPattern(): [NamedPattern] error
|
|
# 21| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 21| getVariable(0): [ConcreteVarDecl] error
|
|
# 21| Type = any Error
|
|
# 21| getBody(): [BraceStmt] { ... }
|
|
# 22| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 22| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 22| getArgument(0): [Argument] : [...]
|
|
# 22| getExpr(): [VarargExpansionExpr] [...]
|
|
# 22| getSubExpr(): [ArrayExpr] [...]
|
|
# 22| getElement(0): [StringLiteralExpr] error
|
|
# 22| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 22| getArgument(1): [Argument] separator: default separator
|
|
# 22| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 22| getArgument(2): [Argument] terminator: default terminator
|
|
# 22| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 25| getElement(6): [DoCatchStmt] do { ... } catch { ... }
|
|
# 25| getBody(): [BraceStmt] { ... }
|
|
# 26| getElement(0): [TryExpr] try ...
|
|
# 26| getSubExpr(): [CallExpr] call to failure(_:)
|
|
# 26| getFunction(): [DeclRefExpr] failure(_:)
|
|
# 26| getArgument(0): [Argument] : 11
|
|
# 26| getExpr(): [IntegerLiteralExpr] 11
|
|
# 27| getCatch(0): [CaseStmt] case ...
|
|
# 27| getLabel(0): [CaseLabelItem] ... is ...
|
|
# 27| getPattern(): [IsPattern] ... is ...
|
|
# 27| getSubPattern(): [EnumElementPattern] .failed
|
|
# 27| getBody(): [BraceStmt] { ... }
|
|
# 28| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 28| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 28| getArgument(0): [Argument] : [...]
|
|
# 28| getExpr(): [VarargExpansionExpr] [...]
|
|
# 28| getSubExpr(): [ArrayExpr] [...]
|
|
# 28| getElement(0): [StringLiteralExpr] AnError.failed
|
|
# 28| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 28| getArgument(1): [Argument] separator: default separator
|
|
# 28| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 28| getArgument(2): [Argument] terminator: default terminator
|
|
# 28| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 29| getCatch(1): [CaseStmt] case ...
|
|
# 29| getLabel(0): [CaseLabelItem] error
|
|
# 29| getPattern(): [NamedPattern] error
|
|
# 29| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 29| getVariable(0): [ConcreteVarDecl] error
|
|
# 29| Type = any Error
|
|
# 29| getBody(): [BraceStmt] { ... }
|
|
# 30| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 30| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 30| getArgument(0): [Argument] : [...]
|
|
# 30| getExpr(): [VarargExpansionExpr] [...]
|
|
# 30| getSubExpr(): [ArrayExpr] [...]
|
|
# 30| getElement(0): [StringLiteralExpr] error
|
|
# 30| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 30| getArgument(1): [Argument] separator: default separator
|
|
# 30| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 30| getArgument(2): [Argument] terminator: default terminator
|
|
# 30| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 34| [EnumDecl] AnError
|
|
# 35| getMember(0): [EnumCaseDecl] case ...
|
|
# 35| getMember(1): [EnumElementDecl] failed
|
|
#-----| getMember(2): [NamedFunction] __derived_enum_equals(_:_:)
|
|
#-----| InterfaceType = (AnError.Type) -> (AnError, AnError) -> Bool
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = AnError.Type
|
|
#-----| getParam(0): [ParamDecl] a
|
|
#-----| Type = AnError
|
|
#-----| getParam(1): [ParamDecl] b
|
|
#-----| Type = AnError
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_a
|
|
#-----| getElement(1): [SwitchStmt] switch a { ... }
|
|
#-----| getExpr(): [DeclRefExpr] a
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .failed
|
|
#-----| getPattern(): [EnumElementPattern] .failed
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_a
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getElement(2): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] index_b
|
|
#-----| getElement(3): [SwitchStmt] switch b { ... }
|
|
#-----| getExpr(): [DeclRefExpr] b
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .failed
|
|
#-----| getPattern(): [EnumElementPattern] .failed
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] index_b
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getElement(4): [ReturnStmt] return ...
|
|
#-----| getResult(): [BinaryExpr] ... .==(_:_:) ...
|
|
#-----| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
#-----| getBase(): [TypeExpr] Int.Type
|
|
#-----| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
#-----| getArgument(0): [Argument] : index_a
|
|
#-----| getExpr(): [DeclRefExpr] index_a
|
|
#-----| getArgument(1): [Argument] : index_b
|
|
#-----| getExpr(): [DeclRefExpr] index_b
|
|
#-----| getMember(3): [ConcreteVarDecl] hashValue
|
|
#-----| Type = Int
|
|
#-----| getAccessor(0): [Accessor] get
|
|
#-----| InterfaceType = (AnError) -> () -> Int
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = AnError
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [CallExpr] call to _hashValue(for:)
|
|
#-----| getFunction(): [DeclRefExpr] _hashValue(for:)
|
|
#-----| getArgument(0): [Argument] for: self
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getMember(4): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] hashValue
|
|
#-----| getMember(5): [NamedFunction] hash(into:)
|
|
#-----| InterfaceType = (AnError) -> (inout Hasher) -> ()
|
|
#-----| getSelfParam(): [ParamDecl] self
|
|
#-----| Type = AnError
|
|
#-----| getParam(0): [ParamDecl] hasher
|
|
#-----| Type = Hasher
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [PatternBindingDecl] var ... = ...
|
|
#-----| getPattern(0): [TypedPattern] ... as ...
|
|
#-----| getSubPattern(): [NamedPattern] discriminator
|
|
#-----| getElement(1): [SwitchStmt] switch self { ... }
|
|
#-----| getExpr(): [DeclRefExpr] self
|
|
#-----| getCase(0): [CaseStmt] case ...
|
|
#-----| getLabel(0): [CaseLabelItem] .failed
|
|
#-----| getPattern(): [EnumElementPattern] .failed
|
|
#-----| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [DeclRefExpr] discriminator
|
|
#-----| getSource(): [IntegerLiteralExpr] 0
|
|
#-----| getElement(2): [CallExpr] call to combine(_:)
|
|
#-----| getFunction(): [MethodLookupExpr] .combine(_:)
|
|
#-----| getBase(): [DeclRefExpr] hasher
|
|
#-----| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] combine(_:)
|
|
#-----| getArgument(0): [Argument] : discriminator
|
|
#-----| getExpr(): [DeclRefExpr] discriminator
|
|
#-----| getExpr().getFullyConverted(): [LoadExpr] (Int) ...
|
|
# 38| [NamedFunction] failure(_:)
|
|
# 38| InterfaceType = (Int) throws -> ()
|
|
# 38| getParam(0): [ParamDecl] x
|
|
# 38| Type = Int
|
|
# 38| getBody(): [BraceStmt] { ... }
|
|
# 39| getElement(0): [GuardStmt] guard ... else { ... }
|
|
# 39| getCondition(): [StmtCondition] StmtCondition
|
|
# 39| getElement(0): [ConditionElement] ... .!=(_:_:) ...
|
|
# 39| getBoolean(): [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] : 0
|
|
# 39| getExpr(): [IntegerLiteralExpr] 0
|
|
# 39| getBody(): [BraceStmt] { ... }
|
|
# 40| getElement(0): [ThrowStmt] throw ...
|
|
# 40| getSubExpr(): [MethodLookupExpr] .failed
|
|
# 40| getBase(): [TypeExpr] AnError.Type
|
|
# 40| getTypeRepr(): [TypeRepr] AnError
|
|
# 40| getMethodRef(): [DeclRefExpr] failed
|
|
# 40| getSubExpr().getFullyConverted(): [ErasureExpr] (any Error) ...
|
|
# 44| [TopLevelCodeDecl] { ... }
|
|
# 44| getBody(): [BraceStmt] { ... }
|
|
# 44| getElement(0): [DeferStmt] defer { ... }
|
|
# 44| getBody(): [BraceStmt] { ... }
|
|
# 45| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 45| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 45| getArgument(0): [Argument] : [...]
|
|
# 45| getExpr(): [VarargExpansionExpr] [...]
|
|
# 45| getSubExpr(): [ArrayExpr] [...]
|
|
# 45| getElement(0): [StringLiteralExpr] done
|
|
# 45| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 45| getArgument(1): [Argument] separator: default separator
|
|
# 45| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 45| getArgument(2): [Argument] terminator: default terminator
|
|
# 45| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 48| [TopLevelCodeDecl] { ... }
|
|
# 48| getBody(): [BraceStmt] { ... }
|
|
# 48| getElement(0): [DoStmt] do { ... }
|
|
# 48| getBody(): [BraceStmt] { ... }
|
|
# 49| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 49| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 49| getArgument(0): [Argument] : [...]
|
|
# 49| getExpr(): [VarargExpansionExpr] [...]
|
|
# 49| getSubExpr(): [ArrayExpr] [...]
|
|
# 49| getElement(0): [StringLiteralExpr] doing
|
|
# 49| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 49| getArgument(1): [Argument] separator: default separator
|
|
# 49| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 49| getArgument(2): [Argument] terminator: default terminator
|
|
# 49| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 52| [TopLevelCodeDecl] { ... }
|
|
# 52| getBody(): [BraceStmt] { ... }
|
|
# 52| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 52| getInit(0): [IntegerLiteralExpr] 42
|
|
# 52| getPattern(0): [NamedPattern] index
|
|
# 52| [ConcreteVarDecl] index
|
|
# 52| Type = Int
|
|
# 53| [TopLevelCodeDecl] { ... }
|
|
# 53| getBody(): [BraceStmt] { ... }
|
|
# 53| getElement(0): [SwitchStmt] switch index { ... }
|
|
# 53| getExpr(): [DeclRefExpr] index
|
|
# 54| getCase(0): [CaseStmt] case ...
|
|
# 54| getLabel(0): [CaseLabelItem] =~ ...
|
|
# 54| getPattern(): [ExprPattern] =~ ...
|
|
# 54| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 54| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 54| getArgument(0): [Argument] : 1
|
|
# 54| getExpr(): [IntegerLiteralExpr] 1
|
|
# 54| getArgument(1): [Argument] : $match
|
|
# 54| getExpr(): [DeclRefExpr] $match
|
|
# 55| getBody(): [BraceStmt] { ... }
|
|
# 55| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 55| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 55| getArgument(0): [Argument] : [...]
|
|
# 55| getExpr(): [VarargExpansionExpr] [...]
|
|
# 55| getSubExpr(): [ArrayExpr] [...]
|
|
# 55| getElement(0): [StringLiteralExpr] 1
|
|
# 55| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 55| getArgument(1): [Argument] separator: default separator
|
|
# 55| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 55| getArgument(2): [Argument] terminator: default terminator
|
|
# 55| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 56| getElement(1): [FallthroughStmt] fallthrough
|
|
# 57| getCase(1): [CaseStmt] case ...
|
|
# 57| getLabel(0): [CaseLabelItem] =~ ...
|
|
# 57| getPattern(): [ExprPattern] =~ ...
|
|
# 57| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 57| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 57| getArgument(0): [Argument] : 5
|
|
# 57| getExpr(): [IntegerLiteralExpr] 5
|
|
# 57| getArgument(1): [Argument] : $match
|
|
# 57| getExpr(): [DeclRefExpr] $match
|
|
# 57| getLabel(1): [CaseLabelItem] =~ ...
|
|
# 57| getPattern(): [ExprPattern] =~ ...
|
|
# 57| getSubExpr(): [BinaryExpr] ... ~=(_:_:) ...
|
|
# 57| getFunction(): [DeclRefExpr] ~=(_:_:)
|
|
# 57| getArgument(0): [Argument] : 10
|
|
# 57| getExpr(): [IntegerLiteralExpr] 10
|
|
# 57| getArgument(1): [Argument] : $match
|
|
# 57| getExpr(): [DeclRefExpr] $match
|
|
# 58| getBody(): [BraceStmt] { ... }
|
|
# 58| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 58| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 58| getArgument(0): [Argument] : [...]
|
|
# 58| getExpr(): [VarargExpansionExpr] [...]
|
|
# 58| getSubExpr(): [ArrayExpr] [...]
|
|
# 58| getElement(0): [StringLiteralExpr] 5, 10
|
|
# 58| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 58| getArgument(1): [Argument] separator: default separator
|
|
# 58| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 58| getArgument(2): [Argument] terminator: default terminator
|
|
# 58| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 59| getElement(1): [BreakStmt] break
|
|
# 60| getCase(2): [CaseStmt] case ...
|
|
# 60| getLabel(0): [CaseLabelItem] _
|
|
# 60| getPattern(): [AnyPattern] _
|
|
# 61| getBody(): [BraceStmt] { ... }
|
|
# 61| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 61| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 61| getArgument(0): [Argument] : [...]
|
|
# 61| getExpr(): [VarargExpansionExpr] [...]
|
|
# 61| getSubExpr(): [ArrayExpr] [...]
|
|
# 61| getElement(0): [StringLiteralExpr] default
|
|
# 61| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 61| getArgument(1): [Argument] separator: default separator
|
|
# 61| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 61| getArgument(2): [Argument] terminator: default terminator
|
|
# 61| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 54| [ConcreteVarDecl] $match
|
|
# 54| Type = Int
|
|
# 57| [ConcreteVarDecl] $match
|
|
# 57| Type = Int
|
|
# 57| [ConcreteVarDecl] $match
|
|
# 57| Type = Int
|
|
# 64| [TopLevelCodeDecl] { ... }
|
|
# 64| getBody(): [BraceStmt] { ... }
|
|
# 64| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 64| getInit(0): [IntegerLiteralExpr] 4
|
|
# 64| getInit(0).getFullyConverted(): [InjectIntoOptionalExpr] (Int?) ...
|
|
# 64| getPattern(0): [TypedPattern] ... as ...
|
|
# 64| getSubPattern(): [NamedPattern] x
|
|
# 64| getTypeRepr(): [TypeRepr] Int?
|
|
# 64| [ConcreteVarDecl] x
|
|
# 64| Type = Int?
|
|
# 65| [TopLevelCodeDecl] { ... }
|
|
# 65| getBody(): [BraceStmt] { ... }
|
|
# 65| getElement(0): [IfStmt] if ... then { ... }
|
|
# 65| getCondition(): [StmtCondition] StmtCondition
|
|
# 65| getElement(0): [ConditionElement] let ...? = ...
|
|
# 65| getPattern(): [OptionalSomePattern] let ...?
|
|
# 65| getSubPattern(): [NamedPattern] xx
|
|
# 65| getPattern().getFullyUnresolved(): [BindingPattern] let ...
|
|
# 65| getInitializer(): [DeclRefExpr] x
|
|
# 65| getThen(): [BraceStmt] { ... }
|
|
# 65| [ConcreteVarDecl] xx
|
|
# 65| Type = Int
|
|
# 67| [TopLevelCodeDecl] { ... }
|
|
# 67| getBody(): [BraceStmt] { ... }
|
|
# 67| getElement(0): [IfStmt] if ... then { ... }
|
|
# 67| getCondition(): [StmtCondition] StmtCondition
|
|
# 67| getElement(0): [ConditionElement] .some(...) = ...
|
|
# 67| getPattern(): [EnumElementPattern] .some(...)
|
|
# 67| getSubPattern(): [AnyPattern] _
|
|
# 67| getSubPattern().getFullyUnresolved(): [ParenPattern] (...)
|
|
# 67| getInitializer(): [DeclRefExpr] x
|
|
# 67| getThen(): [BraceStmt] { ... }
|
|
# 70| [TopLevelCodeDecl] { ... }
|
|
# 70| getBody(): [BraceStmt] { ... }
|
|
# 70| getElement(0): [PatternBindingDecl] var ... = ...
|
|
# 70| getInit(0): [ArrayExpr] [...]
|
|
# 70| getElement(0): [IntegerLiteralExpr] 1
|
|
# 70| getElement(1): [IntegerLiteralExpr] 2
|
|
# 70| getElement(2): [IntegerLiteralExpr] 3
|
|
# 70| getPattern(0): [NamedPattern] numbers
|
|
# 70| [ConcreteVarDecl] numbers
|
|
# 70| Type = [Int]
|
|
# 71| [TopLevelCodeDecl] { ... }
|
|
# 71| getBody(): [BraceStmt] { ... }
|
|
# 71| getElement(0): [ForEachStmt] for ... in ... where ... { ... }
|
|
# 71| getVariable(0): [ConcreteVarDecl] number
|
|
# 71| Type = Int
|
|
# 71| getVariable(1): [ConcreteVarDecl] $number$generator
|
|
# 71| Type = IndexingIterator<[Int]>
|
|
# 71| getPattern(): [NamedPattern] number
|
|
# 71| getWhere(): [BinaryExpr] ... .==(_:_:) ...
|
|
# 71| getFunction(): [MethodLookupExpr] .==(_:_:)
|
|
# 71| getBase(): [TypeExpr] Int.Type
|
|
# 71| getTypeRepr(): [TypeRepr] Int
|
|
# 71| getMethodRef(): [DeclRefExpr] ==(_:_:)
|
|
# 71| getArgument(0): [Argument] : ... .%(_:_:) ...
|
|
# 71| getExpr(): [BinaryExpr] ... .%(_:_:) ...
|
|
# 71| getFunction(): [MethodLookupExpr] .%(_:_:)
|
|
# 71| getBase(): [TypeExpr] Int.Type
|
|
# 71| getTypeRepr(): [TypeRepr] Int
|
|
# 71| getMethodRef(): [DeclRefExpr] %(_:_:)
|
|
# 71| getArgument(0): [Argument] : number
|
|
# 71| getExpr(): [DeclRefExpr] number
|
|
# 71| getArgument(1): [Argument] : 2
|
|
# 71| getExpr(): [IntegerLiteralExpr] 2
|
|
# 71| getArgument(1): [Argument] : 0
|
|
# 71| getExpr(): [IntegerLiteralExpr] 0
|
|
#-----| getIteratorVar(): [PatternBindingDecl] var ... = ...
|
|
# 71| getInit(0): [CallExpr] call to makeIterator()
|
|
# 71| getFunction(): [MethodLookupExpr] .makeIterator()
|
|
# 71| getBase(): [DeclRefExpr] numbers
|
|
#-----| getMethodRef(): [DeclRefExpr] makeIterator()
|
|
# 71| getPattern(0): [NamedPattern] $number$generator
|
|
# 71| getNextCall(): [CallExpr] call to next()
|
|
# 71| getFunction(): [MethodLookupExpr] .next()
|
|
# 71| getBase(): [DeclRefExpr] $number$generator
|
|
# 71| getBase().getFullyConverted(): [InOutExpr] &...
|
|
#-----| getMethodRef(): [DeclRefExpr] next()
|
|
# 71| getBody(): [BraceStmt] { ... }
|
|
# 74| [StructDecl] HasModifyAccessorDecl
|
|
# 75| getMember(0): [PatternBindingDecl] var ... = ...
|
|
# 75| getPattern(0): [TypedPattern] ... as ...
|
|
# 75| getSubPattern(): [NamedPattern] x
|
|
# 75| getTypeRepr(): [TypeRepr] Int
|
|
# 75| getMember(1): [ConcreteVarDecl] x
|
|
# 75| Type = Int
|
|
# 75| getAccessor(0): [Accessor] get
|
|
# 75| InterfaceType = (HasModifyAccessorDecl) -> () -> Int
|
|
# 75| getSelfParam(): [ParamDecl] self
|
|
# 75| Type = HasModifyAccessorDecl
|
|
# 75| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [ReturnStmt] return ...
|
|
#-----| getResult(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
# 75| getAccessor(1): [Accessor] set
|
|
# 75| InterfaceType = (inout HasModifyAccessorDecl) -> (Int) -> ()
|
|
# 75| getSelfParam(): [ParamDecl] self
|
|
# 75| Type = HasModifyAccessorDecl
|
|
# 75| getParam(0): [ParamDecl] value
|
|
# 75| Type = Int
|
|
# 75| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 75| getAccessor(2): [Accessor] _modify
|
|
# 75| InterfaceType = (inout HasModifyAccessorDecl) -> () -> ()
|
|
# 75| getSelfParam(): [ParamDecl] self
|
|
# 75| Type = HasModifyAccessorDecl
|
|
# 75| getBody(): [BraceStmt] { ... }
|
|
# 75| getElement(0): [YieldStmt] yield ...
|
|
#-----| getResult(0): [MemberRefExpr] .x
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 76| getMember(2): [PatternBindingDecl] var ... = ...
|
|
# 76| getPattern(0): [TypedPattern] ... as ...
|
|
# 76| getSubPattern(): [NamedPattern] hasModify
|
|
# 76| getTypeRepr(): [TypeRepr] Int
|
|
# 76| getMember(3): [ConcreteVarDecl] hasModify
|
|
# 76| Type = Int
|
|
# 77| getAccessor(0): [Accessor] _modify
|
|
# 77| InterfaceType = (inout HasModifyAccessorDecl) -> () -> ()
|
|
# 77| getSelfParam(): [ParamDecl] self
|
|
# 77| Type = HasModifyAccessorDecl
|
|
# 77| getBody(): [BraceStmt] { ... }
|
|
# 78| getElement(0): [YieldStmt] yield ...
|
|
# 78| getResult(0): [MemberRefExpr] .x
|
|
# 78| getBase(): [DeclRefExpr] self
|
|
# 78| getResult(0).getFullyConverted(): [InOutExpr] &...
|
|
# 81| getAccessor(1): [Accessor] get
|
|
# 81| InterfaceType = (HasModifyAccessorDecl) -> () -> Int
|
|
# 81| getSelfParam(): [ParamDecl] self
|
|
# 81| Type = HasModifyAccessorDecl
|
|
# 81| getBody(): [BraceStmt] { ... }
|
|
# 82| getElement(0): [ReturnStmt] return ...
|
|
# 82| getResult(): [IntegerLiteralExpr] 0
|
|
# 76| getAccessor(2): [Accessor] set
|
|
# 76| InterfaceType = (inout HasModifyAccessorDecl) -> (Int) -> ()
|
|
# 76| getSelfParam(): [ParamDecl] self
|
|
# 76| Type = HasModifyAccessorDecl
|
|
# 76| getParam(0): [ParamDecl] value
|
|
# 76| Type = Int
|
|
# 76| getBody(): [BraceStmt] { ... }
|
|
#-----| getElement(0): [AssignExpr] ... = ...
|
|
#-----| getDest(): [MemberRefExpr] .hasModify
|
|
#-----| getBase(): [DeclRefExpr] self
|
|
#-----| getSource(): [DeclRefExpr] value
|
|
# 74| getMember(4): [Initializer] HasModifyAccessorDecl.init(x:)
|
|
# 74| InterfaceType = (HasModifyAccessorDecl.Type) -> (Int) -> HasModifyAccessorDecl
|
|
# 74| getSelfParam(): [ParamDecl] self
|
|
# 74| Type = HasModifyAccessorDecl
|
|
# 74| getParam(0): [ParamDecl] x
|
|
# 74| Type = Int
|
|
# 87| [TopLevelCodeDecl] { ... }
|
|
# 87| getBody(): [BraceStmt] { ... }
|
|
# 87| getElement(0): [IfStmt] if ... then { ... }
|
|
# 87| getCondition(): [StmtCondition] StmtCondition
|
|
# 87| getElement(0): [ConditionElement] #available
|
|
# 87| getAvailability(): [AvailabilityInfo] #available
|
|
# 87| getSpec(0): [PlatformVersionAvailabilitySpec] macOS 155
|
|
# 87| getSpec(1): [OtherAvailabilitySpec] *
|
|
# 87| getThen(): [BraceStmt] { ... }
|
|
# 88| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 88| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 88| getArgument(0): [Argument] : [...]
|
|
# 88| getExpr(): [VarargExpansionExpr] [...]
|
|
# 88| getSubExpr(): [ArrayExpr] [...]
|
|
# 88| getElement(0): [IntegerLiteralExpr] 155
|
|
# 88| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 88| getArgument(1): [Argument] separator: default separator
|
|
# 88| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 88| getArgument(2): [Argument] terminator: default terminator
|
|
# 88| getExpr(): [DefaultArgumentExpr] default terminator
|
|
# 91| [TopLevelCodeDecl] { ... }
|
|
# 91| getBody(): [BraceStmt] { ... }
|
|
# 91| getElement(0): [IfStmt] if ... then { ... }
|
|
# 91| getCondition(): [StmtCondition] StmtCondition
|
|
# 91| getElement(0): [ConditionElement] #unavailable
|
|
# 91| getAvailability(): [AvailabilityInfo] #unavailable
|
|
# 91| getSpec(0): [PlatformVersionAvailabilitySpec] macOS 42
|
|
# 91| getThen(): [BraceStmt] { ... }
|
|
# 92| getElement(0): [CallExpr] call to print(_:separator:terminator:)
|
|
# 92| getFunction(): [DeclRefExpr] print(_:separator:terminator:)
|
|
# 92| getArgument(0): [Argument] : [...]
|
|
# 92| getExpr(): [VarargExpansionExpr] [...]
|
|
# 92| getSubExpr(): [ArrayExpr] [...]
|
|
# 92| getElement(0): [IntegerLiteralExpr] 42
|
|
# 92| getElement(0).getFullyConverted(): [ErasureExpr] (Any) ...
|
|
# 92| getArgument(1): [Argument] separator: default separator
|
|
# 92| getExpr(): [DefaultArgumentExpr] default separator
|
|
# 92| getArgument(2): [Argument] terminator: default terminator
|
|
# 92| getExpr(): [DefaultArgumentExpr] default terminator
|