Files
codeql/swift/ql/test/library-tests/controlflow/graph/Cfg.expected
Mathias Vorreiter Pedersen f17afa8a11 Swift: Accept test changes.
2022-05-25 16:01:42 +01:00

4936 lines
70 KiB
Plaintext

cfg.swift:
# 5| enter returnZero
#-----| -> 0
# 5| exit returnZero
# 5| exit returnZero (normal)
#-----| -> exit returnZero
# 5| return ...
#-----| return -> exit returnZero (normal)
# 5| 0
#-----| -> return ...
# 15| enter isZero
#-----| -> ==
# 15| exit isZero
# 15| exit isZero (normal)
#-----| -> exit isZero
# 15| return ...
#-----| return -> exit isZero (normal)
# 15| x
#-----| -> 0
# 15| ... call to == ...
#-----| -> return ...
# 15| ==
#-----| -> Int.Type
# 15| Int.Type
#-----| -> call to ==
# 15| call to ==
#-----| exception -> exit isZero (normal)
#-----| -> x
# 15| 0
#-----| -> ... call to == ...
# 17| enter mightThrow
#-----| -> guard ... else { ... }
# 17| exit mightThrow
# 17| exit mightThrow (normal)
#-----| -> exit mightThrow
# 18| guard ... else { ... }
#-----| -> >=
# 18| x
#-----| -> 0
# 18| ... call to >= ...
#-----| -> StmtCondition
# 18| StmtCondition
#-----| false -> error1
#-----| true -> guard ... else { ... }
# 18| >=
#-----| -> Int.Type
# 18| Int.Type
#-----| -> call to >=
# 18| call to >=
#-----| exception -> exit mightThrow (normal)
#-----| -> x
# 18| 0
#-----| -> ... call to >= ...
# 19| throw ...
#-----| exception -> exit mightThrow (normal)
# 19| MyError.Type
#-----| -> call to ...
# 19| (Error) ...
#-----| -> throw ...
# 19| (TBD (ExistentialType)) ...
#-----| -> throw ...
# 19| call to ...
#-----| -> (Error) ...
#-----| -> (TBD (ExistentialType)) ...
# 19| error1
#-----| -> MyError.Type
# 21| guard ... else { ... }
#-----| -> <=
# 21| x
#-----| -> 0
# 21| ... call to <= ...
#-----| -> StmtCondition
# 21| StmtCondition
#-----| true -> exit mightThrow (normal)
#-----| false -> error3
# 21| <=
#-----| -> Int.Type
# 21| Int.Type
#-----| -> call to <=
# 21| call to <=
#-----| exception -> exit mightThrow (normal)
#-----| -> x
# 21| 0
#-----| -> ... call to <= ...
# 22| throw ...
#-----| exception -> exit mightThrow (normal)
# 22| MyError.Type
#-----| -> call to ...
# 22| call to ...
#-----| -> +
# 22| (Error) ...
#-----| -> throw ...
# 22| (TBD (ExistentialType)) ...
#-----| -> throw ...
# 22| call to ...
#-----| -> (Error) ...
#-----| -> (TBD (ExistentialType)) ...
# 22| error3
#-----| -> MyError.Type
# 22| x
#-----| -> 1
# 22| ... call to + ...
#-----| -> call to ...
# 22| +
#-----| -> Int.Type
# 22| Int.Type
#-----| -> call to +
# 22| call to +
#-----| exception -> exit mightThrow (normal)
#-----| -> x
# 22| 1
#-----| -> ... call to + ...
# 26| enter tryCatch
#-----| -> do { ... } catch { ... }
# 26| exit tryCatch
# 26| exit tryCatch (normal)
#-----| -> exit tryCatch
# 27| do { ... } catch { ... }
#-----| -> mightThrow
# 28| try ...
#-----| -> print
# 28| mightThrow
#-----| -> 0
# 28| call to mightThrow
#-----| -> try ...
#-----| exception -> case ...
# 28| 0
#-----| -> call to mightThrow
# 29| print
#-----| -> Did not throw.
# 29| call to print
#-----| exception -> case ...
# 29| default separator
#-----| -> default terminator
# 29| default terminator
#-----| -> call to print
# 29| (Any) ...
#-----| -> [...]
# 29| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 29| Did not throw.
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 29| [...]
#-----| -> default separator
# 29| [...]
#-----| -> [...]
# 33| case ...
#-----| -> ... is ...
# 33| ... is ...
#-----| -> .error1
# 33| ... is ...
#-----| no-match -> ... is ...
#-----| match -> 0
# 33| .error1
#-----| no-match -> ... is ...
# 33| ... is ...
#-----| match -> 0
#-----| no-match -> case ...
# 33| .error2
#-----| no-match -> ... is ...
# 33| ... is ...
#-----| -> .error2
# 34| return ...
#-----| return -> exit tryCatch (normal)
# 34| 0
#-----| -> return ...
# 35| case ...
#-----| -> ... is ...
# 35| ... is ...
#-----| match -> withParam
#-----| no-match -> case ...
# 35| ... is ...
#-----| -> .error3(...)
# 35| .error3(...)
#-----| no-match -> ... is ...
#-----| match -> (...)
# 35| (...)
#-----| -> withParam
# 35| let ...
#-----| no-match -> ... is ...
# 35| withParam
#-----| match -> let ...
# 36| return ...
#-----| return -> exit tryCatch (normal)
# 36| withParam
#-----| -> return ...
# 37| case ...
#-----| -> ... is ...
# 37| ... is ...
#-----| -> TBD (SimpleIdentTypeRepr)
# 37| ... is ...
#-----| match -> print
#-----| no-match -> case ...
# 37| TBD (SimpleIdentTypeRepr)
#-----| -> ... is ...
# 38| print
#-----| -> MyError
# 38| call to print
#-----| exception -> exit tryCatch (normal)
#-----| -> 0
# 38| default separator
#-----| -> default terminator
# 38| default terminator
#-----| -> call to print
# 38| (Any) ...
#-----| -> [...]
# 38| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 38| MyError
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 38| [...]
#-----| -> default separator
# 38| [...]
#-----| -> [...]
# 39| case ...
#-----| -> let ...
# 39| error
#-----| match -> let ...
# 39| let ...
#-----| match -> print
#-----| no-match -> 0
# 39| let ...
#-----| -> error
# 40| print
#-----| -> "..."
# 40| call to print
#-----| exception -> exit tryCatch (normal)
#-----| -> 0
# 40| default separator
#-----| -> default terminator
# 40| default terminator
#-----| -> call to print
# 40| "..."
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 40| (Any) ...
#-----| -> [...]
# 40| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 40| [...]
#-----| -> default separator
# 40| [...]
#-----| -> [...]
# 42| return ...
#-----| return -> exit tryCatch (normal)
# 42| 0
#-----| -> return ...
# 45| enter createClosure1
#-----| -> { ... }
# 45| exit createClosure1
# 45| exit createClosure1 (normal)
#-----| -> exit createClosure1
# 46| return ...
#-----| return -> exit createClosure1 (normal)
# 46| { ... }
#-----| -> return ...
# 52| enter f
#-----| -> +
# 52| exit f
# 52| exit f (normal)
#-----| -> exit f
# 53| return ...
#-----| return -> exit f (normal)
# 53| x
#-----| -> y
# 53| ... call to + ...
#-----| -> return ...
# 53| +
#-----| -> Int.Type
# 53| Int.Type
#-----| -> call to +
# 53| call to +
#-----| exception -> exit f (normal)
#-----| -> x
# 53| y
#-----| -> ... call to + ...
# 58| enter createClosure3
#-----| -> { ... }
# 58| exit createClosure3
# 58| exit createClosure3 (normal)
#-----| -> exit createClosure3
# 59| return ...
#-----| return -> exit createClosure3 (normal)
# 59| { ... }
#-----| -> return ...
# 64| enter callClosures
#-----| -> x1
# 64| exit callClosures
# 64| exit callClosures (normal)
#-----| -> exit callClosures
# 65| var ... = ...
#-----| -> x1
# 65| x1
#-----| -> createClosure1
# 65| x1
#-----| -> x2
# 65| createClosure1
#-----| ->
# 65| call to createClosure1
#-----| exception -> exit callClosures (normal)
#-----| -> call to ...
# 65| call to ...
#-----| -> var ... = ...
# 65|
#-----| -> call to createClosure1
# 66| var ... = ...
#-----| -> x2
# 66| x2
#-----| -> createClosure2
# 66| x2
#-----| -> x3
# 66| createClosure2
#-----| -> 0
# 66| call to createClosure2
#-----| exception -> exit callClosures (normal)
#-----| -> 10
# 66| call to ...
#-----| -> var ... = ...
# 66| 0
#-----| -> call to createClosure2
# 66| 10
#-----| -> call to ...
# 67| var ... = ...
#-----| -> x3
# 67| x3
#-----| -> createClosure3
# 67| x3
#-----| -> exit callClosures (normal)
# 67| createClosure3
#-----| -> 0
# 67| call to createClosure3
#-----| exception -> exit callClosures (normal)
#-----| -> 10
# 67| call to ...
#-----| -> var ... = ...
# 67| 0
#-----| -> call to createClosure3
# 67| 10
#-----| -> call to ...
# 70| enter maybeParseInt
#-----| -> n
# 70| exit maybeParseInt
# 70| exit maybeParseInt (normal)
#-----| -> exit maybeParseInt
# 71| var ... = ...
#-----| -> n
# 71| n
#-----| -> ... as ...
# 71| n
#-----| -> n
# 71| ... as ...
#-----| -> deinit
# 71| Int.Type
#-----| -> call to ...
# 71| call to ...
#-----| -> s
# 71| deinit
#-----| -> Int.Type
# 71| call to ...
#-----| -> var ... = ...
# 71| s
#-----| -> call to ...
# 72| return ...
#-----| return -> exit maybeParseInt (normal)
# 72| (Int?) ...
#-----| -> return ...
# 72| n
#-----| -> (Int?) ...
# 75| enter forceAndBackToOptional
#-----| -> nBang
# 75| exit forceAndBackToOptional
# 75| exit forceAndBackToOptional (normal)
#-----| -> exit forceAndBackToOptional
# 76| var ... = ...
#-----| -> nBang
# 76| nBang
#-----| -> maybeParseInt
# 76| nBang
#-----| -> n
# 76| maybeParseInt
#-----| -> 42
# 76| call to maybeParseInt
#-----| exception -> exit forceAndBackToOptional (normal)
#-----| -> ...!
# 76| ...!
#-----| -> var ... = ...
# 76| 42
#-----| -> call to maybeParseInt
# 77| var ... = ...
#-----| -> n
# 77| n
#-----| -> maybeParseInt
# 77| n
#-----| -> +
# 77| maybeParseInt
#-----| -> 42
# 77| call to maybeParseInt
#-----| exception -> exit forceAndBackToOptional (normal)
#-----| -> var ... = ...
# 77| 42
#-----| -> call to maybeParseInt
# 78| return ...
#-----| return -> exit forceAndBackToOptional (normal)
# 78| (Int) ...
#-----| -> n
# 78| nBang
#-----| -> (Int) ...
# 78| (Int?) ...
#-----| -> return ...
# 78| ... call to + ...
#-----| -> (Int?) ...
# 78| +
#-----| -> Int.Type
# 78| Int.Type
#-----| -> call to +
# 78| call to +
#-----| exception -> exit forceAndBackToOptional (normal)
#-----| -> nBang
# 78| (Int?) ...
#-----| -> ...!
# 78| n
#-----| -> (Int?) ...
# 78| ...!
#-----| -> ... call to + ...
# 81| enter testInOut
#-----| -> temp
# 82| var ... = ...
#-----| -> temp
# 82| temp
#-----| -> 10
# 82| temp
# 82| 10
#-----| -> var ... = ...
# 84| enter add
#-----| -> a
# 84| exit add
# 84| exit add (normal)
#-----| -> exit add
# 85| a
#-----| -> +
# 85| ... = ...
#-----| -> exit add (normal)
# 85| (Int) ...
#-----| -> 1
# 85| a
#-----| -> (Int) ...
# 85| ... call to + ...
#-----| -> ... = ...
# 85| +
#-----| -> Int.Type
# 85| Int.Type
#-----| -> call to +
# 85| call to +
#-----| exception -> exit add (normal)
#-----| -> a
# 85| 1
#-----| -> ... call to + ...
# 88| enter addOptional
#-----| -> a
# 88| exit addOptional
# 88| exit addOptional (normal)
#-----| -> exit addOptional
# 89| a
#-----| -> nil
# 89| ... = ...
#-----| -> exit addOptional (normal)
# 89| nil
#-----| -> ... = ...
# 99| enter get
# 99| exit get
# 99| exit get (normal)
#-----| -> exit get
# 100| enter deinit
#-----| -> self
# 100| exit deinit
# 100| exit deinit (normal)
#-----| -> exit deinit
# 101| .myInt
#-----| -> n
# 101| self
#-----| -> .myInt
# 101| ... = ...
#-----| -> return
# 101| n
#-----| -> ... = ...
# 102| return
#-----| return -> exit deinit (normal)
# 104| enter getMyInt
#-----| -> self
# 104| exit getMyInt
# 104| exit getMyInt (normal)
#-----| -> exit getMyInt
# 105| return ...
#-----| return -> exit getMyInt (normal)
# 105| getter for .myInt
#-----| -> return ...
# 105| self
#-----| -> getter for .myInt
# 109| enter testMemberRef
#-----| -> c
# 109| exit testMemberRef
# 109| exit testMemberRef (normal)
#-----| -> exit testMemberRef
# 110| var ... = ...
#-----| -> c
# 110| c
#-----| -> deinit
# 110| c
#-----| -> n1
# 110| C.Type
#-----| -> call to ...
# 110| call to ...
#-----| -> 42
# 110| deinit
#-----| -> C.Type
# 110| call to ...
#-----| -> var ... = ...
# 110| 42
#-----| -> call to ...
# 111| var ... = ...
#-----| -> n1
# 111| n1
#-----| -> c
# 111| n1
#-----| -> n2
# 111| c
#-----| -> getter for .myInt
# 111| getter for .myInt
#-----| -> var ... = ...
# 112| var ... = ...
#-----| -> n2
# 112| n2
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 112| n2
#-----| -> n3
# 112| .self
#-----| -> getter for .myInt
# 112| TBD (DotSelfExpr)
#-----| -> getter for .myInt
# 112| getter for .myInt
#-----| -> var ... = ...
# 113| var ... = ...
#-----| -> n3
# 113| n3
#-----| -> getMyInt
# 113| n3
#-----| -> n4
# 113| c
#-----| -> call to getMyInt
# 113| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 113| call to ...
#-----| -> var ... = ...
# 113| getMyInt
#-----| -> c
# 114| var ... = ...
#-----| -> n4
# 114| n4
#-----| -> getMyInt
# 114| n4
#-----| -> n5
# 114| .self
#-----| -> call to getMyInt
# 114| TBD (DotSelfExpr)
#-----| -> call to getMyInt
# 114| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 114| call to ...
#-----| -> var ... = ...
# 114| getMyInt
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 116| var ... = ...
#-----| -> n5
# 116| n5
#-----| -> param
# 116| n5
#-----| -> n6
# 116| param
#-----| -> getter for .myInt
# 116| getter for .myInt
#-----| -> var ... = ...
# 117| var ... = ...
#-----| -> n6
# 117| n6
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 117| n6
#-----| -> n7
# 117| .self
#-----| -> getter for .myInt
# 117| TBD (DotSelfExpr)
#-----| -> getter for .myInt
# 117| getter for .myInt
#-----| -> var ... = ...
# 118| var ... = ...
#-----| -> n7
# 118| n7
#-----| -> getMyInt
# 118| n7
#-----| -> n8
# 118| param
#-----| -> call to getMyInt
# 118| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 118| call to ...
#-----| -> var ... = ...
# 118| getMyInt
#-----| -> param
# 119| var ... = ...
#-----| -> n8
# 119| n8
#-----| -> getMyInt
# 119| n8
#-----| -> n9
# 119| .self
#-----| -> call to getMyInt
# 119| TBD (DotSelfExpr)
#-----| -> call to getMyInt
# 119| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 119| call to ...
#-----| -> var ... = ...
# 119| getMyInt
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 121| var ... = ...
#-----| -> n9
# 121| n9
#-----| -> inoutParam
# 121| n9
#-----| -> n10
# 121| (C) ...
#-----| -> getter for .myInt
# 121| inoutParam
#-----| -> (C) ...
# 121| getter for .myInt
#-----| -> var ... = ...
# 122| var ... = ...
#-----| -> n10
# 122| n10
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 122| n10
#-----| -> n11
# 122| (C) ...
#-----| -> getter for .myInt
# 122| .self
#-----| -> (C) ...
# 122| TBD (DotSelfExpr)
#-----| -> (C) ...
# 122| getter for .myInt
#-----| -> var ... = ...
# 123| var ... = ...
#-----| -> n11
# 123| n11
#-----| -> getMyInt
# 123| n11
#-----| -> n12
# 123| (C) ...
#-----| -> call to getMyInt
# 123| inoutParam
#-----| -> (C) ...
# 123| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 123| call to ...
#-----| -> var ... = ...
# 123| getMyInt
#-----| -> inoutParam
# 124| var ... = ...
#-----| -> n12
# 124| n12
#-----| -> getMyInt
# 124| n12
#-----| -> n13
# 124| (C) ...
#-----| -> call to getMyInt
# 124| .self
#-----| -> (C) ...
# 124| TBD (DotSelfExpr)
#-----| -> (C) ...
# 124| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 124| call to ...
#-----| -> var ... = ...
# 124| getMyInt
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 126| var ... = ...
#-----| -> n13
# 126| n13
#-----| -> opt
# 126| n13
#-----| -> n14
# 126| opt
#-----| -> ...!
# 126| ...!
#-----| -> getter for .myInt
# 126| getter for .myInt
#-----| -> var ... = ...
# 127| var ... = ...
#-----| -> n14
# 127| n14
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 127| n14
#-----| -> n15
# 127| .self
#-----| -> getter for .myInt
# 127| TBD (DotSelfExpr)
#-----| -> getter for .myInt
# 127| getter for .myInt
#-----| -> var ... = ...
# 128| var ... = ...
#-----| -> n15
# 128| n15
#-----| -> getMyInt
# 128| n15
#-----| -> n16
# 128| opt
#-----| -> ...!
# 128| ...!
#-----| -> call to getMyInt
# 128| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 128| call to ...
#-----| -> var ... = ...
# 128| getMyInt
#-----| -> opt
# 129| var ... = ...
#-----| -> n16
# 129| n16
#-----| -> getMyInt
# 129| n16
#-----| -> n17
# 129| .self
#-----| -> call to getMyInt
# 129| TBD (DotSelfExpr)
#-----| -> call to getMyInt
# 129| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 129| call to ...
#-----| -> var ... = ...
# 129| getMyInt
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 131| var ... = ...
#-----| -> n17
# 131| n17
#-----| -> opt
# 131| n17
#-----| -> n18
# 131| opt
#-----| -> ...?
# 131| ...?
#-----| -> getter for .myInt
# 131| (Int?) ...
#-----| -> OptionalEvaluationExpr
# 131| OptionalEvaluationExpr
#-----| -> var ... = ...
# 131| getter for .myInt
#-----| -> (Int?) ...
# 132| var ... = ...
#-----| -> n18
# 132| n18
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 132| n18
#-----| -> n19
# 132| .self
#-----| -> getter for .myInt
# 132| TBD (DotSelfExpr)
#-----| -> getter for .myInt
# 132| (Int?) ...
#-----| -> OptionalEvaluationExpr
# 132| OptionalEvaluationExpr
#-----| -> var ... = ...
# 132| getter for .myInt
#-----| -> (Int?) ...
# 133| var ... = ...
#-----| -> n19
# 133| n19
#-----| -> getMyInt
# 133| n19
#-----| -> n20
# 133| opt
#-----| -> ...?
# 133| ...?
#-----| -> call to getMyInt
# 133| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 133| (Int?) ...
#-----| -> OptionalEvaluationExpr
# 133| OptionalEvaluationExpr
#-----| -> var ... = ...
# 133| call to ...
#-----| -> (Int?) ...
# 133| getMyInt
#-----| -> opt
# 134| var ... = ...
#-----| -> n20
# 134| n20
#-----| -> getMyInt
# 134| n20
#-----| -> exit testMemberRef (normal)
# 134| .self
#-----| -> call to getMyInt
# 134| TBD (DotSelfExpr)
#-----| -> call to getMyInt
# 134| call to getMyInt
#-----| exception -> exit testMemberRef (normal)
#-----| -> call to ...
# 134| (Int?) ...
#-----| -> OptionalEvaluationExpr
# 134| OptionalEvaluationExpr
#-----| -> var ... = ...
# 134| call to ...
#-----| -> (Int?) ...
# 134| getMyInt
#-----| -> .self
#-----| -> TBD (DotSelfExpr)
# 137| enter patterns
#-----| -> ...
# 137| exit patterns
# 137| exit patterns (normal)
#-----| -> exit patterns
# 138| for ... in ... { ... }
#-----| non-empty -> _
#-----| empty -> switch x { ... }
# 138| _
#-----| -> { ... }
# 138| 0
#-----| -> 10
# 138| ... call to ... ...
#-----| -> for ... in ... { ... }
# 138| ...
#-----| -> Int.Type
# 138| Int.Type
#-----| -> call to ...
# 138| call to ...
#-----| exception -> exit patterns (normal)
#-----| -> 0
# 138| 10
#-----| -> ... call to ... ...
# 138| { ... }
#-----| -> for ... in ... { ... }
# 140| switch x { ... }
#-----| -> x
# 140| x
#-----| -> case ...
# 141| case ...
#-----| -> 0
# 141| 0
#-----| -> 0
# 141| 0
#-----| no-match -> 1
#-----| match -> true
# 141| 0
#-----| -> 0
# 141| 1
#-----| -> 1
# 141| 1
#-----| match -> true
#-----| no-match -> case ...
# 141| 1
#-----| -> 1
# 142| return ...
# 142| true
#-----| -> return ...
# 144| case ...
#-----| -> x
# 144| x
#-----| match -> true
#-----| no-match -> case ...
# 144| x
#-----| -> x
# 144| x
#-----| -> x
# 145| return ...
# 145| true
#-----| -> return ...
# 146| _
#-----| -> _
# 146| _
#-----| match -> false
# 146| case ...
#-----| -> _
# 147| return ...
# 147| false
#-----| -> return ...
# 163| enter testDefer
#-----| -> defer { ... }
# 163| exit testDefer
# 163| exit testDefer (normal)
#-----| -> exit testDefer
# 165| defer { ... }
#-----| -> defer { ... }
# 166| print
#-----| -> 4
# 166| call to print
#-----| -> exit testDefer (normal)
# 166| default separator
#-----| -> default terminator
# 166| default terminator
#-----| -> call to print
# 166| (Any) ...
#-----| -> [...]
# 166| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 166| 4
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 166| [...]
#-----| -> default separator
# 166| [...]
#-----| -> [...]
# 169| defer { ... }
#-----| -> defer { ... }
# 170| print
#-----| -> 3
# 170| call to print
#-----| -> print
# 170| default separator
#-----| -> default terminator
# 170| default terminator
#-----| -> call to print
# 170| (Any) ...
#-----| -> [...]
# 170| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 170| 3
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 170| [...]
#-----| -> default separator
# 170| [...]
#-----| -> [...]
# 173| defer { ... }
#-----| -> print
# 174| print
#-----| -> 1
# 174| call to print
#-----| -> defer { ... }
# 174| default separator
#-----| -> default terminator
# 174| default terminator
#-----| -> call to print
# 174| (Any) ...
#-----| -> [...]
# 174| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 174| 1
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 174| [...]
#-----| -> default separator
# 174| [...]
#-----| -> [...]
# 175| defer { ... }
#-----| -> print
# 176| print
#-----| -> 2
# 176| call to print
#-----| -> print
# 176| default separator
#-----| -> default terminator
# 176| default terminator
#-----| -> call to print
# 176| (Any) ...
#-----| -> [...]
# 176| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 176| 2
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 176| [...]
#-----| -> default separator
# 176| [...]
#-----| -> [...]
# 181| enter m1
#-----| -> if ... then { ... } else { ... }
# 181| exit m1
# 181| exit m1 (normal)
#-----| -> exit m1
# 182| if ... then { ... } else { ... }
#-----| -> >
# 182| x
#-----| -> 2
# 182| ... call to > ...
#-----| -> StmtCondition
# 182| StmtCondition
#-----| true -> print
#-----| false -> if ... then { ... } else { ... }
# 182| >
#-----| -> Int.Type
# 182| Int.Type
#-----| -> call to >
# 182| call to >
#-----| exception -> exit m1 (normal)
#-----| -> x
# 182| 2
#-----| -> ... call to > ...
# 183| print
#-----| -> x is greater than 2
# 183| call to print
#-----| exception -> exit m1 (normal)
# 183| default separator
#-----| -> default terminator
# 183| default terminator
#-----| -> call to print
# 183| (Any) ...
#-----| -> [...]
# 183| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 183| [...]
#-----| -> default separator
# 183| [...]
#-----| -> [...]
# 183| x is greater than 2
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 185| if ... then { ... } else { ... }
#-----| -> <=
# 185| x
#-----| -> 2
# 185| ... call to <= ...
#-----| false -> [false] ... call to && ...
#-----| true -> { ... }
# 185| ... call to && ...
#-----| false -> ... call to && ...
#-----| true -> { ... }
# 185| [false] ... call to && ...
#-----| false -> ... call to && ...
# 185| ... call to && ...
#-----| -> StmtCondition
# 185| StmtCondition
#-----| true -> print
#-----| false -> print
# 185| <=
#-----| -> Int.Type
# 185| Int.Type
#-----| -> call to <=
# 185| call to <=
#-----| exception -> exit m1 (normal)
#-----| -> x
# 185| 2
#-----| -> ... call to <= ...
# 185| x
#-----| -> 0
# 185| ... call to > ...
#-----| -> return ...
# 185| return ...
#-----| -> ... call to && ...
# 185| { ... }
#-----| -> >
# 185| >
#-----| -> Int.Type
# 185| Int.Type
#-----| -> call to >
# 185| call to >
#-----| exception -> exit m1 (normal)
#-----| -> x
# 185| 0
#-----| -> ... call to > ...
# 185| call to ...
#-----| -> return ...
# 185| return ...
#-----| -> ... call to && ...
# 185| { ... }
#-----| -> ==
# 185| (...)
#-----| -> call to ...
# 185| x
#-----| -> 5
# 185| ... call to == ...
#-----| -> (...)
# 185| ==
#-----| -> Int.Type
# 185| Int.Type
#-----| -> call to ==
# 185| call to ==
#-----| exception -> exit m1 (normal)
#-----| -> x
# 185| 5
#-----| -> ... call to == ...
# 186| print
#-----| -> x is 1
# 186| call to print
#-----| exception -> exit m1 (normal)
# 186| default separator
#-----| -> default terminator
# 186| default terminator
#-----| -> call to print
# 186| (Any) ...
#-----| -> [...]
# 186| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 186| [...]
#-----| -> default separator
# 186| [...]
#-----| -> [...]
# 186| x is 1
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 189| print
#-----| -> I can't guess the number
# 189| call to print
#-----| exception -> exit m1 (normal)
# 189| default separator
#-----| -> default terminator
# 189| default terminator
#-----| -> call to print
# 189| (Any) ...
#-----| -> [...]
# 189| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 189| I can't guess the number
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 189| [...]
#-----| -> default separator
# 189| [...]
#-----| -> [...]
# 193| enter m2
#-----| -> if ... then { ... }
# 193| exit m2
# 193| exit m2 (normal)
#-----| -> exit m2
# 194| if ... then { ... }
#-----| -> b
# 194| StmtCondition
#-----| true -> 0
#-----| false -> 1
# 194| b
#-----| -> StmtCondition
# 195| return ...
#-----| return -> exit m2 (normal)
# 195| 0
#-----| -> return ...
# 197| return ...
#-----| return -> exit m2 (normal)
# 197| 1
#-----| -> return ...
# 200| enter m3
#-----| -> if ... then { ... }
# 200| exit m3
# 200| exit m3 (normal)
#-----| -> exit m3
# 201| if ... then { ... }
#-----| -> <
# 201| (Int) ...
#-----| -> 0
# 201| x
#-----| -> (Int) ...
# 201| ... call to < ...
#-----| -> StmtCondition
# 201| StmtCondition
#-----| true -> x
#-----| false -> x
# 201| <
#-----| -> Int.Type
# 201| Int.Type
#-----| -> call to <
# 201| call to <
#-----| exception -> exit m3 (normal)
#-----| -> x
# 201| 0
#-----| -> ... call to < ...
# 202| x
#-----| -> -
# 202| ... = ...
#-----| -> if ... then { ... }
# 202| -
#-----| -> Int.Type
# 202| Int.Type
#-----| -> call to -
# 202| call to -
#-----| exception -> exit m3 (normal)
#-----| -> x
# 202| call to ...
#-----| -> ... = ...
# 202| (Int) ...
#-----| -> call to ...
# 202| x
#-----| -> (Int) ...
# 203| if ... then { ... }
#-----| -> >
# 203| (Int) ...
#-----| -> 10
# 203| x
#-----| -> (Int) ...
# 203| ... call to > ...
#-----| -> StmtCondition
# 203| StmtCondition
#-----| true -> x
#-----| false -> x
# 203| >
#-----| -> Int.Type
# 203| Int.Type
#-----| -> call to >
# 203| call to >
#-----| exception -> exit m3 (normal)
#-----| -> x
# 203| 10
#-----| -> ... call to > ...
# 204| x
#-----| -> -
# 204| ... = ...
#-----| -> x
# 204| (Int) ...
#-----| -> 1
# 204| x
#-----| -> (Int) ...
# 204| ... call to - ...
#-----| -> ... = ...
# 204| -
#-----| -> Int.Type
# 204| Int.Type
#-----| -> call to -
# 204| call to -
#-----| exception -> exit m3 (normal)
#-----| -> x
# 204| 1
#-----| -> ... call to - ...
# 207| return ...
#-----| return -> exit m3 (normal)
# 207| (Int) ...
#-----| -> return ...
# 207| x
#-----| -> (Int) ...
# 210| enter m4
#-----| -> b1
# 210| exit m4
# 210| exit m4 (normal)
#-----| -> exit m4
# 211| return ...
#-----| return -> exit m4 (normal)
# 211| [false] (...)
#-----| false -> !b2 || !b3
# 211| [true] (...)
#-----| true -> b2 || b3
# 211| ... ? ... : ...
#-----| -> return ...
# 211| b1
#-----| true -> b2
#-----| false -> b3
# 211| [false] ... ? ... : ...
#-----| false -> [false] (...)
# 211| [true] ... ? ... : ...
#-----| true -> [true] (...)
# 211| b2
#-----| false -> [false] ... ? ... : ...
#-----| true -> [true] ... ? ... : ...
# 211| b3
#-----| false -> [false] ... ? ... : ...
#-----| true -> [true] ... ? ... : ...
# 211| b2 || b3
#-----| -> ... ? ... : ...
# 211| !b2 || !b3
#-----| -> ... ? ... : ...
# 214| enter conversionsInSplitEntry
#-----| -> if ... then { ... } else { ... }
# 214| exit conversionsInSplitEntry
# 214| exit conversionsInSplitEntry (normal)
#-----| -> exit conversionsInSplitEntry
# 215| if ... then { ... } else { ... }
#-----| -> b
# 215| b
#-----| true -> true
#-----| false -> false
# 215| ... ? ... : ...
#-----| -> StmtCondition
# 215| StmtCondition
#-----| true -> b
#-----| false -> !b
# 215| (...)
#-----| -> ... ? ... : ...
# 215| true
#-----| -> (...)
# 215| (Bool) ...
#-----| -> ... ? ... : ...
# 215| false
#-----| -> (Bool) ...
# 216| return ...
#-----| return -> exit conversionsInSplitEntry (normal)
# 216| b
#-----| -> return ...
# 219| return ...
#-----| return -> exit conversionsInSplitEntry (normal)
# 219| !b
#-----| -> return ...
# 223| enter constant_condition
#-----| -> if ... then { ... }
# 223| exit constant_condition
# 223| exit constant_condition (normal)
#-----| -> exit constant_condition
# 224| if ... then { ... }
#-----| -> true
# 224| StmtCondition
#-----| false -> exit constant_condition (normal)
#-----| true -> print
# 224| call to ...
#-----| -> StmtCondition
# 224| true
#-----| -> call to ...
# 225| print
#-----| -> Impossible
# 225| call to print
#-----| exception -> exit constant_condition (normal)
# 225| default separator
#-----| -> default terminator
# 225| default terminator
#-----| -> call to print
# 225| (Any) ...
#-----| -> [...]
# 225| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 225| Impossible
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 225| [...]
#-----| -> default separator
# 225| [...]
#-----| -> [...]
# 229| enter empty_else
#-----| -> if ... then { ... } else { ... }
# 229| exit empty_else
# 229| exit empty_else (normal)
#-----| -> exit empty_else
# 230| if ... then { ... } else { ... }
#-----| -> b
# 230| StmtCondition
#-----| true -> print
#-----| false -> { ... }
# 230| b
#-----| -> StmtCondition
# 231| print
#-----| -> true
# 231| call to print
#-----| exception -> exit empty_else (normal)
#-----| -> print
# 231| default separator
#-----| -> default terminator
# 231| default terminator
#-----| -> call to print
# 231| (Any) ...
#-----| -> [...]
# 231| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 231| [...]
#-----| -> default separator
# 231| [...]
#-----| -> [...]
# 231| true
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 233| { ... }
#-----| -> print
# 234| print
#-----| -> done
# 234| call to print
#-----| exception -> exit empty_else (normal)
# 234| default separator
#-----| -> default terminator
# 234| default terminator
#-----| -> call to print
# 234| (Any) ...
#-----| -> [...]
# 234| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 234| [...]
#-----| -> default separator
# 234| [...]
#-----| -> [...]
# 234| done
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 237| enter disjunct
#-----| -> if ... then { ... }
# 237| exit disjunct
# 237| exit disjunct (normal)
#-----| -> exit disjunct
# 238| if ... then { ... }
#-----| -> b1
# 238| (...)
#-----| -> StmtCondition
# 238| StmtCondition
#-----| false -> exit disjunct (normal)
#-----| true -> print
# 238| b1
#-----| true -> ... call to || ...
#-----| false -> { ... }
# 238| ... call to || ...
#-----| -> (...)
# 238| b2
#-----| -> return ...
# 238| return ...
#-----| -> ... call to || ...
# 238| { ... }
#-----| -> b2
# 239| print
#-----| -> b1 or b2
# 239| call to print
#-----| exception -> exit disjunct (normal)
# 239| default separator
#-----| -> default terminator
# 239| default terminator
#-----| -> call to print
# 239| (Any) ...
#-----| -> [...]
# 239| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 239| [...]
#-----| -> default separator
# 239| [...]
#-----| -> [...]
# 239| b1 or b2
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 243| enter binaryExprs
#-----| -> c
# 243| exit binaryExprs
# 243| exit binaryExprs (normal)
#-----| -> exit binaryExprs
# 244| var ... = ...
#-----| -> c
# 244| c
#-----| -> +
# 244| c
#-----| -> d
# 244| a
#-----| -> b
# 244| ... call to + ...
#-----| -> var ... = ...
# 244| +
#-----| -> Int.Type
# 244| Int.Type
#-----| -> call to +
# 244| call to +
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 244| b
#-----| -> ... call to + ...
# 245| var ... = ...
#-----| -> d
# 245| d
#-----| -> -
# 245| d
#-----| -> e
# 245| a
#-----| -> b
# 245| ... call to - ...
#-----| -> var ... = ...
# 245| -
#-----| -> Int.Type
# 245| Int.Type
#-----| -> call to -
# 245| call to -
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 245| b
#-----| -> ... call to - ...
# 246| var ... = ...
#-----| -> e
# 246| e
#-----| -> *
# 246| e
#-----| -> f
# 246| a
#-----| -> b
# 246| ... call to * ...
#-----| -> var ... = ...
# 246| *
#-----| -> Int.Type
# 246| Int.Type
#-----| -> call to *
# 246| call to *
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 246| b
#-----| -> ... call to * ...
# 247| var ... = ...
#-----| -> f
# 247| f
#-----| -> /
# 247| f
#-----| -> g
# 247| a
#-----| -> b
# 247| ... call to / ...
#-----| -> var ... = ...
# 247| /
#-----| -> Int.Type
# 247| Int.Type
#-----| -> call to /
# 247| call to /
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 247| b
#-----| -> ... call to / ...
# 248| var ... = ...
#-----| -> g
# 248| g
#-----| -> %
# 248| g
#-----| -> h
# 248| a
#-----| -> b
# 248| ... call to % ...
#-----| -> var ... = ...
# 248| %
#-----| -> Int.Type
# 248| Int.Type
#-----| -> call to %
# 248| call to %
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 248| b
#-----| -> ... call to % ...
# 249| var ... = ...
#-----| -> h
# 249| h
#-----| -> &
# 249| h
#-----| -> i
# 249| a
#-----| -> b
# 249| ... call to & ...
#-----| -> var ... = ...
# 249| &
#-----| -> Int.Type
# 249| Int.Type
#-----| -> call to &
# 249| call to &
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 249| b
#-----| -> ... call to & ...
# 250| var ... = ...
#-----| -> i
# 250| i
#-----| -> |
# 250| i
#-----| -> j
# 250| a
#-----| -> b
# 250| ... call to | ...
#-----| -> var ... = ...
# 250| Int.Type
#-----| -> call to |
# 250| call to |
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 250| |
#-----| -> Int.Type
# 250| b
#-----| -> ... call to | ...
# 251| var ... = ...
#-----| -> j
# 251| j
#-----| -> ^
# 251| j
#-----| -> k
# 251| a
#-----| -> b
# 251| ... call to ^ ...
#-----| -> var ... = ...
# 251| Int.Type
#-----| -> call to ^
# 251| ^
#-----| -> Int.Type
# 251| call to ^
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 251| b
#-----| -> ... call to ^ ...
# 252| var ... = ...
#-----| -> k
# 252| k
#-----| -> <<
# 252| k
#-----| -> l
# 252| a
#-----| -> b
# 252| ... call to << ...
#-----| -> var ... = ...
# 252| <<
#-----| -> Int.Type
# 252| Int.Type
#-----| -> call to <<
# 252| call to <<
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 252| b
#-----| -> ... call to << ...
# 253| var ... = ...
#-----| -> l
# 253| l
#-----| -> >>
# 253| l
#-----| -> o
# 253| a
#-----| -> b
# 253| ... call to >> ...
#-----| -> var ... = ...
# 253| >>
#-----| -> Int.Type
# 253| Int.Type
#-----| -> call to >>
# 253| call to >>
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 253| b
#-----| -> ... call to >> ...
# 254| var ... = ...
#-----| -> o
# 254| o
#-----| -> ==
# 254| o
#-----| -> p
# 254| a
#-----| -> b
# 254| ... call to == ...
#-----| -> var ... = ...
# 254| ==
#-----| -> Int.Type
# 254| Int.Type
#-----| -> call to ==
# 254| call to ==
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 254| b
#-----| -> ... call to == ...
# 255| var ... = ...
#-----| -> p
# 255| p
#-----| -> !=
# 255| p
#-----| -> q
# 255| a
#-----| -> b
# 255| ... call to != ...
#-----| -> var ... = ...
# 255| !=
#-----| -> Int.Type
# 255| Int.Type
#-----| -> call to !=
# 255| call to !=
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 255| b
#-----| -> ... call to != ...
# 256| var ... = ...
#-----| -> q
# 256| q
#-----| -> <
# 256| q
#-----| -> r
# 256| a
#-----| -> b
# 256| ... call to < ...
#-----| -> var ... = ...
# 256| <
#-----| -> Int.Type
# 256| Int.Type
#-----| -> call to <
# 256| call to <
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 256| b
#-----| -> ... call to < ...
# 257| var ... = ...
#-----| -> r
# 257| r
#-----| -> <=
# 257| r
#-----| -> s
# 257| a
#-----| -> b
# 257| ... call to <= ...
#-----| -> var ... = ...
# 257| <=
#-----| -> Int.Type
# 257| Int.Type
#-----| -> call to <=
# 257| call to <=
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 257| b
#-----| -> ... call to <= ...
# 258| var ... = ...
#-----| -> s
# 258| s
#-----| -> >
# 258| s
#-----| -> t
# 258| a
#-----| -> b
# 258| ... call to > ...
#-----| -> var ... = ...
# 258| >
#-----| -> Int.Type
# 258| Int.Type
#-----| -> call to >
# 258| call to >
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 258| b
#-----| -> ... call to > ...
# 259| var ... = ...
#-----| -> t
# 259| t
#-----| -> >=
# 259| t
#-----| -> exit binaryExprs (normal)
# 259| a
#-----| -> b
# 259| ... call to >= ...
#-----| -> var ... = ...
# 259| >=
#-----| -> Int.Type
# 259| Int.Type
#-----| -> call to >=
# 259| call to >=
#-----| exception -> exit binaryExprs (normal)
#-----| -> a
# 259| b
#-----| -> ... call to >= ...
# 262| enter interpolatedString
#-----| -> "..."
# 262| exit interpolatedString
# 262| exit interpolatedString (normal)
#-----| -> exit interpolatedString
# 263| return ...
#-----| return -> exit interpolatedString (normal)
# 263| "..."
#-----| -> return ...
# 266| enter testSubscriptExpr
#-----| -> a
# 266| exit testSubscriptExpr
# 266| exit testSubscriptExpr (normal)
#-----| -> exit testSubscriptExpr
# 267| var ... = ...
#-----| -> a
# 267| a
#-----| -> 0
# 267| a
#-----| -> a
# 267| [...]
#-----| -> var ... = ...
# 267| 0
#-----| -> 1
# 267| 1
#-----| -> 2
# 267| 2
#-----| -> 3
# 267| 3
#-----| -> 4
# 267| 4
#-----| -> 5
# 267| 5
#-----| -> 6
# 267| 6
#-----| -> 7
# 267| 7
#-----| -> 8
# 267| 8
#-----| -> 9
# 267| 9
#-----| -> 10
# 267| 10
#-----| -> [...]
# 268| &...
#-----| -> 0
# 268| a
#-----| -> &...
# 268| ...[...]
#-----| -> 0
# 268| setter for ... = ...
#-----| -> +=
# 268| 0
#-----| -> ...[...]
# 268| 0
#-----| -> setter for ... = ...
# 269| &...
#-----| -> 1
# 269| a
#-----| -> &...
# 269| &...
#-----| -> 1
# 269| getter for ...[...]
#-----| -> &...
# 269| ... call to += ...
#-----| -> -=
# 269| 1
#-----| -> getter for ...[...]
# 269| +=
#-----| -> Int.Type
# 269| Int.Type
#-----| -> call to +=
# 269| call to +=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 269| 1
#-----| -> ... call to += ...
# 270| &...
#-----| -> 2
# 270| a
#-----| -> &...
# 270| &...
#-----| -> 1
# 270| getter for ...[...]
#-----| -> &...
# 270| ... call to -= ...
#-----| -> *=
# 270| 2
#-----| -> getter for ...[...]
# 270| -=
#-----| -> Int.Type
# 270| Int.Type
#-----| -> call to -=
# 270| call to -=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 270| 1
#-----| -> ... call to -= ...
# 271| &...
#-----| -> 3
# 271| a
#-----| -> &...
# 271| &...
#-----| -> 1
# 271| getter for ...[...]
#-----| -> &...
# 271| ... call to *= ...
#-----| -> /=
# 271| 3
#-----| -> getter for ...[...]
# 271| *=
#-----| -> Int.Type
# 271| Int.Type
#-----| -> call to *=
# 271| call to *=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 271| 1
#-----| -> ... call to *= ...
# 272| &...
#-----| -> 4
# 272| a
#-----| -> &...
# 272| &...
#-----| -> 1
# 272| getter for ...[...]
#-----| -> &...
# 272| ... call to /= ...
#-----| -> %=
# 272| 4
#-----| -> getter for ...[...]
# 272| /=
#-----| -> Int.Type
# 272| Int.Type
#-----| -> call to /=
# 272| call to /=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 272| 1
#-----| -> ... call to /= ...
# 273| &...
#-----| -> 5
# 273| a
#-----| -> &...
# 273| &...
#-----| -> 1
# 273| getter for ...[...]
#-----| -> &...
# 273| ... call to %= ...
#-----| -> &=
# 273| 5
#-----| -> getter for ...[...]
# 273| %=
#-----| -> Int.Type
# 273| Int.Type
#-----| -> call to %=
# 273| call to %=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 273| 1
#-----| -> ... call to %= ...
# 274| &...
#-----| -> 6
# 274| a
#-----| -> &...
# 274| &...
#-----| -> 1
# 274| getter for ...[...]
#-----| -> &...
# 274| ... call to &= ...
#-----| -> |=
# 274| 6
#-----| -> getter for ...[...]
# 274| &=
#-----| -> Int.Type
# 274| Int.Type
#-----| -> call to &=
# 274| call to &=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 274| 1
#-----| -> ... call to &= ...
# 275| &...
#-----| -> 7
# 275| a
#-----| -> &...
# 275| &...
#-----| -> 1
# 275| getter for ...[...]
#-----| -> &...
# 275| ... call to |= ...
#-----| -> ^=
# 275| 7
#-----| -> getter for ...[...]
# 275| Int.Type
#-----| -> call to |=
# 275| call to |=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 275| |=
#-----| -> Int.Type
# 275| 1
#-----| -> ... call to |= ...
# 276| &...
#-----| -> 8
# 276| a
#-----| -> &...
# 276| &...
#-----| -> 1
# 276| getter for ...[...]
#-----| -> &...
# 276| ... call to ^= ...
#-----| -> <<=
# 276| 8
#-----| -> getter for ...[...]
# 276| Int.Type
#-----| -> call to ^=
# 276| ^=
#-----| -> Int.Type
# 276| call to ^=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 276| 1
#-----| -> ... call to ^= ...
# 277| &...
#-----| -> 9
# 277| a
#-----| -> &...
# 277| &...
#-----| -> 1
# 277| getter for ...[...]
#-----| -> &...
# 277| ... call to <<= ...
#-----| -> >>=
# 277| 9
#-----| -> getter for ...[...]
# 277| <<=
#-----| -> Int.Type
# 277| Int.Type
#-----| -> call to <<=
# 277| call to <<=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 277| 1
#-----| -> ... call to <<= ...
# 278| &...
#-----| -> 10
# 278| a
#-----| -> &...
# 278| &...
#-----| -> 1
# 278| getter for ...[...]
#-----| -> &...
# 278| ... call to >>= ...
#-----| -> tupleWithA
# 278| 10
#-----| -> getter for ...[...]
# 278| >>=
#-----| -> Int.Type
# 278| Int.Type
#-----| -> call to >>=
# 278| call to >>=
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a
# 278| 1
#-----| -> ... call to >>= ...
# 280| var ... = ...
#-----| -> tupleWithA
# 280| tupleWithA
#-----| -> a
# 280| tupleWithA
#-----| -> b
# 280| (...)
#-----| -> var ... = ...
# 280| &...
#-----| -> 0
# 280| a
#-----| -> &...
# 280| (Int) ...
#-----| -> a
# 280| getter for ...[...]
#-----| -> (Int) ...
# 280| 0
#-----| -> getter for ...[...]
# 280| &...
#-----| -> 1
# 280| a
#-----| -> &...
# 280| (Int) ...
#-----| -> a
# 280| getter for ...[...]
#-----| -> (Int) ...
# 280| 1
#-----| -> getter for ...[...]
# 280| &...
#-----| -> 2
# 280| a
#-----| -> &...
# 280| (Int) ...
#-----| -> a
# 280| getter for ...[...]
#-----| -> (Int) ...
# 280| 2
#-----| -> getter for ...[...]
# 280| &...
#-----| -> 3
# 280| a
#-----| -> &...
# 280| (Int) ...
#-----| -> a
# 280| getter for ...[...]
#-----| -> (Int) ...
# 280| 3
#-----| -> getter for ...[...]
# 280| &...
#-----| -> 4
# 280| a
#-----| -> &...
# 280| (Int) ...
#-----| -> (...)
# 280| getter for ...[...]
#-----| -> (Int) ...
# 280| 4
#-----| -> getter for ...[...]
# 282| var ... = ...
#-----| -> b
# 282| b
#-----| -> 0
# 282| b
#-----| -> b
# 282| [...]
#-----| -> var ... = ...
# 282| 0
#-----| -> 1
# 282| 1
#-----| -> 2
# 282| 2
#-----| -> 3
# 282| 3
#-----| -> 4
# 282| 4
#-----| -> 5
# 282| 5
#-----| -> 6
# 282| 6
#-----| -> 7
# 282| 7
#-----| -> 8
# 282| 8
#-----| -> 9
# 282| 9
#-----| -> 10
# 282| 10
#-----| -> 11
# 282| 11
#-----| -> [...]
# 283| &...
#-----| -> 0
# 283| b
#-----| -> &...
# 283| ...[...]
#-----| -> a
# 283| setter for ... = ...
#-----| -> b
# 283| 0
#-----| -> ...[...]
# 283| &...
#-----| -> 10
# 283| a
#-----| -> &...
# 283| (Int) ...
#-----| -> setter for ... = ...
# 283| getter for ...[...]
#-----| -> (Int) ...
# 283| 10
#-----| -> getter for ...[...]
# 284| &...
#-----| -> 1
# 284| b
#-----| -> &...
# 284| ...[...]
#-----| -> +
# 284| setter for ... = ...
#-----| -> b
# 284| 1
#-----| -> ...[...]
# 284| &...
#-----| -> 0
# 284| b
#-----| -> &...
# 284| (Int) ...
#-----| -> 1
# 284| getter for ...[...]
#-----| -> (Int) ...
# 284| ... call to + ...
#-----| -> setter for ... = ...
# 284| 0
#-----| -> getter for ...[...]
# 284| +
#-----| -> Int.Type
# 284| Int.Type
#-----| -> call to +
# 284| call to +
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 284| 1
#-----| -> ... call to + ...
# 285| &...
#-----| -> 2
# 285| b
#-----| -> &...
# 285| ...[...]
#-----| -> -
# 285| setter for ... = ...
#-----| -> b
# 285| 2
#-----| -> ...[...]
# 285| &...
#-----| -> 1
# 285| b
#-----| -> &...
# 285| (Int) ...
#-----| -> 1
# 285| getter for ...[...]
#-----| -> (Int) ...
# 285| ... call to - ...
#-----| -> setter for ... = ...
# 285| 1
#-----| -> getter for ...[...]
# 285| -
#-----| -> Int.Type
# 285| Int.Type
#-----| -> call to -
# 285| call to -
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 285| 1
#-----| -> ... call to - ...
# 286| &...
#-----| -> 3
# 286| b
#-----| -> &...
# 286| ...[...]
#-----| -> *
# 286| setter for ... = ...
#-----| -> b
# 286| 3
#-----| -> ...[...]
# 286| &...
#-----| -> 2
# 286| b
#-----| -> &...
# 286| (Int) ...
#-----| -> 1
# 286| getter for ...[...]
#-----| -> (Int) ...
# 286| ... call to * ...
#-----| -> setter for ... = ...
# 286| 2
#-----| -> getter for ...[...]
# 286| *
#-----| -> Int.Type
# 286| Int.Type
#-----| -> call to *
# 286| call to *
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 286| 1
#-----| -> ... call to * ...
# 287| &...
#-----| -> 4
# 287| b
#-----| -> &...
# 287| ...[...]
#-----| -> /
# 287| setter for ... = ...
#-----| -> b
# 287| 4
#-----| -> ...[...]
# 287| &...
#-----| -> 3
# 287| b
#-----| -> &...
# 287| (Int) ...
#-----| -> 1
# 287| getter for ...[...]
#-----| -> (Int) ...
# 287| ... call to / ...
#-----| -> setter for ... = ...
# 287| 3
#-----| -> getter for ...[...]
# 287| /
#-----| -> Int.Type
# 287| Int.Type
#-----| -> call to /
# 287| call to /
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 287| 1
#-----| -> ... call to / ...
# 288| &...
#-----| -> 5
# 288| b
#-----| -> &...
# 288| ...[...]
#-----| -> %
# 288| setter for ... = ...
#-----| -> b
# 288| 5
#-----| -> ...[...]
# 288| &...
#-----| -> 4
# 288| b
#-----| -> &...
# 288| (Int) ...
#-----| -> 1
# 288| getter for ...[...]
#-----| -> (Int) ...
# 288| ... call to % ...
#-----| -> setter for ... = ...
# 288| 4
#-----| -> getter for ...[...]
# 288| %
#-----| -> Int.Type
# 288| Int.Type
#-----| -> call to %
# 288| call to %
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 288| 1
#-----| -> ... call to % ...
# 289| &...
#-----| -> 6
# 289| b
#-----| -> &...
# 289| ...[...]
#-----| -> &
# 289| setter for ... = ...
#-----| -> b
# 289| 6
#-----| -> ...[...]
# 289| &...
#-----| -> 5
# 289| b
#-----| -> &...
# 289| (Int) ...
#-----| -> 1
# 289| getter for ...[...]
#-----| -> (Int) ...
# 289| ... call to & ...
#-----| -> setter for ... = ...
# 289| 5
#-----| -> getter for ...[...]
# 289| &
#-----| -> Int.Type
# 289| Int.Type
#-----| -> call to &
# 289| call to &
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 289| 1
#-----| -> ... call to & ...
# 290| &...
#-----| -> 7
# 290| b
#-----| -> &...
# 290| ...[...]
#-----| -> |
# 290| setter for ... = ...
#-----| -> b
# 290| 7
#-----| -> ...[...]
# 290| &...
#-----| -> 6
# 290| b
#-----| -> &...
# 290| (Int) ...
#-----| -> 1
# 290| getter for ...[...]
#-----| -> (Int) ...
# 290| ... call to | ...
#-----| -> setter for ... = ...
# 290| 6
#-----| -> getter for ...[...]
# 290| Int.Type
#-----| -> call to |
# 290| call to |
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 290| |
#-----| -> Int.Type
# 290| 1
#-----| -> ... call to | ...
# 291| &...
#-----| -> 8
# 291| b
#-----| -> &...
# 291| ...[...]
#-----| -> ^
# 291| setter for ... = ...
#-----| -> b
# 291| 8
#-----| -> ...[...]
# 291| &...
#-----| -> 7
# 291| b
#-----| -> &...
# 291| (Int) ...
#-----| -> 1
# 291| getter for ...[...]
#-----| -> (Int) ...
# 291| ... call to ^ ...
#-----| -> setter for ... = ...
# 291| 7
#-----| -> getter for ...[...]
# 291| Int.Type
#-----| -> call to ^
# 291| ^
#-----| -> Int.Type
# 291| call to ^
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 291| 1
#-----| -> ... call to ^ ...
# 292| &...
#-----| -> 9
# 292| b
#-----| -> &...
# 292| ...[...]
#-----| -> <<
# 292| setter for ... = ...
#-----| -> b
# 292| 9
#-----| -> ...[...]
# 292| &...
#-----| -> 8
# 292| b
#-----| -> &...
# 292| (Int) ...
#-----| -> 1
# 292| getter for ...[...]
#-----| -> (Int) ...
# 292| ... call to << ...
#-----| -> setter for ... = ...
# 292| 8
#-----| -> getter for ...[...]
# 292| <<
#-----| -> Int.Type
# 292| Int.Type
#-----| -> call to <<
# 292| call to <<
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 292| 1
#-----| -> ... call to << ...
# 293| &...
#-----| -> 10
# 293| b
#-----| -> &...
# 293| ...[...]
#-----| -> >>
# 293| setter for ... = ...
#-----| -> (...)
# 293| 10
#-----| -> ...[...]
# 293| &...
#-----| -> 9
# 293| b
#-----| -> &...
# 293| (Int) ...
#-----| -> 1
# 293| getter for ...[...]
#-----| -> (Int) ...
# 293| ... call to >> ...
#-----| -> setter for ... = ...
# 293| 9
#-----| -> getter for ...[...]
# 293| >>
#-----| -> Int.Type
# 293| Int.Type
#-----| -> call to >>
# 293| call to >>
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> b
# 293| 1
#-----| -> ... call to >> ...
# 295| var ... = ...
#-----| -> a1
# 295| (...)
#-----| -> a1
# 295| a1
#-----| -> tupleWithA
# 295| a1
#-----| -> a2
# 295| a2
#-----| -> a3
# 295| a3
#-----| -> a4
# 295| a4
#-----| -> a5
# 295| a5
#-----| -> +
# 295| ((Int, Int, Int, Int, Int)) ...
#-----| -> var ... = ...
# 295| tupleWithA
#-----| -> ((Int, Int, Int, Int, Int)) ...
# 296| return ...
#-----| return -> exit testSubscriptExpr (normal)
# 296| (...)
#-----| -> return ...
# 296| a1
#-----| -> b
# 296| ... call to + ...
#-----| -> +
# 296| +
#-----| -> Int.Type
# 296| Int.Type
#-----| -> call to +
# 296| call to +
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a1
# 296| &...
#-----| -> 0
# 296| b
#-----| -> &...
# 296| (Int) ...
#-----| -> ... call to + ...
# 296| getter for ...[...]
#-----| -> (Int) ...
# 296| 0
#-----| -> getter for ...[...]
# 296| a2
#-----| -> b
# 296| ... call to + ...
#-----| -> +
# 296| +
#-----| -> Int.Type
# 296| Int.Type
#-----| -> call to +
# 296| call to +
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a2
# 296| &...
#-----| -> 1
# 296| b
#-----| -> &...
# 296| (Int) ...
#-----| -> ... call to + ...
# 296| getter for ...[...]
#-----| -> (Int) ...
# 296| 1
#-----| -> getter for ...[...]
# 296| a3
#-----| -> b
# 296| ... call to + ...
#-----| -> +
# 296| +
#-----| -> Int.Type
# 296| Int.Type
#-----| -> call to +
# 296| call to +
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a3
# 296| &...
#-----| -> 2
# 296| b
#-----| -> &...
# 296| (Int) ...
#-----| -> ... call to + ...
# 296| getter for ...[...]
#-----| -> (Int) ...
# 296| 2
#-----| -> getter for ...[...]
# 296| a4
#-----| -> b
# 296| ... call to + ...
#-----| -> +
# 296| +
#-----| -> Int.Type
# 296| Int.Type
#-----| -> call to +
# 296| call to +
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a4
# 296| &...
#-----| -> 3
# 296| b
#-----| -> &...
# 296| (Int) ...
#-----| -> ... call to + ...
# 296| getter for ...[...]
#-----| -> (Int) ...
# 296| 3
#-----| -> getter for ...[...]
# 296| a5
#-----| -> b
# 296| ... call to + ...
#-----| -> (...)
# 296| +
#-----| -> Int.Type
# 296| Int.Type
#-----| -> call to +
# 296| call to +
#-----| exception -> exit testSubscriptExpr (normal)
#-----| -> a5
# 296| &...
#-----| -> 4
# 296| b
#-----| -> &...
# 296| (Int) ...
#-----| -> ... call to + ...
# 296| getter for ...[...]
#-----| -> (Int) ...
# 296| 4
#-----| -> getter for ...[...]
# 299| enter loop1
#-----| -> while ... { ... }
# 299| exit loop1
# 299| exit loop1 (normal)
#-----| -> exit loop1
# 300| while ... { ... }
#-----| -> >=
# 300| (Int) ...
#-----| -> 0
# 300| x
#-----| -> (Int) ...
# 300| ... call to >= ...
#-----| -> StmtCondition
# 300| StmtCondition
#-----| false -> exit loop1 (normal)
#-----| true -> print
# 300| >=
#-----| -> Int.Type
# 300| Int.Type
#-----| -> call to >=
# 300| call to >=
#-----| exception -> exit loop1 (normal)
#-----| -> x
# 300| 0
#-----| -> ... call to >= ...
# 301| print
#-----| -> x
# 301| call to print
#-----| exception -> exit loop1 (normal)
#-----| -> -=
# 301| default separator
#-----| -> default terminator
# 301| default terminator
#-----| -> call to print
# 301| (Int) ...
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 301| (Any) ...
#-----| -> [...]
# 301| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 301| [...]
#-----| -> default separator
# 301| [...]
#-----| -> [...]
# 301| x
#-----| -> (Int) ...
# 302| &...
#-----| -> 1
# 302| x
#-----| -> &...
# 302| ... call to -= ...
#-----| -> >=
# 302| -=
#-----| -> Int.Type
# 302| Int.Type
#-----| -> call to -=
# 302| call to -=
#-----| exception -> exit loop1 (normal)
#-----| -> x
# 302| 1
#-----| -> ... call to -= ...
# 306| enter loop2
#-----| -> while ... { ... }
# 306| exit loop2
# 306| exit loop2 (normal)
#-----| -> exit loop2
# 307| while ... { ... }
#-----| -> >=
# 307| (Int) ...
#-----| -> 0
# 307| x
#-----| -> (Int) ...
# 307| ... call to >= ...
#-----| -> StmtCondition
# 307| StmtCondition
#-----| true -> print
#-----| false -> print
# 307| >=
#-----| -> Int.Type
# 307| Int.Type
#-----| -> call to >=
# 307| call to >=
#-----| exception -> exit loop2 (normal)
#-----| -> x
# 307| 0
#-----| -> ... call to >= ...
# 308| print
#-----| -> x
# 308| call to print
#-----| exception -> exit loop2 (normal)
#-----| -> -=
# 308| default separator
#-----| -> default terminator
# 308| default terminator
#-----| -> call to print
# 308| (Int) ...
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 308| (Any) ...
#-----| -> [...]
# 308| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 308| [...]
#-----| -> default separator
# 308| [...]
#-----| -> [...]
# 308| x
#-----| -> (Int) ...
# 309| &...
#-----| -> 1
# 309| x
#-----| -> &...
# 309| ... call to -= ...
#-----| -> if ... then { ... } else { ... }
# 309| -=
#-----| -> Int.Type
# 309| Int.Type
#-----| -> call to -=
# 309| call to -=
#-----| exception -> exit loop2 (normal)
#-----| -> x
# 309| 1
#-----| -> ... call to -= ...
# 310| if ... then { ... } else { ... }
#-----| -> >
# 310| (Int) ...
#-----| -> 100
# 310| x
#-----| -> (Int) ...
# 310| ... call to > ...
#-----| -> StmtCondition
# 310| StmtCondition
#-----| true -> break
#-----| false -> if ... then { ... }
# 310| >
#-----| -> Int.Type
# 310| Int.Type
#-----| -> call to >
# 310| call to >
#-----| exception -> exit loop2 (normal)
#-----| -> x
# 310| 100
#-----| -> ... call to > ...
# 311| break
#-----| -> print
# 313| if ... then { ... }
#-----| -> >
# 313| (Int) ...
#-----| -> 50
# 313| x
#-----| -> (Int) ...
# 313| ... call to > ...
#-----| -> StmtCondition
# 313| StmtCondition
#-----| true -> continue
#-----| false -> print
# 313| >
#-----| -> Int.Type
# 313| Int.Type
#-----| -> call to >
# 313| call to >
#-----| exception -> exit loop2 (normal)
#-----| -> x
# 313| 50
#-----| -> ... call to > ...
# 314| continue
#-----| continue -> >=
# 316| print
#-----| -> Iter
# 316| call to print
#-----| exception -> exit loop2 (normal)
#-----| -> >=
# 316| default separator
#-----| -> default terminator
# 316| default terminator
#-----| -> call to print
# 316| (Any) ...
#-----| -> [...]
# 316| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 316| Iter
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 316| [...]
#-----| -> default separator
# 316| [...]
#-----| -> [...]
# 318| print
#-----| -> Done
# 318| call to print
#-----| exception -> exit loop2 (normal)
# 318| default separator
#-----| -> default terminator
# 318| default terminator
#-----| -> call to print
# 318| (Any) ...
#-----| -> [...]
# 318| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 318| Done
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 318| [...]
#-----| -> default separator
# 318| [...]
#-----| -> [...]
# 321| enter labeledLoop
#-----| -> while ... { ... }
# 321| exit labeledLoop
# 321| exit labeledLoop (normal)
#-----| -> exit labeledLoop
# 322| while ... { ... }
#-----| -> >=
# 322| (Int) ...
#-----| -> 0
# 322| x
#-----| -> (Int) ...
# 322| ... call to >= ...
#-----| -> StmtCondition
# 322| StmtCondition
#-----| false -> exit labeledLoop (normal)
#-----| true -> while ... { ... }
# 322| >=
#-----| -> Int.Type
# 322| Int.Type
#-----| -> call to >=
# 322| call to >=
#-----| exception -> exit labeledLoop (normal)
#-----| -> x
# 322| 0
#-----| -> ... call to >= ...
# 323| while ... { ... }
#-----| -> >=
# 323| (Int) ...
#-----| -> 0
# 323| x
#-----| -> (Int) ...
# 323| ... call to >= ...
#-----| -> StmtCondition
# 323| StmtCondition
#-----| true -> print
#-----| false -> print
# 323| >=
#-----| -> Int.Type
# 323| Int.Type
#-----| -> call to >=
# 323| call to >=
#-----| exception -> exit labeledLoop (normal)
#-----| -> x
# 323| 0
#-----| -> ... call to >= ...
# 324| print
#-----| -> x
# 324| call to print
#-----| exception -> exit labeledLoop (normal)
#-----| -> -=
# 324| default separator
#-----| -> default terminator
# 324| default terminator
#-----| -> call to print
# 324| (Int) ...
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 324| (Any) ...
#-----| -> [...]
# 324| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 324| [...]
#-----| -> default separator
# 324| [...]
#-----| -> [...]
# 324| x
#-----| -> (Int) ...
# 325| &...
#-----| -> 1
# 325| x
#-----| -> &...
# 325| ... call to -= ...
#-----| -> if ... then { ... } else { ... }
# 325| -=
#-----| -> Int.Type
# 325| Int.Type
#-----| -> call to -=
# 325| call to -=
#-----| exception -> exit labeledLoop (normal)
#-----| -> x
# 325| 1
#-----| -> ... call to -= ...
# 326| if ... then { ... } else { ... }
#-----| -> >
# 326| (Int) ...
#-----| -> 100
# 326| x
#-----| -> (Int) ...
# 326| ... call to > ...
#-----| -> StmtCondition
# 326| StmtCondition
#-----| true -> break outer
#-----| false -> if ... then { ... }
# 326| >
#-----| -> Int.Type
# 326| Int.Type
#-----| -> call to >
# 326| call to >
#-----| exception -> exit labeledLoop (normal)
#-----| -> x
# 326| 100
#-----| -> ... call to > ...
# 327| break outer
#-----| -> exit labeledLoop (normal)
# 329| if ... then { ... }
#-----| -> >
# 329| (Int) ...
#-----| -> 50
# 329| x
#-----| -> (Int) ...
# 329| ... call to > ...
#-----| -> StmtCondition
# 329| StmtCondition
#-----| true -> continue inner
#-----| false -> print
# 329| >
#-----| -> Int.Type
# 329| Int.Type
#-----| -> call to >
# 329| call to >
#-----| exception -> exit labeledLoop (normal)
#-----| -> x
# 329| 50
#-----| -> ... call to > ...
# 330| continue inner
#-----| continue -> >=
# 332| print
#-----| -> Iter
# 332| call to print
#-----| exception -> exit labeledLoop (normal)
#-----| -> >=
# 332| default separator
#-----| -> default terminator
# 332| default terminator
#-----| -> call to print
# 332| (Any) ...
#-----| -> [...]
# 332| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 332| Iter
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 332| [...]
#-----| -> default separator
# 332| [...]
#-----| -> [...]
# 334| print
#-----| -> Done
# 334| call to print
#-----| exception -> exit labeledLoop (normal)
#-----| -> >=
# 334| default separator
#-----| -> default terminator
# 334| default terminator
#-----| -> call to print
# 334| (Any) ...
#-----| -> [...]
# 334| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 334| Done
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 334| [...]
#-----| -> default separator
# 334| [...]
#-----| -> [...]
# 338| enter testRepeat
#-----| -> repeat { ... } while ...
# 338| exit testRepeat
# 338| exit testRepeat (normal)
#-----| -> exit testRepeat
# 339| repeat { ... } while ...
#-----| -> print
# 340| print
#-----| -> x
# 340| call to print
#-----| exception -> exit testRepeat (normal)
#-----| -> -=
# 340| default separator
#-----| -> default terminator
# 340| default terminator
#-----| -> call to print
# 340| (Int) ...
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 340| (Any) ...
#-----| -> [...]
# 340| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 340| [...]
#-----| -> default separator
# 340| [...]
#-----| -> [...]
# 340| x
#-----| -> (Int) ...
# 341| &...
#-----| -> 1
# 341| x
#-----| -> &...
# 341| ... call to -= ...
#-----| -> >=
# 341| -=
#-----| -> Int.Type
# 341| Int.Type
#-----| -> call to -=
# 341| call to -=
#-----| exception -> exit testRepeat (normal)
#-----| -> x
# 341| 1
#-----| -> ... call to -= ...
# 342| (Int) ...
#-----| -> 0
# 342| x
#-----| -> (Int) ...
# 342| ... call to >= ...
#-----| false -> exit testRepeat (normal)
#-----| true -> print
# 342| >=
#-----| -> Int.Type
# 342| Int.Type
#-----| -> call to >=
# 342| call to >=
#-----| exception -> exit testRepeat (normal)
#-----| -> x
# 342| 0
#-----| -> ... call to >= ...
# 345| enter loop_with_identity_expr
#-----| -> x
# 345| exit loop_with_identity_expr
# 345| exit loop_with_identity_expr (normal)
#-----| -> exit loop_with_identity_expr
# 346| var ... = ...
#-----| -> x
# 346| x
#-----| -> 0
# 346| x
#-----| -> while ... { ... }
# 346| 0
#-----| -> var ... = ...
# 347| while ... { ... }
#-----| -> <
# 347| (...)
#-----| -> StmtCondition
# 347| StmtCondition
#-----| false -> exit loop_with_identity_expr (normal)
#-----| true -> +=
# 347| (Int) ...
#-----| -> 10
# 347| x
#-----| -> (Int) ...
# 347| ... call to < ...
#-----| -> (...)
# 347| <
#-----| -> Int.Type
# 347| Int.Type
#-----| -> call to <
# 347| call to <
#-----| exception -> exit loop_with_identity_expr (normal)
#-----| -> x
# 347| 10
#-----| -> ... call to < ...
# 348| &...
#-----| -> 1
# 348| x
#-----| -> &...
# 348| ... call to += ...
#-----| -> <
# 348| +=
#-----| -> Int.Type
# 348| Int.Type
#-----| -> call to +=
# 348| call to +=
#-----| exception -> exit loop_with_identity_expr (normal)
#-----| -> x
# 348| 1
#-----| -> ... call to += ...
# 353| enter get
# 353| exit get
# 353| exit get (normal)
#-----| -> exit get
# 354| enter deinit
#-----| -> self
# 354| exit deinit
# 354| exit deinit (normal)
#-----| -> exit deinit
# 355| .c
#-----| -> arg
# 355| self
#-----| -> .c
# 355| ... = ...
#-----| -> return
# 355| arg
#-----| -> ... = ...
# 356| return
#-----| return -> exit deinit (normal)
# 358| enter getOptional
#-----| -> self
# 358| exit getOptional
# 358| exit getOptional (normal)
#-----| -> exit getOptional
# 359| return ...
#-----| return -> exit getOptional (normal)
# 359| getter for .c
#-----| -> return ...
# 359| self
#-----| -> getter for .c
# 363| enter testOptional
#-----| -> getMyInt
# 363| exit testOptional
# 363| exit testOptional (normal)
#-----| -> exit testOptional
# 364| return ...
#-----| return -> exit testOptional (normal)
# 364| c
#-----| -> ...?
# 364| ...?
#-----| -> call to getOptional
# 364| call to getOptional
#-----| exception -> exit testOptional (normal)
#-----| -> call to ...
# 364| call to ...
#-----| -> ...?
# 364| ...?
#-----| -> call to getMyInt
# 364| call to getMyInt
#-----| exception -> exit testOptional (normal)
#-----| -> call to ...
# 364| (Int?) ...
#-----| -> OptionalEvaluationExpr
# 364| OptionalEvaluationExpr
#-----| -> return ...
# 364| call to ...
#-----| -> (Int?) ...
# 364| getOptional
#-----| -> c
# 364| getMyInt
#-----| -> getOptional
# 367| enter testCapture
#-----| -> z
# 367| exit testCapture
# 367| exit testCapture (normal)
#-----| -> exit testCapture
# 368| return ...
#-----| return -> exit testCapture (normal)
# 368| { ... }
#-----| -> return ...
# 368| { ... }
#-----| -> { ... }
# 368| z
#-----| -> +
# 368| var ... = ...
#-----| -> t
# 368| x
#-----| -> y
# 368| ... call to + ...
#-----| -> var ... = ...
# 368| +
#-----| -> Int.Type
# 368| Int.Type
#-----| -> call to +
# 368| call to +
#-----| exception -> exit testCapture (normal)
#-----| -> x
# 368| y
#-----| -> ... call to + ...
# 368| t
#-----| -> literal
# 368| var ... = ...
#-----| -> { ... }
# 368| literal
#-----| -> var ... = ...
# 373| enter testTupleElement
#-----| -> +
# 373| exit testTupleElement
# 373| exit testTupleElement (normal)
#-----| -> exit testTupleElement
# 374| return ...
#-----| return -> exit testTupleElement (normal)
# 374| t
#-----| -> .0
# 374| .0
#-----| -> t
# 374| ... call to + ...
#-----| -> t
# 374| ... call to + ...
#-----| -> 1
# 374| ... call to + ...
#-----| -> return ...
# 374| +
#-----| -> Int.Type
# 374| Int.Type
#-----| -> call to +
# 374| call to +
#-----| exception -> exit testTupleElement (normal)
#-----| -> t
# 374| t
#-----| -> .1
# 374| .1
#-----| -> ... call to + ...
# 374| +
#-----| -> Int.Type
# 374| Int.Type
#-----| -> call to +
# 374| call to +
#-----| exception -> exit testTupleElement (normal)
#-----| -> +
# 374| t
#-----| -> .2
# 374| .2
#-----| -> ... call to + ...
# 374| +
#-----| -> Int.Type
# 374| Int.Type
#-----| -> call to +
# 374| call to +
#-----| exception -> exit testTupleElement (normal)
#-----| -> +
# 374| (...)
#-----| -> .0
# 374| .0
#-----| -> ... call to + ...
# 374| 1
#-----| -> 2
# 374| 2
#-----| -> 3
# 374| 3
#-----| -> (...)
# 377| #...
#-----| -> #...
# 377| #...
#-----| -> #...
# 377| #...
#-----| -> #...
# 377| #...
#-----| -> call to _unimplementedInitializer
# 377| _unimplementedInitializer
#-----| -> cfg.Derived
# 377| call to _unimplementedInitializer
#-----| exception -> exit deinit (normal)
# 377| cfg.Derived
#-----| -> #...
# 377| enter deinit
#-----| -> _unimplementedInitializer
# 377| exit deinit
# 377| exit deinit (normal)
#-----| -> exit deinit
# 378| enter deinit
#-----| -> call to ...
#-----| -> TBD (OtherConstructorDeclRefExpr)
# 378| exit deinit
# 378| exit deinit (normal)
#-----| -> exit deinit
# 379| super
#-----| -> call to ...
# 379| call to ...
#-----| -> 0
# 379| call to ...
#-----| -> self = ...
# 379| self = ...
#-----| -> return
# 379| call to ...
#-----| -> super
# 379| TBD (OtherConstructorDeclRefExpr)
#-----| -> super
# 379| 0
#-----| -> call to ...
# 380| return
#-----| return -> exit deinit (normal)
# 383| enter doWithoutCatch
#-----| -> do { ... }
# 383| exit doWithoutCatch
# 383| exit doWithoutCatch (normal)
#-----| -> exit doWithoutCatch
# 384| do { ... }
#-----| -> mightThrow
# 385| try ...
#-----| -> print
# 385| mightThrow
#-----| -> 0
# 385| call to mightThrow
#-----| exception -> exit doWithoutCatch (normal)
#-----| -> try ...
# 385| 0
#-----| -> call to mightThrow
# 386| print
#-----| -> Did not throw.
# 386| call to print
#-----| exception -> exit doWithoutCatch (normal)
# 386| default separator
#-----| -> default terminator
# 386| default terminator
#-----| -> call to print
# 386| (Any) ...
#-----| -> [...]
# 386| (TBD (ProtocolCompositionType)) ...
#-----| -> [...]
# 386| Did not throw.
#-----| -> (Any) ...
#-----| -> (TBD (ProtocolCompositionType)) ...
# 386| [...]
#-----| -> default separator
# 386| [...]
#-----| -> [...]
# 394| enter (unnamed function decl)
#-----| -> yield ...
#-----| -> TBD (YieldStmt)
# 394| enter get
# 394| enter set
# 394| exit (unnamed function decl)
# 394| exit (unnamed function decl) (normal)
#-----| -> exit (unnamed function decl)
# 394| exit get
# 394| exit get (normal)
#-----| -> exit get
# 394| exit set
# 394| exit set (normal)
#-----| -> exit set
# 394| yield ...
#-----| -> exit (unnamed function decl) (normal)
# 394| TBD (YieldStmt)
#-----| -> exit (unnamed function decl) (normal)
# 395| enter deinit
#-----| -> self
# 395| exit deinit
# 395| exit deinit (normal)
#-----| -> exit deinit
# 396| .field
#-----| -> 10
# 396| self
#-----| -> .field
# 396| ... = ...
#-----| -> return
# 396| 10
#-----| -> ... = ...
# 397| return
#-----| return -> exit deinit (normal)
# 399| enter init
#-----| -> self
# 399| exit init
# 399| exit init (normal)
#-----| -> exit init
# 400| .field
#-----| -> 0
# 400| self
#-----| -> .field
# 400| ... = ...
#-----| -> exit init (normal)
# 400| 0
#-----| -> ... = ...
# 404| enter dictionaryLiteral
#-----| -> x
# 404| exit dictionaryLiteral
# 404| exit dictionaryLiteral (normal)
#-----| -> exit dictionaryLiteral
# 405| return ...
#-----| return -> exit dictionaryLiteral (normal)
# 405| [...]
#-----| -> return ...
# 405| x
#-----| -> x
# 405| (...)
#-----| -> y
# 405| x
#-----| -> (...)
# 405| y
#-----| -> y
# 405| (...)
#-----| -> [...]
# 405| y
#-----| -> (...)