Files
codeql/csharp/ql/test/library-tests/controlflow/graph/NodeGraph.expected
2021-12-03 09:37:41 +01:00

14495 lines
305 KiB
Plaintext

AccessorCalls.cs:
# 5| enter get_Item
#-----| -> access to parameter i
# 5| exit get_Item
# 5| exit get_Item (normal)
#-----| -> exit get_Item
# 5| access to parameter i
#-----| -> exit get_Item (normal)
# 5| enter set_Item
#-----| -> {...}
# 5| exit set_Item
# 5| exit set_Item (normal)
#-----| -> exit set_Item
# 5| {...}
#-----| -> exit set_Item (normal)
# 7| enter add_Event
#-----| -> {...}
# 7| exit add_Event
# 7| exit add_Event (normal)
#-----| -> exit add_Event
# 7| {...}
#-----| -> exit add_Event (normal)
# 7| enter remove_Event
#-----| -> {...}
# 7| exit remove_Event
# 7| exit remove_Event (normal)
#-----| -> exit remove_Event
# 7| {...}
#-----| -> exit remove_Event (normal)
# 10| enter M1
#-----| -> {...}
# 10| exit M1
# 10| exit M1 (normal)
#-----| -> exit M1
# 11| {...}
#-----| -> ...;
# 12| ...;
#-----| -> this access
# 12| ... = ...
#-----| -> ...;
# 12| this access
#-----| -> this access
# 12| access to field Field
#-----| -> ... = ...
# 12| this access
#-----| -> access to field Field
# 13| ...;
#-----| -> this access
# 13| ... = ...
#-----| -> ...;
# 13| access to property Prop
#-----| -> ... = ...
# 13| this access
#-----| -> this access
# 13| access to property Prop
#-----| -> access to property Prop
# 13| this access
#-----| -> access to property Prop
# 14| ...;
#-----| -> this access
# 14| ... = ...
#-----| -> ...;
# 14| access to indexer
#-----| -> ... = ...
# 14| this access
#-----| -> 0
# 14| 0
#-----| -> this access
# 14| access to indexer
#-----| -> access to indexer
# 14| this access
#-----| -> 1
# 14| 1
#-----| -> access to indexer
# 15| ...;
#-----| -> this access
# 15| ... += ...
#-----| -> ...;
# 15| access to event Event
#-----| -> ... += ...
# 15| this access
#-----| -> access to parameter e
# 15| access to parameter e
#-----| -> access to event Event
# 16| ...;
#-----| -> this access
# 16| ... -= ...
#-----| -> exit M1 (normal)
# 16| access to event Event
#-----| -> ... -= ...
# 16| this access
#-----| -> access to parameter e
# 16| access to parameter e
#-----| -> access to event Event
# 19| enter M2
#-----| -> {...}
# 19| exit M2
# 19| exit M2 (normal)
#-----| -> exit M2
# 20| {...}
#-----| -> ...;
# 21| ...;
#-----| -> this access
# 21| ... = ...
#-----| -> ...;
# 21| access to field x
#-----| -> this access
# 21| this access
#-----| -> access to field x
# 21| access to field Field
#-----| -> ... = ...
# 21| access to field x
#-----| -> access to field Field
# 21| this access
#-----| -> access to field x
# 22| ...;
#-----| -> this access
# 22| ... = ...
#-----| -> ...;
# 22| access to property Prop
#-----| -> ... = ...
# 22| access to field x
#-----| -> this access
# 22| this access
#-----| -> access to field x
# 22| access to property Prop
#-----| -> access to property Prop
# 22| access to field x
#-----| -> access to property Prop
# 22| this access
#-----| -> access to field x
# 23| ...;
#-----| -> this access
# 23| ... = ...
#-----| -> ...;
# 23| access to indexer
#-----| -> ... = ...
# 23| access to field x
#-----| -> 0
# 23| this access
#-----| -> access to field x
# 23| 0
#-----| -> this access
# 23| access to indexer
#-----| -> access to indexer
# 23| access to field x
#-----| -> 1
# 23| this access
#-----| -> access to field x
# 23| 1
#-----| -> access to indexer
# 24| ...;
#-----| -> this access
# 24| ... += ...
#-----| -> ...;
# 24| access to event Event
#-----| -> ... += ...
# 24| access to field x
#-----| -> access to parameter e
# 24| this access
#-----| -> access to field x
# 24| access to parameter e
#-----| -> access to event Event
# 25| ...;
#-----| -> this access
# 25| ... -= ...
#-----| -> exit M2 (normal)
# 25| access to event Event
#-----| -> ... -= ...
# 25| access to field x
#-----| -> access to parameter e
# 25| this access
#-----| -> access to field x
# 25| access to parameter e
#-----| -> access to event Event
# 28| enter M3
#-----| -> {...}
# 28| exit M3
# 28| exit M3 (normal)
#-----| -> exit M3
# 29| {...}
#-----| -> ...;
# 30| ...;
#-----| -> this access
# 30| ...++
#-----| -> ...;
# 30| access to field Field
#-----| -> ...++
# 30| this access
#-----| -> access to field Field
# 31| ...;
#-----| -> this access
# 31| ...++
#-----| -> ...;
# 31| access to property Prop
#-----| -> ...++
# 31| this access
#-----| -> access to property Prop
# 32| ...;
#-----| -> this access
# 32| ...++
#-----| -> exit M3 (normal)
# 32| access to indexer
#-----| -> ...++
# 32| this access
#-----| -> 0
# 32| 0
#-----| -> access to indexer
# 35| enter M4
#-----| -> {...}
# 35| exit M4
# 35| exit M4 (normal)
#-----| -> exit M4
# 36| {...}
#-----| -> ...;
# 37| ...;
#-----| -> this access
# 37| ...++
#-----| -> ...;
# 37| access to field Field
#-----| -> ...++
# 37| access to field x
#-----| -> access to field Field
# 37| this access
#-----| -> access to field x
# 38| ...;
#-----| -> this access
# 38| ...++
#-----| -> ...;
# 38| access to property Prop
#-----| -> ...++
# 38| access to field x
#-----| -> access to property Prop
# 38| this access
#-----| -> access to field x
# 39| ...;
#-----| -> this access
# 39| ...++
#-----| -> exit M4 (normal)
# 39| access to indexer
#-----| -> ...++
# 39| access to field x
#-----| -> 0
# 39| this access
#-----| -> access to field x
# 39| 0
#-----| -> access to indexer
# 42| enter M5
#-----| -> {...}
# 42| exit M5
# 42| exit M5 (normal)
#-----| -> exit M5
# 43| {...}
#-----| -> ...;
# 44| ...;
#-----| -> this access
# 44| ... = ...
#-----| -> ...;
# 44| this access
#-----| -> this access
# 44| ... + ...
#-----| -> ... = ...
# 44| access to field Field
#-----| -> this access
# 44| this access
#-----| -> access to field Field
# 44| access to field Field
#-----| -> ... + ...
# 44| this access
#-----| -> access to field Field
# 45| ...;
#-----| -> this access
# 45| ... = ...
#-----| -> ...;
# 45| access to property Prop
#-----| -> ... = ...
# 45| this access
#-----| -> this access
# 45| ... + ...
#-----| -> access to property Prop
# 45| access to property Prop
#-----| -> this access
# 45| this access
#-----| -> access to property Prop
# 45| access to property Prop
#-----| -> ... + ...
# 45| this access
#-----| -> access to property Prop
# 46| ...;
#-----| -> this access
# 46| ... = ...
#-----| -> exit M5 (normal)
# 46| access to indexer
#-----| -> ... = ...
# 46| this access
#-----| -> 0
# 46| ... + ...
#-----| -> access to indexer
# 46| access to indexer
#-----| -> this access
# 46| this access
#-----| -> 0
# 46| 0
#-----| -> this access
# 46| 0
#-----| -> access to indexer
# 46| access to indexer
#-----| -> ... + ...
# 46| this access
#-----| -> 0
# 46| 0
#-----| -> access to indexer
# 49| enter M6
#-----| -> {...}
# 49| exit M6
# 49| exit M6 (normal)
#-----| -> exit M6
# 50| {...}
#-----| -> ...;
# 51| ...;
#-----| -> this access
# 51| ... = ...
#-----| -> ...;
# 51| access to field x
#-----| -> this access
# 51| this access
#-----| -> access to field x
# 51| ... + ...
#-----| -> ... = ...
# 51| access to field Field
#-----| -> this access
# 51| access to field x
#-----| -> access to field Field
# 51| this access
#-----| -> access to field x
# 51| access to field Field
#-----| -> ... + ...
# 51| access to field x
#-----| -> access to field Field
# 51| this access
#-----| -> access to field x
# 52| ...;
#-----| -> this access
# 52| ... = ...
#-----| -> ...;
# 52| access to property Prop
#-----| -> ... = ...
# 52| access to field x
#-----| -> this access
# 52| this access
#-----| -> access to field x
# 52| ... + ...
#-----| -> access to property Prop
# 52| access to property Prop
#-----| -> this access
# 52| access to field x
#-----| -> access to property Prop
# 52| this access
#-----| -> access to field x
# 52| access to property Prop
#-----| -> ... + ...
# 52| access to field x
#-----| -> access to property Prop
# 52| this access
#-----| -> access to field x
# 53| ...;
#-----| -> this access
# 53| ... = ...
#-----| -> exit M6 (normal)
# 53| access to indexer
#-----| -> ... = ...
# 53| access to field x
#-----| -> 0
# 53| this access
#-----| -> access to field x
# 53| ... + ...
#-----| -> access to indexer
# 53| access to indexer
#-----| -> this access
# 53| access to field x
#-----| -> 0
# 53| this access
#-----| -> access to field x
# 53| 0
#-----| -> this access
# 53| 0
#-----| -> access to indexer
# 53| access to indexer
#-----| -> ... + ...
# 53| access to field x
#-----| -> 0
# 53| this access
#-----| -> access to field x
# 53| 0
#-----| -> access to indexer
# 56| enter M7
#-----| -> {...}
# 56| exit M7
# 56| exit M7 (normal)
#-----| -> exit M7
# 57| {...}
#-----| -> ...;
# 58| ...;
#-----| -> this access
# 58| ... = ...
#-----| -> exit M7 (normal)
# 58| (..., ...)
#-----| -> this access
# 58| this access
#-----| -> this access
# 58| access to property Prop
#-----| -> access to indexer
# 58| this access
#-----| -> this access
# 58| (..., ...)
#-----| -> (..., ...)
# 58| access to indexer
#-----| -> ... = ...
# 58| this access
#-----| -> 0
# 58| 0
#-----| -> (..., ...)
# 58| (..., ...)
#-----| -> access to property Prop
# 58| access to field Field
#-----| -> this access
# 58| this access
#-----| -> access to field Field
# 58| access to property Prop
#-----| -> 0
# 58| this access
#-----| -> access to property Prop
# 58| (..., ...)
#-----| -> (..., ...)
# 58| 0
#-----| -> this access
# 58| access to indexer
#-----| -> (..., ...)
# 58| this access
#-----| -> 1
# 58| 1
#-----| -> access to indexer
# 61| enter M8
#-----| -> {...}
# 61| exit M8
# 61| exit M8 (normal)
#-----| -> exit M8
# 62| {...}
#-----| -> ...;
# 63| ...;
#-----| -> this access
# 63| ... = ...
#-----| -> exit M8 (normal)
# 63| (..., ...)
#-----| -> this access
# 63| access to field x
#-----| -> this access
# 63| this access
#-----| -> access to field x
# 63| access to property Prop
#-----| -> access to indexer
# 63| access to field x
#-----| -> this access
# 63| this access
#-----| -> access to field x
# 63| (..., ...)
#-----| -> (..., ...)
# 63| access to indexer
#-----| -> ... = ...
# 63| access to field x
#-----| -> 0
# 63| this access
#-----| -> access to field x
# 63| 0
#-----| -> (..., ...)
# 63| (..., ...)
#-----| -> access to property Prop
# 63| access to field Field
#-----| -> this access
# 63| access to field x
#-----| -> access to field Field
# 63| this access
#-----| -> access to field x
# 63| access to property Prop
#-----| -> 0
# 63| access to field x
#-----| -> access to property Prop
# 63| this access
#-----| -> access to field x
# 63| (..., ...)
#-----| -> (..., ...)
# 63| 0
#-----| -> this access
# 63| access to indexer
#-----| -> (..., ...)
# 63| access to field x
#-----| -> 1
# 63| this access
#-----| -> access to field x
# 63| 1
#-----| -> access to indexer
# 66| enter M9
#-----| -> {...}
# 66| exit M9
# 66| exit M9 (normal)
#-----| -> exit M9
# 67| {...}
#-----| -> ... ...;
# 68| ... ...;
#-----| -> access to parameter o
# 68| dynamic d = ...
#-----| -> ...;
# 68| access to parameter o
#-----| -> dynamic d = ...
# 69| ...;
#-----| -> access to local variable d
# 69| ... = ...
#-----| -> ...;
# 69| dynamic access to member MaybeProp1
#-----| -> ... = ...
# 69| access to local variable d
#-----| -> access to local variable d
# 69| dynamic access to member MaybeProp2
#-----| -> dynamic access to member MaybeProp1
# 69| access to local variable d
#-----| -> dynamic access to member MaybeProp2
# 70| ...;
#-----| -> access to local variable d
# 70| dynamic call to operator ++
#-----| -> ...;
# 70| dynamic access to member MaybeProp
#-----| -> dynamic call to operator ++
# 70| access to local variable d
#-----| -> dynamic access to member MaybeProp
# 71| ...;
#-----| -> access to local variable d
# 71| ... = ...
#-----| -> ...;
# 71| dynamic access to member MaybeEvent
#-----| -> ... = ...
# 71| access to local variable d
#-----| -> access to local variable d
# 71| dynamic call to operator +
#-----| -> dynamic access to member MaybeEvent
# 71| dynamic access to member MaybeEvent
#-----| -> access to parameter e
# 71| access to local variable d
#-----| -> dynamic access to member MaybeEvent
# 71| access to parameter e
#-----| -> dynamic call to operator +
# 72| ...;
#-----| -> access to local variable d
# 72| ... = ...
#-----| -> ...;
# 72| dynamic access to element
#-----| -> ... = ...
# 72| access to local variable d
#-----| -> 0
# 72| dynamic call to operator +
#-----| -> dynamic access to element
# 72| dynamic access to element
#-----| -> access to local variable d
# 72| access to local variable d
#-----| -> 0
# 72| 0
#-----| -> access to local variable d
# 72| 0
#-----| -> dynamic access to element
# 72| dynamic access to element
#-----| -> dynamic call to operator +
# 72| access to local variable d
#-----| -> 1
# 72| 1
#-----| -> dynamic access to element
# 73| ...;
#-----| -> access to local variable d
# 73| ... = ...
#-----| -> exit M9 (normal)
# 73| (..., ...)
#-----| -> access to local variable d
# 73| dynamic access to member MaybeProp1
#-----| -> access to property Prop
# 73| access to local variable d
#-----| -> this access
# 73| access to property Prop
#-----| -> dynamic access to element
# 73| this access
#-----| -> access to local variable d
# 73| (..., ...)
#-----| -> (..., ...)
# 73| dynamic access to element
#-----| -> ... = ...
# 73| access to local variable d
#-----| -> 0
# 73| 0
#-----| -> (..., ...)
# 73| (..., ...)
#-----| -> dynamic access to member MaybeProp1
# 73| dynamic access to member MaybeProp1
#-----| -> this access
# 73| access to local variable d
#-----| -> dynamic access to member MaybeProp1
# 73| access to property Prop
#-----| -> 0
# 73| this access
#-----| -> access to property Prop
# 73| (..., ...)
#-----| -> (..., ...)
# 73| 0
#-----| -> access to local variable d
# 73| dynamic access to element
#-----| -> (..., ...)
# 73| access to local variable d
#-----| -> 1
# 73| 1
#-----| -> dynamic access to element
ArrayCreation.cs:
# 3| enter M1
#-----| -> 0
# 3| exit M1
# 3| exit M1 (normal)
#-----| -> exit M1
# 3| array creation of type Int32[]
#-----| -> exit M1 (normal)
# 3| 0
#-----| -> array creation of type Int32[]
# 5| enter M2
#-----| -> 0
# 5| exit M2
# 5| exit M2 (normal)
#-----| -> exit M2
# 5| array creation of type Int32[,]
#-----| -> exit M2 (normal)
# 5| 0
#-----| -> 1
# 5| 1
#-----| -> array creation of type Int32[,]
# 7| enter M3
#-----| -> 2
# 7| exit M3
# 7| exit M3 (normal)
#-----| -> exit M3
# 7| array creation of type Int32[]
#-----| -> 0
# 7| 2
#-----| -> array creation of type Int32[]
# 7| { ..., ... }
#-----| -> exit M3 (normal)
# 7| 0
#-----| -> 1
# 7| 1
#-----| -> { ..., ... }
# 9| enter M4
#-----| -> 2
# 9| exit M4
# 9| exit M4 (normal)
#-----| -> exit M4
# 9| array creation of type Int32[,]
#-----| -> 0
# 9| 2
#-----| -> 2
# 9| 2
#-----| -> array creation of type Int32[,]
# 9| { ..., ... }
#-----| -> exit M4 (normal)
# 9| { ..., ... }
#-----| -> 2
# 9| 0
#-----| -> 1
# 9| 1
#-----| -> { ..., ... }
# 9| { ..., ... }
#-----| -> { ..., ... }
# 9| 2
#-----| -> 3
# 9| 3
#-----| -> { ..., ... }
Assert.cs:
# 7| enter M1
#-----| -> {...}
# 7| exit M1
# 7| exit M1 (abnormal)
#-----| -> exit M1
# 7| exit M1 (normal)
#-----| -> exit M1
# 8| {...}
#-----| -> ... ...;
# 9| ... ...;
#-----| -> access to parameter b
# 9| String s = ...
#-----| -> ...;
# 9| ... ? ... : ...
#-----| -> String s = ...
# 9| access to parameter b
#-----| true -> null
#-----| false -> ""
# 9| null
#-----| -> ... ? ... : ...
# 9| ""
#-----| -> ... ? ... : ...
# 10| ...;
#-----| -> access to local variable s
# 10| [assertion failure] call to method Assert
#-----| exit -> exit M1 (abnormal)
# 10| [assertion success] call to method Assert
#-----| -> ...;
# 10| ... != ...
#-----| false -> [assertion failure] call to method Assert
#-----| true -> [assertion success] call to method Assert
# 10| access to local variable s
#-----| -> null
# 10| null
#-----| -> ... != ...
# 11| ...;
#-----| -> access to local variable s
# 11| call to method WriteLine
#-----| -> exit M1 (normal)
# 11| access to property Length
#-----| -> call to method WriteLine
# 11| access to local variable s
#-----| -> access to property Length
# 14| enter M2
#-----| -> {...}
# 14| exit M2
# 14| exit M2 (abnormal)
#-----| -> exit M2
# 14| exit M2 (normal)
#-----| -> exit M2
# 15| {...}
#-----| -> ... ...;
# 16| ... ...;
#-----| -> access to parameter b
# 16| String s = ...
#-----| -> ...;
# 16| ... ? ... : ...
#-----| -> String s = ...
# 16| access to parameter b
#-----| true -> null
#-----| false -> ""
# 16| null
#-----| -> ... ? ... : ...
# 16| ""
#-----| -> ... ? ... : ...
# 17| ...;
#-----| -> access to local variable s
# 17| [assertion failure] call to method IsNull
#-----| exception(AssertFailedException) -> exit M2 (abnormal)
# 17| [assertion success] call to method IsNull
#-----| -> ...;
# 17| access to local variable s
#-----| non-null -> [assertion failure] call to method IsNull
#-----| null -> [assertion success] call to method IsNull
# 18| ...;
#-----| -> access to local variable s
# 18| call to method WriteLine
#-----| -> exit M2 (normal)
# 18| access to property Length
#-----| -> call to method WriteLine
# 18| access to local variable s
#-----| -> access to property Length
# 21| enter M3
#-----| -> {...}
# 21| exit M3
# 21| exit M3 (abnormal)
#-----| -> exit M3
# 21| exit M3 (normal)
#-----| -> exit M3
# 22| {...}
#-----| -> ... ...;
# 23| ... ...;
#-----| -> access to parameter b
# 23| String s = ...
#-----| -> ...;
# 23| ... ? ... : ...
#-----| -> String s = ...
# 23| access to parameter b
#-----| true -> null
#-----| false -> ""
# 23| null
#-----| -> ... ? ... : ...
# 23| ""
#-----| -> ... ? ... : ...
# 24| ...;
#-----| -> access to local variable s
# 24| [assertion failure] call to method IsNotNull
#-----| exception(AssertFailedException) -> exit M3 (abnormal)
# 24| [assertion success] call to method IsNotNull
#-----| -> ...;
# 24| access to local variable s
#-----| null -> [assertion failure] call to method IsNotNull
#-----| non-null -> [assertion success] call to method IsNotNull
# 25| ...;
#-----| -> access to local variable s
# 25| call to method WriteLine
#-----| -> exit M3 (normal)
# 25| access to property Length
#-----| -> call to method WriteLine
# 25| access to local variable s
#-----| -> access to property Length
# 28| enter M4
#-----| -> {...}
# 28| exit M4
# 28| exit M4 (abnormal)
#-----| -> exit M4
# 28| exit M4 (normal)
#-----| -> exit M4
# 29| {...}
#-----| -> ... ...;
# 30| ... ...;
#-----| -> access to parameter b
# 30| String s = ...
#-----| -> ...;
# 30| ... ? ... : ...
#-----| -> String s = ...
# 30| access to parameter b
#-----| true -> null
#-----| false -> ""
# 30| null
#-----| -> ... ? ... : ...
# 30| ""
#-----| -> ... ? ... : ...
# 31| ...;
#-----| -> access to local variable s
# 31| [assertion failure] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M4 (abnormal)
# 31| [assertion success] call to method IsTrue
#-----| -> ...;
# 31| ... == ...
#-----| false -> [assertion failure] call to method IsTrue
#-----| true -> [assertion success] call to method IsTrue
# 31| access to local variable s
#-----| -> null
# 31| null
#-----| -> ... == ...
# 32| ...;
#-----| -> access to local variable s
# 32| call to method WriteLine
#-----| -> exit M4 (normal)
# 32| access to property Length
#-----| -> call to method WriteLine
# 32| access to local variable s
#-----| -> access to property Length
# 35| enter M5
#-----| -> {...}
# 35| exit M5
# 35| exit M5 (abnormal)
#-----| -> exit M5
# 35| exit M5 (normal)
#-----| -> exit M5
# 36| {...}
#-----| -> ... ...;
# 37| ... ...;
#-----| -> access to parameter b
# 37| String s = ...
#-----| -> ...;
# 37| ... ? ... : ...
#-----| -> String s = ...
# 37| access to parameter b
#-----| true -> null
#-----| false -> ""
# 37| null
#-----| -> ... ? ... : ...
# 37| ""
#-----| -> ... ? ... : ...
# 38| ...;
#-----| -> access to local variable s
# 38| [assertion failure] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M5 (abnormal)
# 38| [assertion success] call to method IsTrue
#-----| -> ...;
# 38| ... != ...
#-----| false -> [assertion failure] call to method IsTrue
#-----| true -> [assertion success] call to method IsTrue
# 38| access to local variable s
#-----| -> null
# 38| null
#-----| -> ... != ...
# 39| ...;
#-----| -> access to local variable s
# 39| call to method WriteLine
#-----| -> exit M5 (normal)
# 39| access to property Length
#-----| -> call to method WriteLine
# 39| access to local variable s
#-----| -> access to property Length
# 42| enter M6
#-----| -> {...}
# 42| exit M6
# 42| exit M6 (abnormal)
#-----| -> exit M6
# 42| exit M6 (normal)
#-----| -> exit M6
# 43| {...}
#-----| -> ... ...;
# 44| ... ...;
#-----| -> access to parameter b
# 44| String s = ...
#-----| -> ...;
# 44| ... ? ... : ...
#-----| -> String s = ...
# 44| access to parameter b
#-----| true -> null
#-----| false -> ""
# 44| null
#-----| -> ... ? ... : ...
# 44| ""
#-----| -> ... ? ... : ...
# 45| ...;
#-----| -> access to local variable s
# 45| [assertion failure] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M6 (abnormal)
# 45| [assertion success] call to method IsFalse
#-----| -> ...;
# 45| ... != ...
#-----| true -> [assertion failure] call to method IsFalse
#-----| false -> [assertion success] call to method IsFalse
# 45| access to local variable s
#-----| -> null
# 45| null
#-----| -> ... != ...
# 46| ...;
#-----| -> access to local variable s
# 46| call to method WriteLine
#-----| -> exit M6 (normal)
# 46| access to property Length
#-----| -> call to method WriteLine
# 46| access to local variable s
#-----| -> access to property Length
# 49| enter M7
#-----| -> {...}
# 49| exit M7
# 49| exit M7 (abnormal)
#-----| -> exit M7
# 49| exit M7 (normal)
#-----| -> exit M7
# 50| {...}
#-----| -> ... ...;
# 51| ... ...;
#-----| -> access to parameter b
# 51| String s = ...
#-----| -> ...;
# 51| ... ? ... : ...
#-----| -> String s = ...
# 51| access to parameter b
#-----| true -> null
#-----| false -> ""
# 51| null
#-----| -> ... ? ... : ...
# 51| ""
#-----| -> ... ? ... : ...
# 52| ...;
#-----| -> access to local variable s
# 52| [assertion failure] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M7 (abnormal)
# 52| [assertion success] call to method IsFalse
#-----| -> ...;
# 52| ... == ...
#-----| true -> [assertion failure] call to method IsFalse
#-----| false -> [assertion success] call to method IsFalse
# 52| access to local variable s
#-----| -> null
# 52| null
#-----| -> ... == ...
# 53| ...;
#-----| -> access to local variable s
# 53| call to method WriteLine
#-----| -> exit M7 (normal)
# 53| access to property Length
#-----| -> call to method WriteLine
# 53| access to local variable s
#-----| -> access to property Length
# 56| enter M8
#-----| -> {...}
# 56| exit M8
# 56| exit M8 (abnormal)
#-----| -> exit M8
# 56| exit M8 (normal)
#-----| -> exit M8
# 57| {...}
#-----| -> ... ...;
# 58| ... ...;
#-----| -> access to parameter b
# 58| [b (line 56): false] String s = ...
#-----| -> [b (line 56): false] ...;
# 58| [b (line 56): true] String s = ...
#-----| -> [b (line 56): true] ...;
# 58| [b (line 56): false] ... ? ... : ...
#-----| -> [b (line 56): false] String s = ...
# 58| [b (line 56): true] ... ? ... : ...
#-----| -> [b (line 56): true] String s = ...
# 58| access to parameter b
#-----| true -> [b (line 56): true] null
#-----| false -> [b (line 56): false] ""
# 58| [b (line 56): true] null
#-----| -> [b (line 56): true] ... ? ... : ...
# 58| [b (line 56): false] ""
#-----| -> [b (line 56): false] ... ? ... : ...
# 59| [b (line 56): false] ...;
#-----| -> [b (line 56): false] access to local variable s
# 59| [b (line 56): true] ...;
#-----| -> [b (line 56): true] access to local variable s
# 59| [assertion failure] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M8 (abnormal)
# 59| [assertion success] call to method IsTrue
#-----| -> ...;
# 59| [false] ... && ...
#-----| false -> [assertion failure] call to method IsTrue
# 59| [true] ... && ...
#-----| true -> [assertion success] call to method IsTrue
# 59| [b (line 56): false] ... != ...
#-----| false -> [false] ... && ...
#-----| true -> [b (line 56): false] access to parameter b
# 59| [b (line 56): true] ... != ...
#-----| false -> [false] ... && ...
#-----| true -> [b (line 56): true] access to parameter b
# 59| [b (line 56): false] access to local variable s
#-----| -> [b (line 56): false] null
# 59| [b (line 56): true] access to local variable s
#-----| -> [b (line 56): true] null
# 59| [b (line 56): false] null
#-----| -> [b (line 56): false] ... != ...
# 59| [b (line 56): true] null
#-----| -> [b (line 56): true] ... != ...
# 59| [b (line 56): false] access to parameter b
#-----| false -> [false] ... && ...
# 59| [b (line 56): true] access to parameter b
#-----| true -> [true] ... && ...
# 60| ...;
#-----| -> access to local variable s
# 60| call to method WriteLine
#-----| -> exit M8 (normal)
# 60| access to property Length
#-----| -> call to method WriteLine
# 60| access to local variable s
#-----| -> access to property Length
# 63| enter M9
#-----| -> {...}
# 63| exit M9
# 63| exit M9 (abnormal)
#-----| -> exit M9
# 63| exit M9 (normal)
#-----| -> exit M9
# 64| {...}
#-----| -> ... ...;
# 65| ... ...;
#-----| -> access to parameter b
# 65| [b (line 63): false] String s = ...
#-----| -> [b (line 63): false] ...;
# 65| [b (line 63): true] String s = ...
#-----| -> [b (line 63): true] ...;
# 65| [b (line 63): false] ... ? ... : ...
#-----| -> [b (line 63): false] String s = ...
# 65| [b (line 63): true] ... ? ... : ...
#-----| -> [b (line 63): true] String s = ...
# 65| access to parameter b
#-----| true -> [b (line 63): true] null
#-----| false -> [b (line 63): false] ""
# 65| [b (line 63): true] null
#-----| -> [b (line 63): true] ... ? ... : ...
# 65| [b (line 63): false] ""
#-----| -> [b (line 63): false] ... ? ... : ...
# 66| [b (line 63): false] ...;
#-----| -> [b (line 63): false] access to local variable s
# 66| [b (line 63): true] ...;
#-----| -> [b (line 63): true] access to local variable s
# 66| [assertion failure] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M9 (abnormal)
# 66| [assertion success] call to method IsFalse
#-----| -> ...;
# 66| [false] ... || ...
#-----| false -> [assertion success] call to method IsFalse
# 66| [true] ... || ...
#-----| true -> [assertion failure] call to method IsFalse
# 66| [b (line 63): false] ... == ...
#-----| true -> [true] ... || ...
#-----| false -> [b (line 63): false] access to parameter b
# 66| [b (line 63): true] ... == ...
#-----| true -> [true] ... || ...
#-----| false -> [b (line 63): true] access to parameter b
# 66| [b (line 63): false] access to local variable s
#-----| -> [b (line 63): false] null
# 66| [b (line 63): true] access to local variable s
#-----| -> [b (line 63): true] null
# 66| [b (line 63): false] null
#-----| -> [b (line 63): false] ... == ...
# 66| [b (line 63): true] null
#-----| -> [b (line 63): true] ... == ...
# 66| [b (line 63): false] access to parameter b
#-----| false -> [false] ... || ...
# 66| [b (line 63): true] access to parameter b
#-----| true -> [true] ... || ...
# 67| ...;
#-----| -> access to local variable s
# 67| call to method WriteLine
#-----| -> exit M9 (normal)
# 67| access to property Length
#-----| -> call to method WriteLine
# 67| access to local variable s
#-----| -> access to property Length
# 70| enter M10
#-----| -> {...}
# 70| exit M10
# 70| exit M10 (abnormal)
#-----| -> exit M10
# 70| exit M10 (normal)
#-----| -> exit M10
# 71| {...}
#-----| -> ... ...;
# 72| ... ...;
#-----| -> access to parameter b
# 72| [b (line 70): false] String s = ...
#-----| -> [b (line 70): false] ...;
# 72| [b (line 70): true] String s = ...
#-----| -> [b (line 70): true] ...;
# 72| [b (line 70): false] ... ? ... : ...
#-----| -> [b (line 70): false] String s = ...
# 72| [b (line 70): true] ... ? ... : ...
#-----| -> [b (line 70): true] String s = ...
# 72| access to parameter b
#-----| true -> [b (line 70): true] null
#-----| false -> [b (line 70): false] ""
# 72| [b (line 70): true] null
#-----| -> [b (line 70): true] ... ? ... : ...
# 72| [b (line 70): false] ""
#-----| -> [b (line 70): false] ... ? ... : ...
# 73| [b (line 70): false] ...;
#-----| -> [b (line 70): false] access to local variable s
# 73| [b (line 70): true] ...;
#-----| -> [b (line 70): true] access to local variable s
# 73| [assertion failure] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M10 (abnormal)
# 73| [assertion success] call to method IsTrue
#-----| -> ...;
# 73| [false] ... && ...
#-----| false -> [assertion failure] call to method IsTrue
# 73| [true] ... && ...
#-----| true -> [assertion success] call to method IsTrue
# 73| [b (line 70): false] ... == ...
#-----| false -> [false] ... && ...
#-----| true -> [b (line 70): false] access to parameter b
# 73| [b (line 70): true] ... == ...
#-----| false -> [false] ... && ...
#-----| true -> [b (line 70): true] access to parameter b
# 73| [b (line 70): false] access to local variable s
#-----| -> [b (line 70): false] null
# 73| [b (line 70): true] access to local variable s
#-----| -> [b (line 70): true] null
# 73| [b (line 70): false] null
#-----| -> [b (line 70): false] ... == ...
# 73| [b (line 70): true] null
#-----| -> [b (line 70): true] ... == ...
# 73| [b (line 70): false] access to parameter b
#-----| false -> [false] ... && ...
# 73| [b (line 70): true] access to parameter b
#-----| true -> [true] ... && ...
# 74| ...;
#-----| -> access to local variable s
# 74| call to method WriteLine
#-----| -> exit M10 (normal)
# 74| access to property Length
#-----| -> call to method WriteLine
# 74| access to local variable s
#-----| -> access to property Length
# 77| enter M11
#-----| -> {...}
# 77| exit M11
# 77| exit M11 (abnormal)
#-----| -> exit M11
# 77| exit M11 (normal)
#-----| -> exit M11
# 78| {...}
#-----| -> ... ...;
# 79| ... ...;
#-----| -> access to parameter b
# 79| [b (line 77): false] String s = ...
#-----| -> [b (line 77): false] ...;
# 79| [b (line 77): true] String s = ...
#-----| -> [b (line 77): true] ...;
# 79| [b (line 77): false] ... ? ... : ...
#-----| -> [b (line 77): false] String s = ...
# 79| [b (line 77): true] ... ? ... : ...
#-----| -> [b (line 77): true] String s = ...
# 79| access to parameter b
#-----| true -> [b (line 77): true] null
#-----| false -> [b (line 77): false] ""
# 79| [b (line 77): true] null
#-----| -> [b (line 77): true] ... ? ... : ...
# 79| [b (line 77): false] ""
#-----| -> [b (line 77): false] ... ? ... : ...
# 80| [b (line 77): false] ...;
#-----| -> [b (line 77): false] access to local variable s
# 80| [b (line 77): true] ...;
#-----| -> [b (line 77): true] access to local variable s
# 80| [assertion failure] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M11 (abnormal)
# 80| [assertion success] call to method IsFalse
#-----| -> ...;
# 80| [false] ... || ...
#-----| false -> [assertion success] call to method IsFalse
# 80| [true] ... || ...
#-----| true -> [assertion failure] call to method IsFalse
# 80| [b (line 77): false] ... != ...
#-----| true -> [true] ... || ...
#-----| false -> [b (line 77): false] access to parameter b
# 80| [b (line 77): true] ... != ...
#-----| true -> [true] ... || ...
#-----| false -> [b (line 77): true] access to parameter b
# 80| [b (line 77): false] access to local variable s
#-----| -> [b (line 77): false] null
# 80| [b (line 77): true] access to local variable s
#-----| -> [b (line 77): true] null
# 80| [b (line 77): false] null
#-----| -> [b (line 77): false] ... != ...
# 80| [b (line 77): true] null
#-----| -> [b (line 77): true] ... != ...
# 80| [b (line 77): false] access to parameter b
#-----| false -> [false] ... || ...
# 80| [b (line 77): true] access to parameter b
#-----| true -> [true] ... || ...
# 81| ...;
#-----| -> access to local variable s
# 81| call to method WriteLine
#-----| -> exit M11 (normal)
# 81| access to property Length
#-----| -> call to method WriteLine
# 81| access to local variable s
#-----| -> access to property Length
# 84| enter M12
#-----| -> {...}
# 84| exit M12
# 84| exit M12 (abnormal)
#-----| -> exit M12
# 84| exit M12 (normal)
#-----| -> exit M12
# 85| {...}
#-----| -> ... ...;
# 86| ... ...;
#-----| -> access to parameter b
# 86| [b (line 84): false] String s = ...
#-----| -> [b (line 84): false] ...;
# 86| [b (line 84): true] String s = ...
#-----| -> [b (line 84): true] ...;
# 86| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] String s = ...
# 86| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] String s = ...
# 86| access to parameter b
#-----| true -> [b (line 84): true] null
#-----| false -> [b (line 84): false] ""
# 86| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 86| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 87| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 87| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 87| [assertion failure, b (line 84): false] call to method Assert
#-----| exit -> exit M12 (abnormal)
# 87| [assertion failure, b (line 84): true] call to method Assert
#-----| exit -> exit M12 (abnormal)
# 87| [assertion success, b (line 84): false] call to method Assert
#-----| -> [b (line 84): false] ...;
# 87| [assertion success, b (line 84): true] call to method Assert
#-----| -> [b (line 84): true] ...;
# 87| [b (line 84): false] ... != ...
#-----| false -> [assertion failure, b (line 84): false] call to method Assert
#-----| true -> [assertion success, b (line 84): false] call to method Assert
# 87| [b (line 84): true] ... != ...
#-----| false -> [assertion failure, b (line 84): true] call to method Assert
#-----| true -> [assertion success, b (line 84): true] call to method Assert
# 87| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] null
# 87| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 87| [b (line 84): false] null
#-----| -> [b (line 84): false] ... != ...
# 87| [b (line 84): true] null
#-----| -> [b (line 84): true] ... != ...
# 88| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 88| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 88| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 88| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 88| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 88| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 88| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 88| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 90| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 90| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 90| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 90| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 90| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 90| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 90| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 90| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 90| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 90| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 91| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 91| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 91| [assertion failure, b (line 84): false] call to method IsNull
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 91| [assertion failure, b (line 84): true] call to method IsNull
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 91| [assertion success, b (line 84): false] call to method IsNull
#-----| -> [b (line 84): false] ...;
# 91| [assertion success, b (line 84): true] call to method IsNull
#-----| -> [b (line 84): true] ...;
# 91| [b (line 84): false] access to local variable s
#-----| non-null -> [assertion failure, b (line 84): false] call to method IsNull
#-----| null -> [assertion success, b (line 84): false] call to method IsNull
# 91| [b (line 84): true] access to local variable s
#-----| non-null -> [assertion failure, b (line 84): true] call to method IsNull
#-----| null -> [assertion success, b (line 84): true] call to method IsNull
# 92| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 92| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 92| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 92| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 92| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 92| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 92| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 92| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 94| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 94| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 94| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 94| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 94| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 94| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 94| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 94| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 94| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 94| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 95| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 95| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 95| [assertion failure, b (line 84): false] call to method IsNotNull
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 95| [assertion failure, b (line 84): true] call to method IsNotNull
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 95| [assertion success, b (line 84): false] call to method IsNotNull
#-----| -> [b (line 84): false] ...;
# 95| [assertion success, b (line 84): true] call to method IsNotNull
#-----| -> [b (line 84): true] ...;
# 95| [b (line 84): false] access to local variable s
#-----| null -> [assertion failure, b (line 84): false] call to method IsNotNull
#-----| non-null -> [assertion success, b (line 84): false] call to method IsNotNull
# 95| [b (line 84): true] access to local variable s
#-----| null -> [assertion failure, b (line 84): true] call to method IsNotNull
#-----| non-null -> [assertion success, b (line 84): true] call to method IsNotNull
# 96| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 96| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 96| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 96| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 96| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 96| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 96| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 96| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 98| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 98| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 98| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 98| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 98| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 98| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 98| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 98| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 98| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 98| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 99| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 99| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 99| [assertion failure, b (line 84): false] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 99| [assertion failure, b (line 84): true] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 99| [assertion success, b (line 84): false] call to method IsTrue
#-----| -> [b (line 84): false] ...;
# 99| [assertion success, b (line 84): true] call to method IsTrue
#-----| -> [b (line 84): true] ...;
# 99| [b (line 84): false] ... == ...
#-----| false -> [assertion failure, b (line 84): false] call to method IsTrue
#-----| true -> [assertion success, b (line 84): false] call to method IsTrue
# 99| [b (line 84): true] ... == ...
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
# 99| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] null
# 99| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 99| [b (line 84): false] null
#-----| -> [b (line 84): false] ... == ...
# 99| [b (line 84): true] null
#-----| -> [b (line 84): true] ... == ...
# 100| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 100| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 100| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 100| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 100| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 100| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 100| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 100| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 102| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 102| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 102| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 102| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 102| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 102| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 102| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 102| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 102| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 102| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 103| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 103| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 103| [assertion failure, b (line 84): false] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 103| [assertion failure, b (line 84): true] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 103| [assertion success, b (line 84): false] call to method IsTrue
#-----| -> [b (line 84): false] ...;
# 103| [assertion success, b (line 84): true] call to method IsTrue
#-----| -> [b (line 84): true] ...;
# 103| [b (line 84): false] ... != ...
#-----| false -> [assertion failure, b (line 84): false] call to method IsTrue
#-----| true -> [assertion success, b (line 84): false] call to method IsTrue
# 103| [b (line 84): true] ... != ...
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
# 103| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] null
# 103| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 103| [b (line 84): false] null
#-----| -> [b (line 84): false] ... != ...
# 103| [b (line 84): true] null
#-----| -> [b (line 84): true] ... != ...
# 104| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 104| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 104| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 104| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 104| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 104| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 104| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 104| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 106| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 106| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 106| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 106| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 106| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 106| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 106| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 106| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 106| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 106| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 107| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 107| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 107| [assertion failure, b (line 84): false] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 107| [assertion failure, b (line 84): true] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 107| [assertion success, b (line 84): false] call to method IsFalse
#-----| -> [b (line 84): false] ...;
# 107| [assertion success, b (line 84): true] call to method IsFalse
#-----| -> [b (line 84): true] ...;
# 107| [b (line 84): false] ... != ...
#-----| true -> [assertion failure, b (line 84): false] call to method IsFalse
#-----| false -> [assertion success, b (line 84): false] call to method IsFalse
# 107| [b (line 84): true] ... != ...
#-----| true -> [assertion failure, b (line 84): true] call to method IsFalse
#-----| false -> [assertion success, b (line 84): true] call to method IsFalse
# 107| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] null
# 107| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 107| [b (line 84): false] null
#-----| -> [b (line 84): false] ... != ...
# 107| [b (line 84): true] null
#-----| -> [b (line 84): true] ... != ...
# 108| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 108| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 108| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 108| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 108| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 108| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 108| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 108| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 110| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 110| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 110| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 110| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 110| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 110| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 110| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 110| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 110| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 110| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 111| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 111| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 111| [assertion failure, b (line 84): false] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 111| [assertion failure, b (line 84): true] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 111| [assertion success, b (line 84): false] call to method IsFalse
#-----| -> [b (line 84): false] ...;
# 111| [assertion success, b (line 84): true] call to method IsFalse
#-----| -> [b (line 84): true] ...;
# 111| [b (line 84): false] ... == ...
#-----| true -> [assertion failure, b (line 84): false] call to method IsFalse
#-----| false -> [assertion success, b (line 84): false] call to method IsFalse
# 111| [b (line 84): true] ... == ...
#-----| true -> [assertion failure, b (line 84): true] call to method IsFalse
#-----| false -> [assertion success, b (line 84): true] call to method IsFalse
# 111| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] null
# 111| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 111| [b (line 84): false] null
#-----| -> [b (line 84): false] ... == ...
# 111| [b (line 84): true] null
#-----| -> [b (line 84): true] ... == ...
# 112| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 112| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 112| [b (line 84): false] call to method WriteLine
#-----| -> [b (line 84): false] ...;
# 112| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 112| [b (line 84): false] access to property Length
#-----| -> [b (line 84): false] call to method WriteLine
# 112| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 112| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] access to property Length
# 112| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 114| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to parameter b
# 114| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 114| [b (line 84): false] ... = ...
#-----| -> [b (line 84): false] ...;
# 114| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 114| [b (line 84): false] ... ? ... : ...
#-----| -> [b (line 84): false] ... = ...
# 114| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 114| [b (line 84): false] access to parameter b
#-----| false -> [b (line 84): false] ""
# 114| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 114| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 114| [b (line 84): false] ""
#-----| -> [b (line 84): false] ... ? ... : ...
# 115| [b (line 84): false] ...;
#-----| -> [b (line 84): false] access to local variable s
# 115| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 115| [assertion failure, b (line 84): false] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 115| [assertion failure, b (line 84): true] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 115| [assertion success, b (line 84): true] call to method IsTrue
#-----| -> [b (line 84): true] ...;
# 115| [false, b (line 84): false] ... && ...
#-----| false -> [assertion failure, b (line 84): false] call to method IsTrue
# 115| [false, b (line 84): true] ... && ...
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
# 115| [true, b (line 84): true] ... && ...
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
# 115| [b (line 84): false] ... != ...
#-----| false -> [false, b (line 84): false] ... && ...
#-----| true -> [b (line 84): false] access to parameter b
# 115| [b (line 84): true] ... != ...
#-----| false -> [false, b (line 84): true] ... && ...
#-----| true -> [b (line 84): true] access to parameter b
# 115| [b (line 84): false] access to local variable s
#-----| -> [b (line 84): false] null
# 115| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 115| [b (line 84): false] null
#-----| -> [b (line 84): false] ... != ...
# 115| [b (line 84): true] null
#-----| -> [b (line 84): true] ... != ...
# 115| [b (line 84): false] access to parameter b
#-----| false -> [false, b (line 84): false] ... && ...
# 115| [b (line 84): true] access to parameter b
#-----| true -> [true, b (line 84): true] ... && ...
# 116| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 116| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 116| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 116| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 118| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 118| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 118| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 118| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 118| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 119| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 119| [assertion failure, b (line 84): true] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 119| [assertion success, b (line 84): true] call to method IsFalse
#-----| -> [b (line 84): true] ...;
# 119| [false, b (line 84): true] ... || ...
#-----| false -> [assertion success, b (line 84): true] call to method IsFalse
# 119| [true, b (line 84): true] ... || ...
#-----| true -> [assertion failure, b (line 84): true] call to method IsFalse
# 119| [b (line 84): true] ... == ...
#-----| true -> [true, b (line 84): true] ... || ...
#-----| false -> [b (line 84): true] access to parameter b
# 119| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 119| [b (line 84): true] null
#-----| -> [b (line 84): true] ... == ...
# 119| [false, b (line 84): true] !...
#-----| false -> [false, b (line 84): true] ... || ...
# 119| [b (line 84): true] access to parameter b
#-----| true -> [false, b (line 84): true] !...
# 120| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 120| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 120| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 120| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 122| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 122| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 122| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 122| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 122| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 123| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 123| [assertion failure, b (line 84): true] call to method IsTrue
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 123| [assertion success, b (line 84): true] call to method IsTrue
#-----| -> [b (line 84): true] ...;
# 123| [false, b (line 84): true] ... && ...
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
# 123| [true, b (line 84): true] ... && ...
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
# 123| [b (line 84): true] ... == ...
#-----| false -> [false, b (line 84): true] ... && ...
#-----| true -> [b (line 84): true] access to parameter b
# 123| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 123| [b (line 84): true] null
#-----| -> [b (line 84): true] ... == ...
# 123| [b (line 84): true] access to parameter b
#-----| true -> [true, b (line 84): true] ... && ...
# 124| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 124| [b (line 84): true] call to method WriteLine
#-----| -> [b (line 84): true] ...;
# 124| [b (line 84): true] access to property Length
#-----| -> [b (line 84): true] call to method WriteLine
# 124| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] access to property Length
# 126| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to parameter b
# 126| [b (line 84): true] ... = ...
#-----| -> [b (line 84): true] ...;
# 126| [b (line 84): true] ... ? ... : ...
#-----| -> [b (line 84): true] ... = ...
# 126| [b (line 84): true] access to parameter b
#-----| true -> [b (line 84): true] null
# 126| [b (line 84): true] null
#-----| -> [b (line 84): true] ... ? ... : ...
# 127| [b (line 84): true] ...;
#-----| -> [b (line 84): true] access to local variable s
# 127| [assertion failure] call to method IsFalse
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
# 127| [assertion success] call to method IsFalse
#-----| -> ...;
# 127| [false] ... || ...
#-----| false -> [assertion success] call to method IsFalse
# 127| [true] ... || ...
#-----| true -> [assertion failure] call to method IsFalse
# 127| [b (line 84): true] ... != ...
#-----| true -> [true] ... || ...
#-----| false -> [b (line 84): true] access to parameter b
# 127| [b (line 84): true] access to local variable s
#-----| -> [b (line 84): true] null
# 127| [b (line 84): true] null
#-----| -> [b (line 84): true] ... != ...
# 127| [false] !...
#-----| false -> [false] ... || ...
# 127| [b (line 84): true] access to parameter b
#-----| true -> [false] !...
# 128| ...;
#-----| -> access to local variable s
# 128| call to method WriteLine
#-----| -> exit M12 (normal)
# 128| access to property Length
#-----| -> call to method WriteLine
# 128| access to local variable s
#-----| -> access to property Length
# 131| enter AssertTrueFalse
#-----| -> {...}
# 131| exit AssertTrueFalse
# 131| exit AssertTrueFalse (normal)
#-----| -> exit AssertTrueFalse
# 135| {...}
#-----| -> exit AssertTrueFalse (normal)
# 138| enter M13
#-----| -> {...}
# 138| exit M13
# 138| exit M13 (abnormal)
#-----| -> exit M13
# 138| exit M13 (normal)
#-----| -> exit M13
# 139| {...}
#-----| -> ...;
# 140| ...;
#-----| -> this access
# 140| [assertion failure] call to method AssertTrueFalse
#-----| exception(Exception) -> exit M13 (abnormal)
# 140| [assertion failure] call to method AssertTrueFalse
#-----| exception(Exception) -> exit M13 (abnormal)
# 140| [assertion success] call to method AssertTrueFalse
#-----| -> return ...;
# 140| this access
#-----| -> access to parameter b1
# 140| access to parameter b1
#-----| true -> access to parameter b2
#-----| false -> [assertion failure] access to parameter b2
# 140| access to parameter b2
#-----| true -> [assertion failure] access to parameter b3
#-----| false -> [assertion success] access to parameter b3
# 140| [assertion failure] access to parameter b2
#-----| true -> [assertion failure] access to parameter b3
# 140| [assertion failure] access to parameter b3
#-----| -> [assertion failure] call to method AssertTrueFalse
# 140| [assertion failure] access to parameter b3
#-----| -> [assertion failure] call to method AssertTrueFalse
# 140| [assertion success] access to parameter b3
#-----| -> [assertion success] call to method AssertTrueFalse
# 141| return ...;
#-----| return -> exit M13 (normal)
Assignments.cs:
# 3| enter M
#-----| -> {...}
# 3| exit M
# 3| exit M (normal)
#-----| -> exit M
# 4| {...}
#-----| -> ... ...;
# 5| ... ...;
#-----| -> 0
# 5| Int32 x = ...
#-----| -> ...;
# 5| 0
#-----| -> Int32 x = ...
# 6| ...;
#-----| -> access to local variable x
# 6| ... = ...
#-----| -> ... ...;
# 6| ... + ...
#-----| -> ... = ...
# 6| access to local variable x
#-----| -> 1
# 6| 1
#-----| -> ... + ...
# 8| ... ...;
#-----| -> 0
# 8| dynamic d = ...
#-----| -> ...;
# 8| (...) ...
#-----| -> dynamic d = ...
# 8| 0
#-----| -> (...) ...
# 9| ...;
#-----| -> access to local variable d
# 9| ... = ...
#-----| -> ... ...;
# 9| dynamic call to operator -
#-----| -> ... = ...
# 9| access to local variable d
#-----| -> 2
# 9| 2
#-----| -> dynamic call to operator -
# 11| ... ...;
#-----| -> object creation of type Assignments
# 11| Assignments a = ...
#-----| -> ...;
# 11| object creation of type Assignments
#-----| -> Assignments a = ...
# 12| ...;
#-----| -> access to local variable a
# 12| ... = ...
#-----| -> ...;
# 12| call to operator +
#-----| -> ... = ...
# 12| access to local variable a
#-----| -> this access
# 12| this access
#-----| -> call to operator +
# 14| ...;
#-----| -> this access
# 14| ... += ...
#-----| -> exit M (normal)
# 14| access to event Event
#-----| -> ... += ...
# 14| this access
#-----| -> (...) => ...
# 14| enter (...) => ...
#-----| -> {...}
# 14| (...) => ...
#-----| -> access to event Event
# 14| exit (...) => ...
# 14| exit (...) => ... (normal)
#-----| -> exit (...) => ...
# 14| {...}
#-----| -> exit (...) => ... (normal)
# 17| enter +
#-----| -> {...}
# 17| exit +
# 17| exit + (normal)
#-----| -> exit +
# 18| {...}
#-----| -> access to parameter x
# 19| return ...;
#-----| return -> exit + (normal)
# 19| access to parameter x
#-----| -> return ...;
BreakInTry.cs:
# 3| enter M1
#-----| -> {...}
# 3| exit M1
# 3| exit M1 (normal)
#-----| -> exit M1
# 4| {...}
#-----| -> try {...} ...
# 5| try {...} ...
#-----| -> {...}
# 6| {...}
#-----| -> access to parameter args
# 7| foreach (... ... in ...) ...
#-----| non-empty -> String arg
#-----| empty -> {...}
# 7| String arg
#-----| -> {...}
# 7| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 8| {...}
#-----| -> if (...) ...
# 9| if (...) ...
#-----| -> access to local variable arg
# 9| ... == ...
#-----| false -> foreach (... ... in ...) ...
#-----| true -> break;
# 9| access to local variable arg
#-----| -> null
# 9| null
#-----| -> ... == ...
# 10| break;
#-----| break -> {...}
# 14| {...}
#-----| -> if (...) ...
# 15| if (...) ...
#-----| -> access to parameter args
# 15| ... == ...
#-----| true -> ;
#-----| false -> exit M1 (normal)
# 15| access to parameter args
#-----| -> null
# 15| null
#-----| -> ... == ...
# 16| ;
#-----| -> exit M1 (normal)
# 20| enter M2
#-----| -> {...}
# 20| exit M2
# 20| exit M2 (normal)
#-----| -> exit M2
# 21| {...}
#-----| -> access to parameter args
# 22| foreach (... ... in ...) ...
#-----| non-empty -> String arg
#-----| empty -> ;
# 22| String arg
#-----| -> {...}
# 22| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 23| {...}
#-----| -> try {...} ...
# 24| try {...} ...
#-----| -> {...}
# 25| {...}
#-----| -> if (...) ...
# 26| if (...) ...
#-----| -> access to local variable arg
# 26| ... == ...
#-----| true -> break;
#-----| false -> {...}
# 26| access to local variable arg
#-----| -> null
# 26| null
#-----| -> ... == ...
# 27| break;
#-----| break -> [finally: break] {...}
# 30| {...}
#-----| -> if (...) ...
# 30| [finally: break] {...}
#-----| -> [finally: break] if (...) ...
# 31| if (...) ...
#-----| -> access to parameter args
# 31| [finally: break] if (...) ...
#-----| -> [finally: break] access to parameter args
# 31| ... == ...
#-----| false -> foreach (... ... in ...) ...
#-----| true -> ;
# 31| [finally: break] ... == ...
#-----| true -> [finally: break] ;
#-----| false -> ;
# 31| access to parameter args
#-----| -> null
# 31| [finally: break] access to parameter args
#-----| -> [finally: break] null
# 31| null
#-----| -> ... == ...
# 31| [finally: break] null
#-----| -> [finally: break] ... == ...
# 32| ;
#-----| -> foreach (... ... in ...) ...
# 32| [finally: break] ;
#-----| break -> ;
# 35| ;
#-----| -> exit M2 (normal)
# 38| enter M3
#-----| -> {...}
# 38| exit M3
# 38| exit M3 (normal)
#-----| -> exit M3
# 39| {...}
#-----| -> try {...} ...
# 40| try {...} ...
#-----| -> {...}
# 41| {...}
#-----| -> if (...) ...
# 42| if (...) ...
#-----| -> access to parameter args
# 42| ... == ...
#-----| true -> return ...;
#-----| false -> {...}
# 42| access to parameter args
#-----| -> null
# 42| null
#-----| -> ... == ...
# 43| return ...;
#-----| return -> [finally: return] {...}
# 46| {...}
#-----| -> access to parameter args
# 46| [finally: return] {...}
#-----| -> [finally: return] access to parameter args
# 47| foreach (... ... in ...) ...
#-----| non-empty -> String arg
#-----| empty -> ;
# 47| [finally: return] foreach (... ... in ...) ...
#-----| non-empty -> [finally: return] String arg
#-----| return -> exit M3 (normal)
# 47| String arg
#-----| -> {...}
# 47| [finally: return] String arg
#-----| -> [finally: return] {...}
# 47| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 47| [finally: return] access to parameter args
#-----| -> [finally: return] foreach (... ... in ...) ...
# 48| {...}
#-----| -> if (...) ...
# 48| [finally: return] {...}
#-----| -> [finally: return] if (...) ...
# 49| if (...) ...
#-----| -> access to local variable arg
# 49| [finally: return] if (...) ...
#-----| -> [finally: return] access to local variable arg
# 49| ... == ...
#-----| false -> foreach (... ... in ...) ...
#-----| true -> break;
# 49| [finally: return] ... == ...
#-----| false -> [finally: return] foreach (... ... in ...) ...
#-----| true -> [finally: return] break;
# 49| access to local variable arg
#-----| -> null
# 49| [finally: return] access to local variable arg
#-----| -> [finally: return] null
# 49| null
#-----| -> ... == ...
# 49| [finally: return] null
#-----| -> [finally: return] ... == ...
# 50| break;
#-----| break -> ;
# 50| [finally: return] break;
#-----| return -> exit M3 (normal)
# 53| ;
#-----| -> exit M3 (normal)
# 56| enter M4
#-----| -> {...}
# 56| exit M4
# 56| exit M4 (normal)
#-----| -> exit M4
# 57| {...}
#-----| -> try {...} ...
# 58| try {...} ...
#-----| -> {...}
# 59| {...}
#-----| -> if (...) ...
# 60| if (...) ...
#-----| -> access to parameter args
# 60| ... == ...
#-----| true -> return ...;
#-----| false -> {...}
# 60| access to parameter args
#-----| -> null
# 60| null
#-----| -> ... == ...
# 61| return ...;
#-----| return -> [finally: return] {...}
# 64| {...}
#-----| -> access to parameter args
# 64| [finally: return] {...}
#-----| -> [finally: return] access to parameter args
# 65| foreach (... ... in ...) ...
#-----| non-empty -> String arg
#-----| empty -> exit M4 (normal)
# 65| [finally: return] foreach (... ... in ...) ...
#-----| non-empty -> [finally: return] String arg
#-----| return -> exit M4 (normal)
# 65| String arg
#-----| -> {...}
# 65| [finally: return] String arg
#-----| -> [finally: return] {...}
# 65| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 65| [finally: return] access to parameter args
#-----| -> [finally: return] foreach (... ... in ...) ...
# 66| {...}
#-----| -> if (...) ...
# 66| [finally: return] {...}
#-----| -> [finally: return] if (...) ...
# 67| if (...) ...
#-----| -> access to local variable arg
# 67| [finally: return] if (...) ...
#-----| -> [finally: return] access to local variable arg
# 67| ... == ...
#-----| false -> foreach (... ... in ...) ...
#-----| true -> break;
# 67| [finally: return] ... == ...
#-----| false -> [finally: return] foreach (... ... in ...) ...
#-----| true -> [finally: return] break;
# 67| access to local variable arg
#-----| -> null
# 67| [finally: return] access to local variable arg
#-----| -> [finally: return] null
# 67| null
#-----| -> ... == ...
# 67| [finally: return] null
#-----| -> [finally: return] ... == ...
# 68| break;
#-----| break -> exit M4 (normal)
# 68| [finally: return] break;
#-----| return -> exit M4 (normal)
CompileTimeOperators.cs:
# 5| enter Default
#-----| -> {...}
# 5| exit Default
# 5| exit Default (normal)
#-----| -> exit Default
# 6| {...}
#-----| -> default(...)
# 7| return ...;
#-----| return -> exit Default (normal)
# 7| default(...)
#-----| -> return ...;
# 10| enter Sizeof
#-----| -> {...}
# 10| exit Sizeof
# 10| exit Sizeof (normal)
#-----| -> exit Sizeof
# 11| {...}
#-----| -> sizeof(..)
# 12| return ...;
#-----| return -> exit Sizeof (normal)
# 12| sizeof(..)
#-----| -> return ...;
# 15| enter Typeof
#-----| -> {...}
# 15| exit Typeof
# 15| exit Typeof (normal)
#-----| -> exit Typeof
# 16| {...}
#-----| -> typeof(...)
# 17| return ...;
#-----| return -> exit Typeof (normal)
# 17| typeof(...)
#-----| -> return ...;
# 20| enter Nameof
#-----| -> {...}
# 20| exit Nameof
# 20| exit Nameof (normal)
#-----| -> exit Nameof
# 21| {...}
#-----| -> nameof(...)
# 22| return ...;
#-----| return -> exit Nameof (normal)
# 22| nameof(...)
#-----| -> return ...;
# 28| enter M
#-----| -> {...}
# 28| exit M
# 28| exit M (normal)
#-----| -> exit M
# 29| {...}
#-----| -> try {...} ...
# 30| try {...} ...
#-----| -> {...}
# 31| {...}
#-----| -> goto ...;
# 32| goto ...;
#-----| goto(End) -> [finally: goto(End)] {...}
# 36| [finally: goto(End)] {...}
#-----| -> [finally: goto(End)] ...;
# 37| [finally: goto(End)] ...;
#-----| -> [finally: goto(End)] "Finally"
# 37| [finally: goto(End)] call to method WriteLine
#-----| goto(End) -> End:
# 37| [finally: goto(End)] "Finally"
#-----| -> [finally: goto(End)] call to method WriteLine
# 40| End:
#-----| -> ...;
# 40| ...;
#-----| -> "End"
# 40| call to method WriteLine
#-----| -> exit M (normal)
# 40| "End"
#-----| -> call to method WriteLine
ConditionalAccess.cs:
# 3| enter M1
#-----| -> access to parameter i
# 3| exit M1
# 3| exit M1 (normal)
#-----| -> exit M1
# 3| access to parameter i
#-----| non-null -> call to method ToString
#-----| null -> exit M1 (normal)
# 3| call to method ToString
#-----| non-null -> call to method ToLower
#-----| null -> exit M1 (normal)
# 3| call to method ToLower
#-----| -> exit M1 (normal)
# 5| enter M2
#-----| -> access to parameter s
# 5| exit M2
# 5| exit M2 (normal)
#-----| -> exit M2
# 5| access to parameter s
#-----| non-null -> access to property Length
#-----| null -> exit M2 (normal)
# 5| access to property Length
#-----| -> exit M2 (normal)
# 7| enter M3
#-----| -> access to parameter s1
# 7| exit M3
# 7| exit M3 (normal)
#-----| -> exit M3
# 7| ... ?? ...
#-----| non-null -> access to property Length
#-----| null -> exit M3 (normal)
# 7| [non-null] ... ?? ...
#-----| non-null -> access to property Length
# 7| [null] ... ?? ...
#-----| null -> exit M3 (normal)
# 7| access to parameter s1
#-----| non-null -> ... ?? ...
#-----| null -> access to parameter s2
# 7| access to parameter s2
#-----| non-null -> [non-null] ... ?? ...
#-----| null -> [null] ... ?? ...
# 7| access to property Length
#-----| -> exit M3 (normal)
# 9| enter M4
#-----| -> access to parameter s
# 9| exit M4
# 9| exit M4 (normal)
#-----| -> exit M4
# 9| ... ?? ...
#-----| -> exit M4 (normal)
# 9| access to parameter s
#-----| non-null -> access to property Length
#-----| null -> 0
# 9| access to property Length
#-----| non-null -> ... ?? ...
#-----| null -> 0
# 9| 0
#-----| -> ... ?? ...
# 11| enter M5
#-----| -> {...}
# 11| exit M5
# 11| exit M5 (normal)
#-----| -> exit M5
# 12| {...}
#-----| -> if (...) ...
# 13| if (...) ...
#-----| -> access to parameter s
# 13| ... > ...
#-----| true -> 0
#-----| false -> 1
# 13| access to parameter s
#-----| non-null -> access to property Length
#-----| null -> 0
# 13| access to property Length
#-----| -> 0
# 13| (...) ...
#-----| -> ... > ...
# 13| 0
#-----| -> (...) ...
# 14| return ...;
#-----| return -> exit M5 (normal)
# 14| 0
#-----| -> return ...;
# 16| return ...;
#-----| return -> exit M5 (normal)
# 16| 1
#-----| -> return ...;
# 19| enter M6
#-----| -> access to parameter s1
# 19| exit M6
# 19| exit M6 (normal)
#-----| -> exit M6
# 19| access to parameter s1
#-----| non-null -> access to parameter s2
#-----| null -> exit M6 (normal)
# 19| call to method CommaJoinWith
#-----| -> exit M6 (normal)
# 19| access to parameter s2
#-----| -> call to method CommaJoinWith
# 21| enter M7
#-----| -> {...}
# 21| exit M7
# 21| exit M7 (normal)
#-----| -> exit M7
# 22| {...}
#-----| -> ... ...;
# 23| ... ...;
#-----| -> null
# 23| Nullable<Int32> j = ...
#-----| -> ... ...;
# 23| (...) ...
#-----| null -> Nullable<Int32> j = ...
# 23| null
#-----| -> (...) ...
# 24| ... ...;
#-----| -> access to parameter i
# 24| String s = ...
#-----| -> ...;
# 24| (...) ...
#-----| non-null -> call to method ToString
# 24| access to parameter i
#-----| -> (...) ...
# 24| call to method ToString
#-----| -> String s = ...
# 25| ...;
#-----| -> ""
# 25| ... = ...
#-----| -> exit M7 (normal)
# 25| ""
#-----| non-null -> access to local variable s
# 25| call to method CommaJoinWith
#-----| -> ... = ...
# 25| access to local variable s
#-----| -> call to method CommaJoinWith
# 30| enter Out
#-----| -> 0
# 30| exit Out
# 30| exit Out (normal)
#-----| -> exit Out
# 30| ... = ...
#-----| -> exit Out (normal)
# 30| 0
#-----| -> ... = ...
# 32| enter M8
#-----| -> {...}
# 32| exit M8
# 32| exit M8 (normal)
#-----| -> exit M8
# 33| {...}
#-----| -> ...;
# 34| ...;
#-----| -> 0
# 34| ... = ...
#-----| -> ...;
# 34| 0
#-----| -> ... = ...
# 35| ...;
#-----| -> this access
# 35| access to property Prop
#-----| non-null -> call to method Out
#-----| null -> exit M8 (normal)
# 35| this access
#-----| -> access to property Prop
# 35| call to method Out
#-----| -> exit M8 (normal)
# 41| enter CommaJoinWith
#-----| -> access to parameter s1
# 41| exit CommaJoinWith
# 41| exit CommaJoinWith (normal)
#-----| -> exit CommaJoinWith
# 41| ... + ...
#-----| -> exit CommaJoinWith (normal)
# 41| ... + ...
#-----| -> access to parameter s2
# 41| access to parameter s1
#-----| -> ", "
# 41| ", "
#-----| -> ... + ...
# 41| access to parameter s2
#-----| -> ... + ...
Conditions.cs:
# 3| enter IncrOrDecr
#-----| -> {...}
# 3| exit IncrOrDecr
# 3| exit IncrOrDecr (normal)
#-----| -> exit IncrOrDecr
# 4| {...}
#-----| -> if (...) ...
# 5| if (...) ...
#-----| -> access to parameter inc
# 5| access to parameter inc
#-----| true -> [inc (line 3): true] ...;
#-----| false -> [inc (line 3): false] if (...) ...
# 6| [inc (line 3): true] ...;
#-----| -> [inc (line 3): true] access to parameter x
# 6| [inc (line 3): true] ...++
#-----| -> [inc (line 3): true] if (...) ...
# 6| [inc (line 3): true] access to parameter x
#-----| -> [inc (line 3): true] ...++
# 7| [inc (line 3): false] if (...) ...
#-----| -> [inc (line 3): false] access to parameter inc
# 7| [inc (line 3): true] if (...) ...
#-----| -> [inc (line 3): true] access to parameter inc
# 7| [false] !...
#-----| false -> exit IncrOrDecr (normal)
# 7| [true] !...
#-----| true -> ...;
# 7| [inc (line 3): false] access to parameter inc
#-----| false -> [true] !...
# 7| [inc (line 3): true] access to parameter inc
#-----| true -> [false] !...
# 8| ...;
#-----| -> access to parameter x
# 8| ...--
#-----| -> exit IncrOrDecr (normal)
# 8| access to parameter x
#-----| -> ...--
# 11| enter M1
#-----| -> {...}
# 11| exit M1
# 11| exit M1 (normal)
#-----| -> exit M1
# 12| {...}
#-----| -> ... ...;
# 13| ... ...;
#-----| -> 0
# 13| Int32 x = ...
#-----| -> if (...) ...
# 13| 0
#-----| -> Int32 x = ...
# 14| if (...) ...
#-----| -> access to parameter b
# 14| access to parameter b
#-----| true -> [b (line 11): true] ...;
#-----| false -> [b (line 11): false] if (...) ...
# 15| [b (line 11): true] ...;
#-----| -> [b (line 11): true] access to local variable x
# 15| [b (line 11): true] ...++
#-----| -> [b (line 11): true] if (...) ...
# 15| [b (line 11): true] access to local variable x
#-----| -> [b (line 11): true] ...++
# 16| [b (line 11): false] if (...) ...
#-----| -> [b (line 11): false] access to local variable x
# 16| [b (line 11): true] if (...) ...
#-----| -> [b (line 11): true] access to local variable x
# 16| [b (line 11): false] ... > ...
#-----| true -> [b (line 11): false] if (...) ...
#-----| false -> access to local variable x
# 16| [b (line 11): true] ... > ...
#-----| true -> [b (line 11): true] if (...) ...
#-----| false -> access to local variable x
# 16| [b (line 11): false] access to local variable x
#-----| -> [b (line 11): false] 0
# 16| [b (line 11): true] access to local variable x
#-----| -> [b (line 11): true] 0
# 16| [b (line 11): false] 0
#-----| -> [b (line 11): false] ... > ...
# 16| [b (line 11): true] 0
#-----| -> [b (line 11): true] ... > ...
# 17| [b (line 11): false] if (...) ...
#-----| -> [b (line 11): false] access to parameter b
# 17| [b (line 11): true] if (...) ...
#-----| -> [b (line 11): true] access to parameter b
# 17| [false] !...
#-----| false -> access to local variable x
# 17| [true] !...
#-----| true -> ...;
# 17| [b (line 11): false] access to parameter b
#-----| false -> [true] !...
# 17| [b (line 11): true] access to parameter b
#-----| true -> [false] !...
# 18| ...;
#-----| -> access to local variable x
# 18| ...--
#-----| -> access to local variable x
# 18| access to local variable x
#-----| -> ...--
# 19| return ...;
#-----| return -> exit M1 (normal)
# 19| access to local variable x
#-----| -> return ...;
# 22| enter M2
#-----| -> {...}
# 22| exit M2
# 22| exit M2 (normal)
#-----| -> exit M2
# 23| {...}
#-----| -> ... ...;
# 24| ... ...;
#-----| -> 0
# 24| Int32 x = ...
#-----| -> if (...) ...
# 24| 0
#-----| -> Int32 x = ...
# 25| if (...) ...
#-----| -> access to parameter b1
# 25| access to parameter b1
#-----| true -> if (...) ...
#-----| false -> if (...) ...
# 26| if (...) ...
#-----| -> access to parameter b2
# 26| access to parameter b2
#-----| true -> [b2 (line 22): true] ...;
#-----| false -> [b2 (line 22): false] if (...) ...
# 27| [b2 (line 22): true] ...;
#-----| -> [b2 (line 22): true] access to local variable x
# 27| [b2 (line 22): true] ...++
#-----| -> [b2 (line 22): true] if (...) ...
# 27| [b2 (line 22): true] access to local variable x
#-----| -> [b2 (line 22): true] ...++
# 28| if (...) ...
#-----| -> access to parameter b2
# 28| [b2 (line 22): false] if (...) ...
#-----| -> [b2 (line 22): false] access to parameter b2
# 28| [b2 (line 22): true] if (...) ...
#-----| -> [b2 (line 22): true] access to parameter b2
# 28| access to parameter b2
#-----| true -> ...;
#-----| false -> access to local variable x
# 28| [b2 (line 22): false] access to parameter b2
#-----| false -> access to local variable x
# 28| [b2 (line 22): true] access to parameter b2
#-----| true -> ...;
# 29| ...;
#-----| -> access to local variable x
# 29| ...++
#-----| -> access to local variable x
# 29| access to local variable x
#-----| -> ...++
# 30| return ...;
#-----| return -> exit M2 (normal)
# 30| access to local variable x
#-----| -> return ...;
# 33| enter M3
#-----| -> {...}
# 33| exit M3
# 33| exit M3 (normal)
#-----| -> exit M3
# 34| {...}
#-----| -> ... ...;
# 35| ... ...;
#-----| -> 0
# 35| Int32 x = ...
#-----| -> ... ...;
# 35| 0
#-----| -> Int32 x = ...
# 36| ... ...;
#-----| -> false
# 36| Boolean b2 = ...
#-----| -> if (...) ...
# 36| false
#-----| -> Boolean b2 = ...
# 37| if (...) ...
#-----| -> access to parameter b1
# 37| access to parameter b1
#-----| true -> ...;
#-----| false -> if (...) ...
# 38| ...;
#-----| -> access to parameter b1
# 38| ... = ...
#-----| -> if (...) ...
# 38| access to parameter b1
#-----| -> ... = ...
# 39| if (...) ...
#-----| -> access to local variable b2
# 39| access to local variable b2
#-----| true -> [b2 (line 39): true] ...;
#-----| false -> [b2 (line 39): false] if (...) ...
# 40| [b2 (line 39): true] ...;
#-----| -> [b2 (line 39): true] access to local variable x
# 40| [b2 (line 39): true] ...++
#-----| -> [b2 (line 39): true] if (...) ...
# 40| [b2 (line 39): true] access to local variable x
#-----| -> [b2 (line 39): true] ...++
# 41| [b2 (line 39): false] if (...) ...
#-----| -> [b2 (line 39): false] access to local variable b2
# 41| [b2 (line 39): true] if (...) ...
#-----| -> [b2 (line 39): true] access to local variable b2
# 41| [b2 (line 39): false] access to local variable b2
#-----| false -> access to local variable x
# 41| [b2 (line 39): true] access to local variable b2
#-----| true -> ...;
# 42| ...;
#-----| -> access to local variable x
# 42| ...++
#-----| -> access to local variable x
# 42| access to local variable x
#-----| -> ...++
# 43| return ...;
#-----| return -> exit M3 (normal)
# 43| access to local variable x
#-----| -> return ...;
# 46| enter M4
#-----| -> {...}
# 46| exit M4
# 46| exit M4 (normal)
#-----| -> exit M4
# 47| {...}
#-----| -> ... ...;
# 48| ... ...;
#-----| -> 0
# 48| Int32 y = ...
#-----| -> while (...) ...
# 48| 0
#-----| -> Int32 y = ...
# 49| while (...) ...
#-----| -> access to parameter x
# 49| ... > ...
#-----| true -> {...}
#-----| false -> access to local variable y
# 49| [b (line 46): false] ... > ...
#-----| true -> [b (line 46): false] {...}
#-----| false -> access to local variable y
# 49| [b (line 46): true] ... > ...
#-----| true -> [b (line 46): true] {...}
#-----| false -> access to local variable y
# 49| ...--
#-----| -> 0
# 49| [b (line 46): false] ...--
#-----| -> [b (line 46): false] 0
# 49| [b (line 46): true] ...--
#-----| -> [b (line 46): true] 0
# 49| access to parameter x
#-----| -> ...--
# 49| [b (line 46): false] access to parameter x
#-----| -> [b (line 46): false] ...--
# 49| [b (line 46): true] access to parameter x
#-----| -> [b (line 46): true] ...--
# 49| 0
#-----| -> ... > ...
# 49| [b (line 46): false] 0
#-----| -> [b (line 46): false] ... > ...
# 49| [b (line 46): true] 0
#-----| -> [b (line 46): true] ... > ...
# 50| {...}
#-----| -> if (...) ...
# 50| [b (line 46): false] {...}
#-----| -> [b (line 46): false] if (...) ...
# 50| [b (line 46): true] {...}
#-----| -> [b (line 46): true] if (...) ...
# 51| if (...) ...
#-----| -> access to parameter b
# 51| [b (line 46): false] if (...) ...
#-----| -> [b (line 46): false] access to parameter b
# 51| [b (line 46): true] if (...) ...
#-----| -> [b (line 46): true] access to parameter b
# 51| access to parameter b
#-----| true -> [b (line 46): true] ...;
#-----| false -> [b (line 46): false] access to parameter x
# 51| [b (line 46): false] access to parameter b
#-----| false -> [b (line 46): false] access to parameter x
# 51| [b (line 46): true] access to parameter b
#-----| true -> [b (line 46): true] ...;
# 52| [b (line 46): true] ...;
#-----| -> [b (line 46): true] access to local variable y
# 52| [b (line 46): true] ...++
#-----| -> [b (line 46): true] access to parameter x
# 52| [b (line 46): true] access to local variable y
#-----| -> [b (line 46): true] ...++
# 54| return ...;
#-----| return -> exit M4 (normal)
# 54| access to local variable y
#-----| -> return ...;
# 57| enter M5
#-----| -> {...}
# 57| exit M5
# 57| exit M5 (normal)
#-----| -> exit M5
# 58| {...}
#-----| -> ... ...;
# 59| ... ...;
#-----| -> 0
# 59| Int32 y = ...
#-----| -> while (...) ...
# 59| 0
#-----| -> Int32 y = ...
# 60| while (...) ...
#-----| -> access to parameter x
# 60| ... > ...
#-----| true -> {...}
#-----| false -> if (...) ...
# 60| [b (line 57): false] ... > ...
#-----| true -> [b (line 57): false] {...}
#-----| false -> [b (line 57): false] if (...) ...
# 60| [b (line 57): true] ... > ...
#-----| true -> [b (line 57): true] {...}
#-----| false -> [b (line 57): true] if (...) ...
# 60| ...--
#-----| -> 0
# 60| [b (line 57): false] ...--
#-----| -> [b (line 57): false] 0
# 60| [b (line 57): true] ...--
#-----| -> [b (line 57): true] 0
# 60| access to parameter x
#-----| -> ...--
# 60| [b (line 57): false] access to parameter x
#-----| -> [b (line 57): false] ...--
# 60| [b (line 57): true] access to parameter x
#-----| -> [b (line 57): true] ...--
# 60| 0
#-----| -> ... > ...
# 60| [b (line 57): false] 0
#-----| -> [b (line 57): false] ... > ...
# 60| [b (line 57): true] 0
#-----| -> [b (line 57): true] ... > ...
# 61| {...}
#-----| -> if (...) ...
# 61| [b (line 57): false] {...}
#-----| -> [b (line 57): false] if (...) ...
# 61| [b (line 57): true] {...}
#-----| -> [b (line 57): true] if (...) ...
# 62| if (...) ...
#-----| -> access to parameter b
# 62| [b (line 57): false] if (...) ...
#-----| -> [b (line 57): false] access to parameter b
# 62| [b (line 57): true] if (...) ...
#-----| -> [b (line 57): true] access to parameter b
# 62| access to parameter b
#-----| true -> [b (line 57): true] ...;
#-----| false -> [b (line 57): false] access to parameter x
# 62| [b (line 57): false] access to parameter b
#-----| false -> [b (line 57): false] access to parameter x
# 62| [b (line 57): true] access to parameter b
#-----| true -> [b (line 57): true] ...;
# 63| [b (line 57): true] ...;
#-----| -> [b (line 57): true] access to local variable y
# 63| [b (line 57): true] ...++
#-----| -> [b (line 57): true] access to parameter x
# 63| [b (line 57): true] access to local variable y
#-----| -> [b (line 57): true] ...++
# 65| if (...) ...
#-----| -> access to parameter b
# 65| [b (line 57): false] if (...) ...
#-----| -> [b (line 57): false] access to parameter b
# 65| [b (line 57): true] if (...) ...
#-----| -> [b (line 57): true] access to parameter b
# 65| access to parameter b
#-----| true -> ...;
#-----| false -> access to local variable y
# 65| [b (line 57): false] access to parameter b
#-----| false -> access to local variable y
# 65| [b (line 57): true] access to parameter b
#-----| true -> ...;
# 66| ...;
#-----| -> access to local variable y
# 66| ...++
#-----| -> access to local variable y
# 66| access to local variable y
#-----| -> ...++
# 67| return ...;
#-----| return -> exit M5 (normal)
# 67| access to local variable y
#-----| -> return ...;
# 70| enter M6
#-----| -> {...}
# 70| exit M6
# 70| exit M6 (normal)
#-----| -> exit M6
# 71| {...}
#-----| -> ... ...;
# 72| ... ...;
#-----| -> access to parameter ss
# 72| Boolean b = ...
#-----| -> ... ...;
# 72| ... > ...
#-----| -> Boolean b = ...
# 72| access to property Length
#-----| -> 0
# 72| access to parameter ss
#-----| -> access to property Length
# 72| 0
#-----| -> ... > ...
# 73| ... ...;
#-----| -> 0
# 73| Int32 x = ...
#-----| -> access to parameter ss
# 73| 0
#-----| -> Int32 x = ...
# 74| foreach (... ... in ...) ...
#-----| non-empty -> String _
#-----| empty -> if (...) ...
# 74| String _
#-----| -> {...}
# 74| access to parameter ss
#-----| -> foreach (... ... in ...) ...
# 75| {...}
#-----| -> if (...) ...
# 76| if (...) ...
#-----| -> access to local variable b
# 76| access to local variable b
#-----| true -> ...;
#-----| false -> if (...) ...
# 77| ...;
#-----| -> access to local variable x
# 77| ...++
#-----| -> if (...) ...
# 77| access to local variable x
#-----| -> ...++
# 78| if (...) ...
#-----| -> access to local variable x
# 78| ... > ...
#-----| false -> foreach (... ... in ...) ...
#-----| true -> ...;
# 78| access to local variable x
#-----| -> 0
# 78| 0
#-----| -> ... > ...
# 79| ...;
#-----| -> false
# 79| ... = ...
#-----| -> foreach (... ... in ...) ...
# 79| false
#-----| -> ... = ...
# 81| if (...) ...
#-----| -> access to local variable b
# 81| access to local variable b
#-----| true -> ...;
#-----| false -> access to local variable x
# 82| ...;
#-----| -> access to local variable x
# 82| ...++
#-----| -> access to local variable x
# 82| access to local variable x
#-----| -> ...++
# 83| return ...;
#-----| return -> exit M6 (normal)
# 83| access to local variable x
#-----| -> return ...;
# 86| enter M7
#-----| -> {...}
# 86| exit M7
# 86| exit M7 (normal)
#-----| -> exit M7
# 87| {...}
#-----| -> ... ...;
# 88| ... ...;
#-----| -> access to parameter ss
# 88| Boolean b = ...
#-----| -> ... ...;
# 88| ... > ...
#-----| -> Boolean b = ...
# 88| access to property Length
#-----| -> 0
# 88| access to parameter ss
#-----| -> access to property Length
# 88| 0
#-----| -> ... > ...
# 89| ... ...;
#-----| -> 0
# 89| Int32 x = ...
#-----| -> access to parameter ss
# 89| 0
#-----| -> Int32 x = ...
# 90| foreach (... ... in ...) ...
#-----| non-empty -> String _
#-----| empty -> access to local variable x
# 90| String _
#-----| -> {...}
# 90| access to parameter ss
#-----| -> foreach (... ... in ...) ...
# 91| {...}
#-----| -> if (...) ...
# 92| if (...) ...
#-----| -> access to local variable b
# 92| access to local variable b
#-----| true -> ...;
#-----| false -> if (...) ...
# 93| ...;
#-----| -> access to local variable x
# 93| ...++
#-----| -> if (...) ...
# 93| access to local variable x
#-----| -> ...++
# 94| if (...) ...
#-----| -> access to local variable x
# 94| ... > ...
#-----| true -> ...;
#-----| false -> if (...) ...
# 94| access to local variable x
#-----| -> 0
# 94| 0
#-----| -> ... > ...
# 95| ...;
#-----| -> false
# 95| ... = ...
#-----| -> if (...) ...
# 95| false
#-----| -> ... = ...
# 96| if (...) ...
#-----| -> access to local variable b
# 96| access to local variable b
#-----| false -> foreach (... ... in ...) ...
#-----| true -> ...;
# 97| ...;
#-----| -> access to local variable x
# 97| ...++
#-----| -> foreach (... ... in ...) ...
# 97| access to local variable x
#-----| -> ...++
# 99| return ...;
#-----| return -> exit M7 (normal)
# 99| access to local variable x
#-----| -> return ...;
# 102| enter M8
#-----| -> {...}
# 102| exit M8
# 102| exit M8 (normal)
#-----| -> exit M8
# 103| {...}
#-----| -> ... ...;
# 104| ... ...;
#-----| -> access to parameter b
# 104| String x = ...
#-----| -> if (...) ...
# 104| call to method ToString
#-----| -> String x = ...
# 104| access to parameter b
#-----| -> call to method ToString
# 105| if (...) ...
#-----| -> access to parameter b
# 105| access to parameter b
#-----| true -> [b (line 102): true] ...;
#-----| false -> [b (line 102): false] if (...) ...
# 106| [b (line 102): true] ...;
#-----| -> [b (line 102): true] access to local variable x
# 106| [b (line 102): true] ... = ...
#-----| -> [b (line 102): true] if (...) ...
# 106| [b (line 102): true] ... + ...
#-----| -> [b (line 102): true] ... = ...
# 106| [b (line 102): true] access to local variable x
#-----| -> [b (line 102): true] ""
# 106| [b (line 102): true] ""
#-----| -> [b (line 102): true] ... + ...
# 107| [b (line 102): false] if (...) ...
#-----| -> [b (line 102): false] access to local variable x
# 107| [b (line 102): true] if (...) ...
#-----| -> [b (line 102): true] access to local variable x
# 107| [b (line 102): false] ... > ...
#-----| true -> [b (line 102): false] if (...) ...
#-----| false -> access to local variable x
# 107| [b (line 102): true] ... > ...
#-----| true -> [b (line 102): true] if (...) ...
#-----| false -> access to local variable x
# 107| [b (line 102): false] access to property Length
#-----| -> [b (line 102): false] 0
# 107| [b (line 102): true] access to property Length
#-----| -> [b (line 102): true] 0
# 107| [b (line 102): false] access to local variable x
#-----| -> [b (line 102): false] access to property Length
# 107| [b (line 102): true] access to local variable x
#-----| -> [b (line 102): true] access to property Length
# 107| [b (line 102): false] 0
#-----| -> [b (line 102): false] ... > ...
# 107| [b (line 102): true] 0
#-----| -> [b (line 102): true] ... > ...
# 108| [b (line 102): false] if (...) ...
#-----| -> [b (line 102): false] access to parameter b
# 108| [b (line 102): true] if (...) ...
#-----| -> [b (line 102): true] access to parameter b
# 108| [false] !...
#-----| false -> access to local variable x
# 108| [true] !...
#-----| true -> ...;
# 108| [b (line 102): false] access to parameter b
#-----| false -> [true] !...
# 108| [b (line 102): true] access to parameter b
#-----| true -> [false] !...
# 109| ...;
#-----| -> access to local variable x
# 109| ... = ...
#-----| -> access to local variable x
# 109| ... + ...
#-----| -> ... = ...
# 109| access to local variable x
#-----| -> ""
# 109| ""
#-----| -> ... + ...
# 110| return ...;
#-----| return -> exit M8 (normal)
# 110| access to local variable x
#-----| -> return ...;
# 113| enter M9
#-----| -> {...}
# 113| exit M9
# 113| exit M9 (normal)
#-----| -> exit M9
# 114| {...}
#-----| -> ... ...;
# 115| ... ...;
#-----| -> null
# 115| String s = ...
#-----| -> for (...;...;...) ...
# 115| null
#-----| -> String s = ...
# 116| for (...;...;...) ...
#-----| -> 0
# 116| Int32 i = ...
#-----| -> access to local variable i
# 116| 0
#-----| -> Int32 i = ...
# 116| ... < ...
#-----| true -> {...}
#-----| false -> exit M9 (normal)
# 116| access to local variable i
#-----| -> access to parameter args
# 116| access to property Length
#-----| -> ... < ...
# 116| access to parameter args
#-----| -> access to property Length
# 116| ...++
#-----| -> access to local variable i
# 116| access to local variable i
#-----| -> ...++
# 117| {...}
#-----| -> ... ...;
# 118| ... ...;
#-----| -> access to local variable i
# 118| Boolean last = ...
#-----| -> if (...) ...
# 118| ... == ...
#-----| -> Boolean last = ...
# 118| access to local variable i
#-----| -> access to parameter args
# 118| ... - ...
#-----| -> ... == ...
# 118| access to property Length
#-----| -> 1
# 118| access to parameter args
#-----| -> access to property Length
# 118| 1
#-----| -> ... - ...
# 119| if (...) ...
#-----| -> access to local variable last
# 119| [false, last (line 118): true] !...
#-----| false -> [last (line 118): true] if (...) ...
# 119| [true, last (line 118): false] !...
#-----| true -> [last (line 118): false] ...;
# 119| access to local variable last
#-----| true -> [false, last (line 118): true] !...
#-----| false -> [true, last (line 118): false] !...
# 120| [last (line 118): false] ...;
#-----| -> [last (line 118): false] ""
# 120| [last (line 118): false] ... = ...
#-----| -> [last (line 118): false] if (...) ...
# 120| [last (line 118): false] ""
#-----| -> [last (line 118): false] ... = ...
# 121| [last (line 118): false] if (...) ...
#-----| -> [last (line 118): false] access to local variable last
# 121| [last (line 118): true] if (...) ...
#-----| -> [last (line 118): true] access to local variable last
# 121| [last (line 118): false] access to local variable last
#-----| false -> access to local variable i
# 121| [last (line 118): true] access to local variable last
#-----| true -> ...;
# 122| ...;
#-----| -> null
# 122| ... = ...
#-----| -> access to local variable i
# 122| null
#-----| -> ... = ...
# 129| enter M10
#-----| -> {...}
# 130| {...}
#-----| -> while (...) ...
# 131| while (...) ...
#-----| -> true
# 131| true
#-----| true -> {...}
# 131| [Field1 (line 129): false] true
#-----| true -> [Field1 (line 129): false] {...}
# 131| [Field1 (line 129): true, Field2 (line 129): false] true
#-----| true -> [Field1 (line 129): true, Field2 (line 129): false] {...}
# 131| [Field1 (line 129): true, Field2 (line 129): true] true
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
# 132| {...}
#-----| -> if (...) ...
# 132| [Field1 (line 129): false] {...}
#-----| -> [Field1 (line 129): false] if (...) ...
# 132| [Field1 (line 129): true, Field2 (line 129): false] {...}
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
# 132| [Field1 (line 129): true, Field2 (line 129): true] {...}
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
# 133| if (...) ...
#-----| -> this access
# 133| [Field1 (line 129): false] if (...) ...
#-----| -> [Field1 (line 129): false] this access
# 133| [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] this access
# 133| [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access
# 133| access to field Field1
#-----| false -> [Field1 (line 129): false] true
#-----| true -> [Field1 (line 129): true] {...}
# 133| [Field1 (line 129): false] access to field Field1
#-----| false -> [Field1 (line 129): false] true
# 133| [Field1 (line 129): true, Field2 (line 129): false] access to field Field1
#-----| true -> [Field1 (line 129): true, Field2 (line 129): false] {...}
# 133| [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
# 133| this access
#-----| -> access to field Field1
# 133| [Field1 (line 129): false] this access
#-----| -> [Field1 (line 129): false] access to field Field1
# 133| [Field1 (line 129): true, Field2 (line 129): false] this access
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] access to field Field1
# 133| [Field1 (line 129): true, Field2 (line 129): true] this access
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
# 134| [Field1 (line 129): true] {...}
#-----| -> [Field1 (line 129): true] if (...) ...
# 134| [Field1 (line 129): true, Field2 (line 129): false] {...}
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
# 134| [Field1 (line 129): true, Field2 (line 129): true] {...}
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
# 135| [Field1 (line 129): true] if (...) ...
#-----| -> [Field1 (line 129): true] this access
# 135| [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] this access
# 135| [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access
# 135| [Field1 (line 129): true] access to field Field2
#-----| false -> [Field1 (line 129): true, Field2 (line 129): false] true
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
# 135| [Field1 (line 129): true, Field2 (line 129): false] access to field Field2
#-----| false -> [Field1 (line 129): true, Field2 (line 129): false] true
# 135| [Field1 (line 129): true, Field2 (line 129): true] access to field Field2
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
# 135| [Field1 (line 129): true] this access
#-----| -> [Field1 (line 129): true] access to field Field2
# 135| [Field1 (line 129): true, Field2 (line 129): false] this access
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] access to field Field2
# 135| [Field1 (line 129): true, Field2 (line 129): true] this access
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field2
# 136| [Field1 (line 129): true, Field2 (line 129): true] {...}
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] ...;
# 137| [Field1 (line 129): true, Field2 (line 129): true] ...;
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access
# 137| [Field1 (line 129): true, Field2 (line 129): true] call to method ToString
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] true
# 137| [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] call to method ToString
# 137| [Field1 (line 129): true, Field2 (line 129): true] this access
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
# 143| enter M11
#-----| -> {...}
# 143| exit M11
# 143| exit M11 (normal)
#-----| -> exit M11
# 144| {...}
#-----| -> ... ...;
# 145| ... ...;
#-----| -> access to parameter b
# 145| [b (line 143): false] String s = ...
#-----| -> [b (line 143): false] if (...) ...
# 145| [b (line 143): true] String s = ...
#-----| -> [b (line 143): true] if (...) ...
# 145| [b (line 143): false] ... ? ... : ...
#-----| -> [b (line 143): false] String s = ...
# 145| [b (line 143): true] ... ? ... : ...
#-----| -> [b (line 143): true] String s = ...
# 145| access to parameter b
#-----| true -> [b (line 143): true] "a"
#-----| false -> [b (line 143): false] "b"
# 145| [b (line 143): true] "a"
#-----| -> [b (line 143): true] ... ? ... : ...
# 145| [b (line 143): false] "b"
#-----| -> [b (line 143): false] ... ? ... : ...
# 146| [b (line 143): false] if (...) ...
#-----| -> [b (line 143): false] access to parameter b
# 146| [b (line 143): true] if (...) ...
#-----| -> [b (line 143): true] access to parameter b
# 146| [b (line 143): false] access to parameter b
#-----| false -> ...;
# 146| [b (line 143): true] access to parameter b
#-----| true -> ...;
# 147| ...;
#-----| -> "a = "
# 147| call to method WriteLine
#-----| -> exit M11 (normal)
# 147| $"..."
#-----| -> call to method WriteLine
# 147| "a = "
#-----| -> access to local variable s
# 147| access to local variable s
#-----| -> $"..."
# 149| ...;
#-----| -> "b = "
# 149| call to method WriteLine
#-----| -> exit M11 (normal)
# 149| $"..."
#-----| -> call to method WriteLine
# 149| "b = "
#-----| -> access to local variable s
# 149| access to local variable s
#-----| -> $"..."
ExitMethods.cs:
# 8| enter M1
#-----| -> {...}
# 8| exit M1
# 8| exit M1 (normal)
#-----| -> exit M1
# 9| {...}
#-----| -> ...;
# 10| ...;
#-----| -> true
# 10| call to method ErrorMaybe
#-----| -> return ...;
# 10| true
#-----| -> call to method ErrorMaybe
# 11| return ...;
#-----| return -> exit M1 (normal)
# 14| enter M2
#-----| -> {...}
# 14| exit M2
# 14| exit M2 (normal)
#-----| -> exit M2
# 15| {...}
#-----| -> ...;
# 16| ...;
#-----| -> false
# 16| call to method ErrorMaybe
#-----| -> return ...;
# 16| false
#-----| -> call to method ErrorMaybe
# 17| return ...;
#-----| return -> exit M2 (normal)
# 20| enter M3
#-----| -> {...}
# 20| exit M3
# 20| exit M3 (abnormal)
#-----| -> exit M3
# 21| {...}
#-----| -> ...;
# 22| ...;
#-----| -> true
# 22| call to method ErrorAlways
#-----| exception(Exception) -> exit M3 (abnormal)
# 22| true
#-----| -> call to method ErrorAlways
# 26| enter M4
#-----| -> {...}
# 26| exit M4
# 26| exit M4 (abnormal)
#-----| -> exit M4
# 27| {...}
#-----| -> ...;
# 28| ...;
#-----| -> this access
# 28| call to method Exit
#-----| exit -> exit M4 (abnormal)
# 28| this access
#-----| -> call to method Exit
# 32| enter M5
#-----| -> {...}
# 32| exit M5
# 32| exit M5 (abnormal)
#-----| -> exit M5
# 33| {...}
#-----| -> ...;
# 34| ...;
#-----| -> this access
# 34| call to method ApplicationExit
#-----| exit -> exit M5 (abnormal)
# 34| this access
#-----| -> call to method ApplicationExit
# 38| enter M6
#-----| -> {...}
# 38| exit M6
# 38| exit M6 (normal)
#-----| -> exit M6
# 39| {...}
#-----| -> try {...} ...
# 40| try {...} ...
#-----| -> {...}
# 41| {...}
#-----| -> ...;
# 42| ...;
#-----| -> false
# 42| call to method ErrorAlways
#-----| exception(ArgumentException) -> [exception: ArgumentException] catch (...) {...}
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
# 42| false
#-----| -> call to method ErrorAlways
# 44| [exception: ArgumentException] catch (...) {...}
#-----| match -> {...}
# 44| [exception: Exception] catch (...) {...}
#-----| match -> {...}
#-----| no-match -> [exception: Exception] catch (...) {...}
# 45| {...}
#-----| -> return ...;
# 46| return ...;
#-----| return -> exit M6 (normal)
# 48| [exception: Exception] catch (...) {...}
#-----| match -> {...}
# 49| {...}
#-----| -> return ...;
# 50| return ...;
#-----| return -> exit M6 (normal)
# 54| enter M7
#-----| -> {...}
# 54| exit M7
# 54| exit M7 (abnormal)
#-----| -> exit M7
# 55| {...}
#-----| -> ...;
# 56| ...;
#-----| -> call to method ErrorAlways2
# 56| call to method ErrorAlways2
#-----| exception(Exception) -> exit M7 (abnormal)
# 60| enter M8
#-----| -> {...}
# 60| exit M8
# 60| exit M8 (abnormal)
#-----| -> exit M8
# 61| {...}
#-----| -> ...;
# 62| ...;
#-----| -> call to method ErrorAlways3
# 62| call to method ErrorAlways3
#-----| exception(Exception) -> exit M8 (abnormal)
# 66| enter ErrorMaybe
#-----| -> {...}
# 66| exit ErrorMaybe
# 66| exit ErrorMaybe (abnormal)
#-----| -> exit ErrorMaybe
# 66| exit ErrorMaybe (normal)
#-----| -> exit ErrorMaybe
# 67| {...}
#-----| -> if (...) ...
# 68| if (...) ...
#-----| -> access to parameter b
# 68| access to parameter b
#-----| true -> object creation of type Exception
#-----| false -> exit ErrorMaybe (normal)
# 69| throw ...;
#-----| exception(Exception) -> exit ErrorMaybe (abnormal)
# 69| object creation of type Exception
#-----| -> throw ...;
# 72| enter ErrorAlways
#-----| -> {...}
# 72| exit ErrorAlways
# 72| exit ErrorAlways (abnormal)
#-----| -> exit ErrorAlways
# 73| {...}
#-----| -> if (...) ...
# 74| if (...) ...
#-----| -> access to parameter b
# 74| access to parameter b
#-----| true -> object creation of type Exception
#-----| false -> "b"
# 75| throw ...;
#-----| exception(Exception) -> exit ErrorAlways (abnormal)
# 75| object creation of type Exception
#-----| -> throw ...;
# 77| throw ...;
#-----| exception(ArgumentException) -> exit ErrorAlways (abnormal)
# 77| object creation of type ArgumentException
#-----| -> throw ...;
# 77| "b"
#-----| -> object creation of type ArgumentException
# 80| enter ErrorAlways2
#-----| -> {...}
# 80| exit ErrorAlways2
# 80| exit ErrorAlways2 (abnormal)
#-----| -> exit ErrorAlways2
# 81| {...}
#-----| -> object creation of type Exception
# 82| throw ...;
#-----| exception(Exception) -> exit ErrorAlways2 (abnormal)
# 82| object creation of type Exception
#-----| -> throw ...;
# 85| enter ErrorAlways3
#-----| -> object creation of type Exception
# 85| exit ErrorAlways3
# 85| exit ErrorAlways3 (abnormal)
#-----| -> exit ErrorAlways3
# 85| throw ...
#-----| exception(Exception) -> exit ErrorAlways3 (abnormal)
# 85| object creation of type Exception
#-----| -> throw ...
# 87| enter Exit
#-----| -> {...}
# 87| exit Exit
# 87| exit Exit (abnormal)
#-----| -> exit Exit
# 88| {...}
#-----| -> ...;
# 89| ...;
#-----| -> 0
# 89| call to method Exit
#-----| exit -> exit Exit (abnormal)
# 89| 0
#-----| -> call to method Exit
# 92| enter ExitInTry
#-----| -> {...}
# 92| exit ExitInTry
# 92| exit ExitInTry (abnormal)
#-----| -> exit ExitInTry
# 93| {...}
#-----| -> try {...} ...
# 94| try {...} ...
#-----| -> {...}
# 95| {...}
#-----| -> ...;
# 96| ...;
#-----| -> this access
# 96| call to method Exit
#-----| exit -> exit ExitInTry (abnormal)
# 96| this access
#-----| -> call to method Exit
# 105| enter ApplicationExit
#-----| -> {...}
# 105| exit ApplicationExit
# 105| exit ApplicationExit (abnormal)
#-----| -> exit ApplicationExit
# 106| {...}
#-----| -> ...;
# 107| ...;
#-----| -> call to method Exit
# 107| call to method Exit
#-----| exit -> exit ApplicationExit (abnormal)
# 110| enter ThrowExpr
#-----| -> {...}
# 110| exit ThrowExpr
# 110| exit ThrowExpr (abnormal)
#-----| -> exit ThrowExpr
# 110| exit ThrowExpr (normal)
#-----| -> exit ThrowExpr
# 111| {...}
#-----| -> access to parameter input
# 112| return ...;
#-----| return -> exit ThrowExpr (normal)
# 112| ... ? ... : ...
#-----| -> return ...;
# 112| ... != ...
#-----| false -> "input"
#-----| true -> 1
# 112| access to parameter input
#-----| -> 0
# 112| (...) ...
#-----| -> ... != ...
# 112| 0
#-----| -> (...) ...
# 112| ... / ...
#-----| -> ... ? ... : ...
# 112| (...) ...
#-----| -> access to parameter input
# 112| 1
#-----| -> (...) ...
# 112| access to parameter input
#-----| -> ... / ...
# 112| throw ...
#-----| exception(ArgumentException) -> exit ThrowExpr (abnormal)
# 112| object creation of type ArgumentException
#-----| -> throw ...
# 112| "input"
#-----| -> object creation of type ArgumentException
# 115| enter ExtensionMethodCall
#-----| -> {...}
# 115| exit ExtensionMethodCall
# 115| exit ExtensionMethodCall (normal)
#-----| -> exit ExtensionMethodCall
# 116| {...}
#-----| -> access to parameter s
# 117| return ...;
#-----| return -> exit ExtensionMethodCall (normal)
# 117| ... ? ... : ...
#-----| -> return ...;
# 117| call to method Contains
#-----| true -> 0
#-----| false -> 1
# 117| access to parameter s
#-----| -> -
# 117| -
#-----| -> call to method Contains
# 117| 0
#-----| -> ... ? ... : ...
# 117| 1
#-----| -> ... ? ... : ...
# 120| enter FailingAssertion
#-----| -> {...}
# 120| exit FailingAssertion
# 120| exit FailingAssertion (abnormal)
#-----| -> exit FailingAssertion
# 121| {...}
#-----| -> ...;
# 122| ...;
#-----| -> false
# 122| [assertion failure] call to method IsTrue
#-----| exception(AssertFailedException) -> exit FailingAssertion (abnormal)
# 122| false
#-----| false -> [assertion failure] call to method IsTrue
# 126| enter FailingAssertion2
#-----| -> {...}
# 126| exit FailingAssertion2
# 126| exit FailingAssertion2 (abnormal)
#-----| -> exit FailingAssertion2
# 127| {...}
#-----| -> ...;
# 128| ...;
#-----| -> this access
# 128| call to method FailingAssertion
#-----| exception(AssertFailedException) -> exit FailingAssertion2 (abnormal)
# 128| this access
#-----| -> call to method FailingAssertion
# 132| enter AssertFalse
#-----| -> access to parameter b
# 132| exit AssertFalse
# 132| exit AssertFalse (abnormal)
#-----| -> exit AssertFalse
# 132| exit AssertFalse (normal)
#-----| -> exit AssertFalse
# 132| [assertion failure] call to method IsFalse
#-----| exception(AssertFailedException) -> exit AssertFalse (abnormal)
# 132| [assertion success] call to method IsFalse
#-----| -> exit AssertFalse (normal)
# 132| access to parameter b
#-----| true -> [assertion failure] call to method IsFalse
#-----| false -> [assertion success] call to method IsFalse
# 134| enter FailingAssertion3
#-----| -> {...}
# 134| exit FailingAssertion3
# 134| exit FailingAssertion3 (abnormal)
#-----| -> exit FailingAssertion3
# 135| {...}
#-----| -> ...;
# 136| ...;
#-----| -> this access
# 136| [assertion failure] call to method AssertFalse
#-----| exception(AssertFailedException) -> exit FailingAssertion3 (abnormal)
# 136| this access
#-----| -> true
# 136| true
#-----| true -> [assertion failure] call to method AssertFalse
# 140| enter ExceptionDispatchInfoThrow
#-----| -> {...}
# 140| exit ExceptionDispatchInfoThrow
# 140| exit ExceptionDispatchInfoThrow (abnormal)
#-----| -> exit ExceptionDispatchInfoThrow
# 141| {...}
#-----| -> if (...) ...
# 142| if (...) ...
#-----| -> access to parameter b
# 142| access to parameter b
#-----| true -> ...;
#-----| false -> ...;
# 143| ...;
#-----| -> access to parameter e
# 143| call to method Throw
#-----| exception(ArgumentException) -> exit ExceptionDispatchInfoThrow (abnormal)
# 143| access to parameter e
#-----| -> call to method Throw
# 145| ...;
#-----| -> access to parameter e
# 145| call to method Throw
#-----| exception(Exception) -> exit ExceptionDispatchInfoThrow (abnormal)
# 145| call to method Capture
#-----| -> call to method Throw
# 145| access to parameter e
#-----| -> call to method Capture
Extensions.cs:
# 5| enter ToInt32
#-----| -> {...}
# 5| exit ToInt32
# 5| exit ToInt32 (normal)
#-----| -> exit ToInt32
# 6| {...}
#-----| -> access to parameter s
# 7| return ...;
#-----| return -> exit ToInt32 (normal)
# 7| call to method Parse
#-----| -> return ...;
# 7| access to parameter s
#-----| -> call to method Parse
# 10| enter ToBool
#-----| -> {...}
# 10| exit ToBool
# 10| exit ToBool (normal)
#-----| -> exit ToBool
# 11| {...}
#-----| -> access to parameter f
# 12| return ...;
#-----| return -> exit ToBool (normal)
# 12| delegate call
#-----| -> return ...;
# 12| access to parameter f
#-----| -> access to parameter s
# 12| access to parameter s
#-----| -> delegate call
# 15| enter CallToInt32
#-----| -> "0"
# 15| exit CallToInt32
# 15| exit CallToInt32 (normal)
#-----| -> exit CallToInt32
# 15| call to method ToInt32
#-----| -> exit CallToInt32 (normal)
# 15| "0"
#-----| -> call to method ToInt32
# 20| enter Main
#-----| -> {...}
# 20| exit Main
# 20| exit Main (normal)
#-----| -> exit Main
# 21| {...}
#-----| -> ...;
# 22| ...;
#-----| -> access to parameter s
# 22| call to method ToInt32
#-----| -> ...;
# 22| access to parameter s
#-----| -> call to method ToInt32
# 23| ...;
#-----| -> ""
# 23| call to method ToInt32
#-----| -> ...;
# 23| ""
#-----| -> call to method ToInt32
# 24| ...;
#-----| -> "true"
# 24| call to method ToBool
#-----| -> ...;
# 24| "true"
#-----| -> access to method Parse
# 24| delegate creation of type Func<String,Boolean>
#-----| -> call to method ToBool
# 24| access to method Parse
#-----| -> delegate creation of type Func<String,Boolean>
# 25| ...;
#-----| -> "true"
# 25| call to method ToBool
#-----| -> exit Main (normal)
# 25| "true"
#-----| -> access to method Parse
# 25| delegate creation of type Func<String,Boolean>
#-----| -> call to method ToBool
# 25| access to method Parse
#-----| -> delegate creation of type Func<String,Boolean>
Finally.cs:
# 7| enter M1
#-----| -> {...}
# 7| exit M1
# 7| exit M1 (abnormal)
#-----| -> exit M1
# 7| exit M1 (normal)
#-----| -> exit M1
# 8| {...}
#-----| -> try {...} ...
# 9| try {...} ...
#-----| -> {...}
# 10| {...}
#-----| -> ...;
# 11| ...;
#-----| -> "Try1"
# 11| call to method WriteLine
#-----| -> {...}
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 11| "Try1"
#-----| -> call to method WriteLine
# 14| {...}
#-----| -> ...;
# 14| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 15| ...;
#-----| -> "Finally"
# 15| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] "Finally"
# 15| call to method WriteLine
#-----| -> exit M1 (normal)
# 15| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M1 (abnormal)
# 15| "Finally"
#-----| -> call to method WriteLine
# 15| [finally: exception(Exception)] "Finally"
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 19| enter M2
#-----| -> {...}
# 19| exit M2
# 19| exit M2 (abnormal)
#-----| -> exit M2
# 19| exit M2 (normal)
#-----| -> exit M2
# 20| {...}
#-----| -> try {...} ...
# 21| try {...} ...
#-----| -> {...}
# 22| {...}
#-----| -> ...;
# 23| ...;
#-----| -> "Try2"
# 23| call to method WriteLine
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
#-----| -> return ...;
# 23| "Try2"
#-----| -> call to method WriteLine
# 24| return ...;
#-----| return -> [finally: return] {...}
# 26| [exception: Exception] catch (...) {...}
#-----| match -> [exception: Exception] IOException ex
#-----| no-match -> [exception: Exception] catch (...) {...}
# 26| [exception: Exception] IOException ex
#-----| -> [exception: Exception] true
# 26| [exception: Exception] true
#-----| true -> {...}
# 27| {...}
#-----| -> throw ...;
# 28| throw ...;
#-----| exception(IOException) -> [finally: exception(IOException)] {...}
# 30| [exception: Exception] catch (...) {...}
#-----| match -> [exception: Exception] ArgumentException ex
#-----| no-match -> [exception: Exception] catch (...) {...}
# 30| [exception: Exception] ArgumentException ex
#-----| -> {...}
# 31| {...}
#-----| -> try {...} ...
# 32| try {...} ...
#-----| -> {...}
# 33| {...}
#-----| -> if (...) ...
# 34| if (...) ...
#-----| -> true
# 34| true
#-----| true -> throw ...;
# 34| throw ...;
#-----| exception(ArgumentException) -> [finally: exception(ArgumentException)] {...}
# 37| [finally: exception(ArgumentException)] {...}
#-----| -> [finally: exception(ArgumentException)] "Boo!"
# 38| [finally: exception(ArgumentException)] throw ...;
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 38| [finally: exception(ArgumentException)] object creation of type Exception
#-----| -> [finally: exception(ArgumentException)] throw ...;
# 38| [finally: exception(ArgumentException)] "Boo!"
#-----| -> [finally: exception(ArgumentException)] object creation of type Exception
# 41| [exception: Exception] catch (...) {...}
#-----| match -> {...}
# 42| {...}
#-----| -> {...}
# 49| {...}
#-----| -> ...;
# 49| [finally: return] {...}
#-----| -> [finally: return] ...;
# 49| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 49| [finally: exception(IOException)] {...}
#-----| -> [finally: exception(IOException)] ...;
# 50| ...;
#-----| -> "Finally"
# 50| [finally: return] ...;
#-----| -> [finally: return] "Finally"
# 50| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] "Finally"
# 50| [finally: exception(IOException)] ...;
#-----| -> [finally: exception(IOException)] "Finally"
# 50| call to method WriteLine
#-----| -> exit M2 (normal)
# 50| [finally: return] call to method WriteLine
#-----| return -> exit M2 (normal)
# 50| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M2 (abnormal)
# 50| [finally: exception(IOException)] call to method WriteLine
#-----| exception(IOException) -> exit M2 (abnormal)
# 50| "Finally"
#-----| -> call to method WriteLine
# 50| [finally: return] "Finally"
#-----| -> [finally: return] call to method WriteLine
# 50| [finally: exception(Exception)] "Finally"
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 50| [finally: exception(IOException)] "Finally"
#-----| -> [finally: exception(IOException)] call to method WriteLine
# 54| enter M3
#-----| -> {...}
# 54| exit M3
# 54| exit M3 (abnormal)
#-----| -> exit M3
# 54| exit M3 (normal)
#-----| -> exit M3
# 55| {...}
#-----| -> try {...} ...
# 56| try {...} ...
#-----| -> {...}
# 57| {...}
#-----| -> ...;
# 58| ...;
#-----| -> "Try3"
# 58| call to method WriteLine
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
#-----| -> return ...;
# 58| "Try3"
#-----| -> call to method WriteLine
# 59| return ...;
#-----| return -> [finally: return] {...}
# 61| [exception: Exception] catch (...) {...}
#-----| match -> [exception: Exception] IOException ex
#-----| no-match -> [exception: Exception] catch (...) {...}
# 61| [exception: Exception] IOException ex
#-----| -> [exception: Exception] true
# 61| [exception: Exception] true
#-----| true -> {...}
# 62| {...}
#-----| -> throw ...;
# 63| throw ...;
#-----| exception(IOException) -> [finally: exception(IOException)] {...}
# 65| [exception: Exception] catch (...) {...}
#-----| match -> [exception: Exception] Exception e
# 65| [exception: Exception] Exception e
#-----| -> [exception: Exception] access to local variable e
# 65| [exception: Exception] ... != ...
#-----| true -> {...}
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 65| [exception: Exception] access to property Message
#-----| -> [exception: Exception] null
# 65| [exception: Exception] access to local variable e
#-----| -> [exception: Exception] access to property Message
# 65| [exception: Exception] null
#-----| -> [exception: Exception] ... != ...
# 66| {...}
#-----| -> {...}
# 69| {...}
#-----| -> ...;
# 69| [finally: return] {...}
#-----| -> [finally: return] ...;
# 69| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 69| [finally: exception(IOException)] {...}
#-----| -> [finally: exception(IOException)] ...;
# 70| ...;
#-----| -> "Finally"
# 70| [finally: return] ...;
#-----| -> [finally: return] "Finally"
# 70| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] "Finally"
# 70| [finally: exception(IOException)] ...;
#-----| -> [finally: exception(IOException)] "Finally"
# 70| call to method WriteLine
#-----| -> exit M3 (normal)
# 70| [finally: return] call to method WriteLine
#-----| return -> exit M3 (normal)
# 70| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M3 (abnormal)
# 70| [finally: exception(IOException)] call to method WriteLine
#-----| exception(IOException) -> exit M3 (abnormal)
# 70| "Finally"
#-----| -> call to method WriteLine
# 70| [finally: return] "Finally"
#-----| -> [finally: return] call to method WriteLine
# 70| [finally: exception(Exception)] "Finally"
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 70| [finally: exception(IOException)] "Finally"
#-----| -> [finally: exception(IOException)] call to method WriteLine
# 74| enter M4
#-----| -> {...}
# 74| exit M4
# 74| exit M4 (abnormal)
#-----| -> exit M4
# 74| exit M4 (normal)
#-----| -> exit M4
# 75| {...}
#-----| -> ... ...;
# 76| ... ...;
#-----| -> 10
# 76| Int32 i = ...
#-----| -> while (...) ...
# 76| 10
#-----| -> Int32 i = ...
# 77| while (...) ...
#-----| -> access to local variable i
# 77| ... > ...
#-----| true -> {...}
#-----| false -> exit M4 (normal)
# 77| access to local variable i
#-----| -> 0
# 77| 0
#-----| -> ... > ...
# 78| {...}
#-----| -> try {...} ...
# 79| try {...} ...
#-----| -> {...}
# 80| {...}
#-----| -> if (...) ...
# 81| if (...) ...
#-----| -> access to local variable i
# 81| ... == ...
#-----| true -> return ...;
#-----| false -> if (...) ...
# 81| access to local variable i
#-----| -> 0
# 81| 0
#-----| -> ... == ...
# 82| return ...;
#-----| return -> [finally: return] {...}
# 83| if (...) ...
#-----| -> access to local variable i
# 83| ... == ...
#-----| true -> continue;
#-----| false -> if (...) ...
# 83| access to local variable i
#-----| -> 1
# 83| 1
#-----| -> ... == ...
# 84| continue;
#-----| continue -> [finally: continue] {...}
# 85| if (...) ...
#-----| -> access to local variable i
# 85| ... == ...
#-----| true -> break;
#-----| false -> {...}
# 85| access to local variable i
#-----| -> 2
# 85| 2
#-----| -> ... == ...
# 86| break;
#-----| break -> [finally: break] {...}
# 89| {...}
#-----| -> try {...} ...
# 89| [finally: return] {...}
#-----| -> [finally: return] try {...} ...
# 89| [finally: break] {...}
#-----| -> [finally: break] try {...} ...
# 89| [finally: continue] {...}
#-----| -> [finally: continue] try {...} ...
# 90| try {...} ...
#-----| -> {...}
# 90| [finally: return] try {...} ...
#-----| -> [finally: return] {...}
# 90| [finally: break] try {...} ...
#-----| -> [finally: break] {...}
# 90| [finally: continue] try {...} ...
#-----| -> [finally: continue] {...}
# 91| {...}
#-----| -> if (...) ...
# 91| [finally: return] {...}
#-----| -> [finally: return] if (...) ...
# 91| [finally: break] {...}
#-----| -> [finally: break] if (...) ...
# 91| [finally: continue] {...}
#-----| -> [finally: continue] if (...) ...
# 92| if (...) ...
#-----| -> access to local variable i
# 92| [finally: return] if (...) ...
#-----| -> [finally: return] access to local variable i
# 92| [finally: break] if (...) ...
#-----| -> [finally: break] access to local variable i
# 92| [finally: continue] if (...) ...
#-----| -> [finally: continue] access to local variable i
# 92| ... == ...
#-----| true -> object creation of type Exception
#-----| false -> {...}
# 92| [finally: return] ... == ...
#-----| true -> [finally: return] object creation of type Exception
#-----| false -> [finally: return] {...}
# 92| [finally: break] ... == ...
#-----| true -> [finally: break] object creation of type Exception
#-----| false -> [finally: break] {...}
# 92| [finally: continue] ... == ...
#-----| true -> [finally: continue] object creation of type Exception
#-----| false -> [finally: continue] {...}
# 92| access to local variable i
#-----| -> 3
# 92| [finally: return] access to local variable i
#-----| -> [finally: return] 3
# 92| [finally: break] access to local variable i
#-----| -> [finally: break] 3
# 92| [finally: continue] access to local variable i
#-----| -> [finally: continue] 3
# 92| 3
#-----| -> ... == ...
# 92| [finally: return] 3
#-----| -> [finally: return] ... == ...
# 92| [finally: break] 3
#-----| -> [finally: break] ... == ...
# 92| [finally: continue] 3
#-----| -> [finally: continue] ... == ...
# 93| throw ...;
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
# 93| [finally: return] throw ...;
#-----| exception(Exception) -> [finally: return, finally(1): exception(Exception)] {...}
# 93| [finally: break] throw ...;
#-----| exception(Exception) -> [finally: break, finally(1): exception(Exception)] {...}
# 93| [finally: continue] throw ...;
#-----| exception(Exception) -> [finally: continue, finally(1): exception(Exception)] {...}
# 93| object creation of type Exception
#-----| -> throw ...;
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
# 93| [finally: return] object creation of type Exception
#-----| -> [finally: return] throw ...;
#-----| exception(Exception) -> [finally: return, finally(1): exception(Exception)] {...}
# 93| [finally: break] object creation of type Exception
#-----| -> [finally: break] throw ...;
#-----| exception(Exception) -> [finally: break, finally(1): exception(Exception)] {...}
# 93| [finally: continue] object creation of type Exception
#-----| -> [finally: continue] throw ...;
#-----| exception(Exception) -> [finally: continue, finally(1): exception(Exception)] {...}
# 96| {...}
#-----| -> ...;
# 96| [finally(1): exception(Exception)] {...}
#-----| -> [finally(1): exception(Exception)] ...;
# 96| [finally: return] {...}
#-----| -> [finally: return] ...;
# 96| [finally: return, finally(1): exception(Exception)] {...}
#-----| -> [finally: return, finally(1): exception(Exception)] ...;
# 96| [finally: break] {...}
#-----| -> [finally: break] ...;
# 96| [finally: break, finally(1): exception(Exception)] {...}
#-----| -> [finally: break, finally(1): exception(Exception)] ...;
# 96| [finally: continue] {...}
#-----| -> [finally: continue] ...;
# 96| [finally: continue, finally(1): exception(Exception)] {...}
#-----| -> [finally: continue, finally(1): exception(Exception)] ...;
# 97| ...;
#-----| -> access to local variable i
# 97| [finally(1): exception(Exception)] ...;
#-----| -> [finally(1): exception(Exception)] access to local variable i
# 97| [finally: return] ...;
#-----| -> [finally: return] access to local variable i
# 97| [finally: return, finally(1): exception(Exception)] ...;
#-----| -> [finally: return, finally(1): exception(Exception)] access to local variable i
# 97| [finally: break] ...;
#-----| -> [finally: break] access to local variable i
# 97| [finally: break, finally(1): exception(Exception)] ...;
#-----| -> [finally: break, finally(1): exception(Exception)] access to local variable i
# 97| [finally: continue] ...;
#-----| -> [finally: continue] access to local variable i
# 97| [finally: continue, finally(1): exception(Exception)] ...;
#-----| -> [finally: continue, finally(1): exception(Exception)] access to local variable i
# 97| ...--
#-----| -> access to local variable i
# 97| [finally(1): exception(Exception)] ...--
#-----| exception(Exception) -> exit M4 (abnormal)
# 97| [finally: return] ...--
#-----| return -> exit M4 (normal)
# 97| [finally: return, finally(1): exception(Exception)] ...--
#-----| exception(Exception) -> exit M4 (abnormal)
# 97| [finally: break] ...--
#-----| break -> exit M4 (normal)
# 97| [finally: break, finally(1): exception(Exception)] ...--
#-----| exception(Exception) -> exit M4 (abnormal)
# 97| [finally: continue] ...--
#-----| continue -> access to local variable i
# 97| [finally: continue, finally(1): exception(Exception)] ...--
#-----| exception(Exception) -> exit M4 (abnormal)
# 97| access to local variable i
#-----| -> ...--
# 97| [finally(1): exception(Exception)] access to local variable i
#-----| -> [finally(1): exception(Exception)] ...--
# 97| [finally: return] access to local variable i
#-----| -> [finally: return] ...--
# 97| [finally: return, finally(1): exception(Exception)] access to local variable i
#-----| -> [finally: return, finally(1): exception(Exception)] ...--
# 97| [finally: break] access to local variable i
#-----| -> [finally: break] ...--
# 97| [finally: break, finally(1): exception(Exception)] access to local variable i
#-----| -> [finally: break, finally(1): exception(Exception)] ...--
# 97| [finally: continue] access to local variable i
#-----| -> [finally: continue] ...--
# 97| [finally: continue, finally(1): exception(Exception)] access to local variable i
#-----| -> [finally: continue, finally(1): exception(Exception)] ...--
# 103| enter M5
#-----| -> {...}
# 103| exit M5
# 103| exit M5 (abnormal)
#-----| -> exit M5
# 103| exit M5 (normal)
#-----| -> exit M5
# 104| {...}
#-----| -> try {...} ...
# 105| try {...} ...
#-----| -> {...}
# 106| {...}
#-----| -> if (...) ...
# 107| if (...) ...
#-----| -> this access
# 107| ... == ...
#-----| true -> return ...;
#-----| false -> if (...) ...
# 107| access to property Length
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
#-----| -> 0
# 107| access to field Field
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
#-----| -> access to property Length
# 107| this access
#-----| -> access to field Field
# 107| 0
#-----| -> ... == ...
# 108| return ...;
#-----| return -> [finally: return] {...}
# 109| if (...) ...
#-----| -> this access
# 109| ... == ...
#-----| true -> object creation of type OutOfMemoryException
#-----| false -> {...}
# 109| access to property Length
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
#-----| -> 1
# 109| access to field Field
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
#-----| -> access to property Length
# 109| this access
#-----| -> access to field Field
# 109| 1
#-----| -> ... == ...
# 110| throw ...;
#-----| exception(OutOfMemoryException) -> [finally: exception(OutOfMemoryException)] {...}
# 110| object creation of type OutOfMemoryException
#-----| -> throw ...;
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 113| {...}
#-----| -> if (...) ...
# 113| [finally: return] {...}
#-----| -> [finally: return] if (...) ...
# 113| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] if (...) ...
# 113| [finally: exception(OutOfMemoryException)] {...}
#-----| -> [finally: exception(OutOfMemoryException)] if (...) ...
# 113| [finally: exception(NullReferenceException)] {...}
#-----| -> [finally: exception(NullReferenceException)] if (...) ...
# 114| if (...) ...
#-----| -> this access
# 114| [finally: return] if (...) ...
#-----| -> [finally: return] this access
# 114| [finally: exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception)] this access
# 114| [finally: exception(OutOfMemoryException)] if (...) ...
#-----| -> [finally: exception(OutOfMemoryException)] this access
# 114| [finally: exception(NullReferenceException)] if (...) ...
#-----| -> [finally: exception(NullReferenceException)] this access
# 114| [false] !...
#-----| false -> if (...) ...
# 114| [false, finally: return] !...
#-----| false -> [finally: return] if (...) ...
# 114| [false, finally: exception(Exception)] !...
#-----| false -> [finally: exception(Exception)] if (...) ...
# 114| [false, finally: exception(OutOfMemoryException)] !...
#-----| false -> [finally: exception(OutOfMemoryException)] if (...) ...
# 114| [false, finally: exception(NullReferenceException)] !...
#-----| false -> [finally: exception(NullReferenceException)] if (...) ...
# 114| [true] !...
#-----| true -> ...;
# 114| [true, finally: return] !...
#-----| true -> [finally: return] ...;
# 114| [true, finally: exception(Exception)] !...
#-----| true -> [finally: exception(Exception)] ...;
# 114| [true, finally: exception(OutOfMemoryException)] !...
#-----| true -> [finally: exception(OutOfMemoryException)] ...;
# 114| [true, finally: exception(NullReferenceException)] !...
#-----| true -> [finally: exception(NullReferenceException)] ...;
# 114| ... == ...
#-----| true -> [false] !...
#-----| false -> [true] !...
# 114| [finally: return] ... == ...
#-----| true -> [false, finally: return] !...
#-----| false -> [true, finally: return] !...
# 114| [finally: exception(Exception)] ... == ...
#-----| true -> [false, finally: exception(Exception)] !...
#-----| false -> [true, finally: exception(Exception)] !...
# 114| [finally: exception(OutOfMemoryException)] ... == ...
#-----| true -> [false, finally: exception(OutOfMemoryException)] !...
#-----| false -> [true, finally: exception(OutOfMemoryException)] !...
# 114| [finally: exception(NullReferenceException)] ... == ...
#-----| true -> [false, finally: exception(NullReferenceException)] !...
#-----| false -> [true, finally: exception(NullReferenceException)] !...
# 114| access to property Length
#-----| -> 0
# 114| [finally: return] access to property Length
#-----| -> [finally: return] 0
# 114| [finally: exception(Exception)] access to property Length
#-----| -> [finally: exception(Exception)] 0
# 114| [finally: exception(OutOfMemoryException)] access to property Length
#-----| -> [finally: exception(OutOfMemoryException)] 0
# 114| [finally: exception(NullReferenceException)] access to property Length
#-----| -> [finally: exception(NullReferenceException)] 0
# 114| access to field Field
#-----| -> access to property Length
# 114| [finally: return] access to field Field
#-----| -> [finally: return] access to property Length
# 114| [finally: exception(Exception)] access to field Field
#-----| -> [finally: exception(Exception)] access to property Length
# 114| [finally: exception(OutOfMemoryException)] access to field Field
#-----| -> [finally: exception(OutOfMemoryException)] access to property Length
# 114| [finally: exception(NullReferenceException)] access to field Field
#-----| -> [finally: exception(NullReferenceException)] access to property Length
# 114| this access
#-----| -> access to field Field
# 114| [finally: return] this access
#-----| -> [finally: return] access to field Field
# 114| [finally: exception(Exception)] this access
#-----| -> [finally: exception(Exception)] access to field Field
# 114| [finally: exception(OutOfMemoryException)] this access
#-----| -> [finally: exception(OutOfMemoryException)] access to field Field
# 114| [finally: exception(NullReferenceException)] this access
#-----| -> [finally: exception(NullReferenceException)] access to field Field
# 114| 0
#-----| -> ... == ...
# 114| [finally: return] 0
#-----| -> [finally: return] ... == ...
# 114| [finally: exception(Exception)] 0
#-----| -> [finally: exception(Exception)] ... == ...
# 114| [finally: exception(OutOfMemoryException)] 0
#-----| -> [finally: exception(OutOfMemoryException)] ... == ...
# 114| [finally: exception(NullReferenceException)] 0
#-----| -> [finally: exception(NullReferenceException)] ... == ...
# 115| ...;
#-----| -> this access
# 115| [finally: return] ...;
#-----| -> [finally: return] this access
# 115| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] this access
# 115| [finally: exception(OutOfMemoryException)] ...;
#-----| -> [finally: exception(OutOfMemoryException)] this access
# 115| [finally: exception(NullReferenceException)] ...;
#-----| -> [finally: exception(NullReferenceException)] this access
# 115| call to method WriteLine
#-----| -> if (...) ...
# 115| [finally: return] call to method WriteLine
#-----| -> [finally: return] if (...) ...
# 115| [finally: exception(Exception)] call to method WriteLine
#-----| -> [finally: exception(Exception)] if (...) ...
# 115| [finally: exception(OutOfMemoryException)] call to method WriteLine
#-----| -> [finally: exception(OutOfMemoryException)] if (...) ...
# 115| [finally: exception(NullReferenceException)] call to method WriteLine
#-----| -> [finally: exception(NullReferenceException)] if (...) ...
# 115| access to field Field
#-----| -> call to method WriteLine
# 115| [finally: return] access to field Field
#-----| -> [finally: return] call to method WriteLine
# 115| [finally: exception(Exception)] access to field Field
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 115| [finally: exception(OutOfMemoryException)] access to field Field
#-----| -> [finally: exception(OutOfMemoryException)] call to method WriteLine
# 115| [finally: exception(NullReferenceException)] access to field Field
#-----| -> [finally: exception(NullReferenceException)] call to method WriteLine
# 115| this access
#-----| -> access to field Field
# 115| [finally: return] this access
#-----| -> [finally: return] access to field Field
# 115| [finally: exception(Exception)] this access
#-----| -> [finally: exception(Exception)] access to field Field
# 115| [finally: exception(OutOfMemoryException)] this access
#-----| -> [finally: exception(OutOfMemoryException)] access to field Field
# 115| [finally: exception(NullReferenceException)] this access
#-----| -> [finally: exception(NullReferenceException)] access to field Field
# 116| if (...) ...
#-----| -> this access
# 116| [finally: return] if (...) ...
#-----| -> [finally: return] this access
# 116| [finally: exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception)] this access
# 116| [finally: exception(OutOfMemoryException)] if (...) ...
#-----| -> [finally: exception(OutOfMemoryException)] this access
# 116| [finally: exception(NullReferenceException)] if (...) ...
#-----| -> [finally: exception(NullReferenceException)] this access
# 116| ... > ...
#-----| true -> ...;
#-----| false -> exit M5 (normal)
# 116| [finally: return] ... > ...
#-----| true -> [finally: return] ...;
#-----| return -> exit M5 (normal)
# 116| [finally: exception(Exception)] ... > ...
#-----| true -> [finally: exception(Exception)] ...;
#-----| exception(Exception) -> exit M5 (abnormal)
# 116| [finally: exception(OutOfMemoryException)] ... > ...
#-----| true -> [finally: exception(OutOfMemoryException)] ...;
#-----| exception(OutOfMemoryException) -> exit M5 (abnormal)
# 116| [finally: exception(NullReferenceException)] ... > ...
#-----| true -> [finally: exception(NullReferenceException)] ...;
#-----| exception(NullReferenceException) -> exit M5 (abnormal)
# 116| access to property Length
#-----| -> 0
# 116| [finally: return] access to property Length
#-----| -> [finally: return] 0
# 116| [finally: exception(Exception)] access to property Length
#-----| -> [finally: exception(Exception)] 0
# 116| [finally: exception(OutOfMemoryException)] access to property Length
#-----| -> [finally: exception(OutOfMemoryException)] 0
# 116| [finally: exception(NullReferenceException)] access to property Length
#-----| -> [finally: exception(NullReferenceException)] 0
# 116| access to field Field
#-----| -> access to property Length
# 116| [finally: return] access to field Field
#-----| -> [finally: return] access to property Length
# 116| [finally: exception(Exception)] access to field Field
#-----| -> [finally: exception(Exception)] access to property Length
# 116| [finally: exception(OutOfMemoryException)] access to field Field
#-----| -> [finally: exception(OutOfMemoryException)] access to property Length
# 116| [finally: exception(NullReferenceException)] access to field Field
#-----| -> [finally: exception(NullReferenceException)] access to property Length
# 116| this access
#-----| -> access to field Field
# 116| [finally: return] this access
#-----| -> [finally: return] access to field Field
# 116| [finally: exception(Exception)] this access
#-----| -> [finally: exception(Exception)] access to field Field
# 116| [finally: exception(OutOfMemoryException)] this access
#-----| -> [finally: exception(OutOfMemoryException)] access to field Field
# 116| [finally: exception(NullReferenceException)] this access
#-----| -> [finally: exception(NullReferenceException)] access to field Field
# 116| 0
#-----| -> ... > ...
# 116| [finally: return] 0
#-----| -> [finally: return] ... > ...
# 116| [finally: exception(Exception)] 0
#-----| -> [finally: exception(Exception)] ... > ...
# 116| [finally: exception(OutOfMemoryException)] 0
#-----| -> [finally: exception(OutOfMemoryException)] ... > ...
# 116| [finally: exception(NullReferenceException)] 0
#-----| -> [finally: exception(NullReferenceException)] ... > ...
# 117| ...;
#-----| -> 1
# 117| [finally: return] ...;
#-----| -> [finally: return] 1
# 117| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] 1
# 117| [finally: exception(OutOfMemoryException)] ...;
#-----| -> [finally: exception(OutOfMemoryException)] 1
# 117| [finally: exception(NullReferenceException)] ...;
#-----| -> [finally: exception(NullReferenceException)] 1
# 117| call to method WriteLine
#-----| -> exit M5 (normal)
# 117| [finally: return] call to method WriteLine
#-----| return -> exit M5 (normal)
# 117| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M5 (abnormal)
# 117| [finally: exception(OutOfMemoryException)] call to method WriteLine
#-----| exception(OutOfMemoryException) -> exit M5 (abnormal)
# 117| [finally: exception(NullReferenceException)] call to method WriteLine
#-----| exception(NullReferenceException) -> exit M5 (abnormal)
# 117| 1
#-----| -> call to method WriteLine
# 117| [finally: return] 1
#-----| -> [finally: return] call to method WriteLine
# 117| [finally: exception(Exception)] 1
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 117| [finally: exception(OutOfMemoryException)] 1
#-----| -> [finally: exception(OutOfMemoryException)] call to method WriteLine
# 117| [finally: exception(NullReferenceException)] 1
#-----| -> [finally: exception(NullReferenceException)] call to method WriteLine
# 121| enter M6
#-----| -> {...}
# 121| exit M6
# 121| exit M6 (normal)
#-----| -> exit M6
# 122| {...}
#-----| -> try {...} ...
# 123| try {...} ...
#-----| -> {...}
# 124| {...}
#-----| -> ... ...;
# 125| ... ...;
#-----| -> 0
# 125| Double temp = ...
#-----| -> exit M6 (normal)
# 125| ... / ...
#-----| -> Double temp = ...
# 125| (...) ...
#-----| -> access to constant E
# 125| 0
#-----| -> (...) ...
# 125| access to constant E
#-----| -> ... / ...
# 133| enter M7
#-----| -> {...}
# 133| exit M7
# 133| exit M7 (abnormal)
#-----| -> exit M7
# 134| {...}
#-----| -> try {...} ...
# 135| try {...} ...
#-----| -> {...}
# 136| {...}
#-----| -> ...;
# 137| ...;
#-----| -> "Try"
# 137| call to method WriteLine
#-----| -> {...}
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 137| "Try"
#-----| -> call to method WriteLine
# 140| {...}
#-----| -> ""
# 140| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ""
# 141| throw ...;
#-----| exception(ArgumentException) -> exit M7 (abnormal)
# 141| [finally: exception(Exception)] throw ...;
#-----| exception(ArgumentException) -> exit M7 (abnormal)
# 141| object creation of type ArgumentException
#-----| -> throw ...;
# 141| [finally: exception(Exception)] object creation of type ArgumentException
#-----| -> [finally: exception(Exception)] throw ...;
# 141| ""
#-----| -> object creation of type ArgumentException
# 141| [finally: exception(Exception)] ""
#-----| -> [finally: exception(Exception)] object creation of type ArgumentException
# 147| enter M8
#-----| -> {...}
# 147| exit M8
# 147| exit M8 (abnormal)
#-----| -> exit M8
# 147| exit M8 (normal)
#-----| -> exit M8
# 148| {...}
#-----| -> try {...} ...
# 149| try {...} ...
#-----| -> {...}
# 150| {...}
#-----| -> if (...) ...
# 151| if (...) ...
#-----| -> access to parameter args
# 151| ... == ...
#-----| true -> object creation of type ArgumentNullException
#-----| false -> {...}
# 151| access to parameter args
#-----| -> null
# 151| null
#-----| -> ... == ...
# 152| throw ...;
#-----| exception(ArgumentNullException) -> [finally: exception(ArgumentNullException)] {...}
# 152| object creation of type ArgumentNullException
#-----| -> throw ...;
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 155| {...}
#-----| -> try {...} ...
# 155| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] try {...} ...
# 155| [finally: exception(ArgumentNullException)] {...}
#-----| -> [finally: exception(ArgumentNullException)] try {...} ...
# 156| try {...} ...
#-----| -> {...}
# 156| [finally: exception(Exception)] try {...} ...
#-----| -> [finally: exception(Exception)] {...}
# 156| [finally: exception(ArgumentNullException)] try {...} ...
#-----| -> [finally: exception(ArgumentNullException)] {...}
# 157| {...}
#-----| -> if (...) ...
# 157| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] if (...) ...
# 157| [finally: exception(ArgumentNullException)] {...}
#-----| -> [finally: exception(ArgumentNullException)] if (...) ...
# 158| if (...) ...
#-----| -> access to parameter args
# 158| [finally: exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception)] access to parameter args
# 158| [finally: exception(ArgumentNullException)] if (...) ...
#-----| -> [finally: exception(ArgumentNullException)] access to parameter args
# 158| ... == ...
#-----| true -> "1"
#-----| false -> exit M8 (normal)
# 158| [finally: exception(Exception)] ... == ...
#-----| true -> [finally: exception(Exception)] "1"
#-----| exception(Exception) -> exit M8 (abnormal)
# 158| [finally: exception(ArgumentNullException)] ... == ...
#-----| true -> [finally: exception(ArgumentNullException)] "1"
#-----| exception(ArgumentNullException) -> exit M8 (abnormal)
# 158| access to property Length
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
#-----| exception(NullReferenceException) -> [exception: NullReferenceException] catch (...) {...}
#-----| -> 1
# 158| [finally: exception(Exception)] access to property Length
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...}
#-----| exception(NullReferenceException) -> [finally: exception(Exception), exception: NullReferenceException] catch (...) {...}
#-----| -> [finally: exception(Exception)] 1
# 158| [finally: exception(ArgumentNullException)] access to property Length
#-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
#-----| exception(NullReferenceException) -> [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...}
#-----| -> [finally: exception(ArgumentNullException)] 1
# 158| access to parameter args
#-----| -> access to property Length
# 158| [finally: exception(Exception)] access to parameter args
#-----| -> [finally: exception(Exception)] access to property Length
# 158| [finally: exception(ArgumentNullException)] access to parameter args
#-----| -> [finally: exception(ArgumentNullException)] access to property Length
# 158| 1
#-----| -> ... == ...
# 158| [finally: exception(Exception)] 1
#-----| -> [finally: exception(Exception)] ... == ...
# 158| [finally: exception(ArgumentNullException)] 1
#-----| -> [finally: exception(ArgumentNullException)] ... == ...
# 159| throw ...;
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
# 159| [finally: exception(Exception)] throw ...;
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...}
# 159| [finally: exception(ArgumentNullException)] throw ...;
#-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
# 159| object creation of type Exception
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
#-----| -> throw ...;
# 159| [finally: exception(Exception)] object creation of type Exception
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...}
#-----| -> [finally: exception(Exception)] throw ...;
# 159| [finally: exception(ArgumentNullException)] object creation of type Exception
#-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
#-----| -> [finally: exception(ArgumentNullException)] throw ...;
# 159| "1"
#-----| -> object creation of type Exception
# 159| [finally: exception(Exception)] "1"
#-----| -> [finally: exception(Exception)] object creation of type Exception
# 159| [finally: exception(ArgumentNullException)] "1"
#-----| -> [finally: exception(ArgumentNullException)] object creation of type Exception
# 161| [exception: Exception] catch (...) {...}
#-----| match -> [exception: Exception] Exception e
# 161| [finally: exception(Exception), exception: Exception] catch (...) {...}
#-----| match -> [finally: exception(Exception), exception: Exception] Exception e
# 161| [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
#-----| match -> [finally: exception(ArgumentNullException), exception: Exception] Exception e
# 161| [exception: NullReferenceException] catch (...) {...}
#-----| match -> [exception: NullReferenceException] Exception e
# 161| [finally: exception(Exception), exception: NullReferenceException] catch (...) {...}
#-----| match -> [finally: exception(Exception), exception: NullReferenceException] Exception e
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...}
#-----| match -> [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e
# 161| [exception: Exception] Exception e
#-----| -> [exception: Exception] access to local variable e
# 161| [finally: exception(Exception), exception: Exception] Exception e
#-----| -> [finally: exception(Exception), exception: Exception] access to local variable e
# 161| [finally: exception(ArgumentNullException), exception: Exception] Exception e
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] access to local variable e
# 161| [exception: NullReferenceException] Exception e
#-----| -> [exception: NullReferenceException] access to local variable e
# 161| [finally: exception(Exception), exception: NullReferenceException] Exception e
#-----| -> [finally: exception(Exception), exception: NullReferenceException] access to local variable e
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e
# 161| [exception: Exception] ... == ...
#-----| true -> {...}
#-----| false -> catch {...}
# 161| [finally: exception(Exception), exception: Exception] ... == ...
#-----| true -> [finally: exception(Exception)] {...}
#-----| false -> [finally: exception(Exception)] catch {...}
# 161| [finally: exception(ArgumentNullException), exception: Exception] ... == ...
#-----| true -> [finally: exception(ArgumentNullException)] {...}
#-----| false -> [finally: exception(ArgumentNullException)] catch {...}
# 161| [exception: NullReferenceException] ... == ...
#-----| true -> {...}
#-----| false -> catch {...}
# 161| [finally: exception(Exception), exception: NullReferenceException] ... == ...
#-----| true -> [finally: exception(Exception)] {...}
#-----| false -> [finally: exception(Exception)] catch {...}
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ...
#-----| true -> [finally: exception(ArgumentNullException)] {...}
#-----| false -> [finally: exception(ArgumentNullException)] catch {...}
# 161| [exception: Exception] access to property Message
#-----| -> [exception: Exception] "1"
# 161| [finally: exception(Exception), exception: Exception] access to property Message
#-----| -> [finally: exception(Exception), exception: Exception] "1"
# 161| [finally: exception(ArgumentNullException), exception: Exception] access to property Message
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] "1"
# 161| [exception: NullReferenceException] access to property Message
#-----| -> [exception: NullReferenceException] "1"
# 161| [finally: exception(Exception), exception: NullReferenceException] access to property Message
#-----| -> [finally: exception(Exception), exception: NullReferenceException] "1"
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] "1"
# 161| [exception: Exception] access to local variable e
#-----| -> [exception: Exception] access to property Message
# 161| [finally: exception(Exception), exception: Exception] access to local variable e
#-----| -> [finally: exception(Exception), exception: Exception] access to property Message
# 161| [finally: exception(ArgumentNullException), exception: Exception] access to local variable e
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] access to property Message
# 161| [exception: NullReferenceException] access to local variable e
#-----| -> [exception: NullReferenceException] access to property Message
# 161| [finally: exception(Exception), exception: NullReferenceException] access to local variable e
#-----| -> [finally: exception(Exception), exception: NullReferenceException] access to property Message
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message
# 161| [exception: Exception] "1"
#-----| -> [exception: Exception] ... == ...
# 161| [finally: exception(Exception), exception: Exception] "1"
#-----| -> [finally: exception(Exception), exception: Exception] ... == ...
# 161| [finally: exception(ArgumentNullException), exception: Exception] "1"
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] ... == ...
# 161| [exception: NullReferenceException] "1"
#-----| -> [exception: NullReferenceException] ... == ...
# 161| [finally: exception(Exception), exception: NullReferenceException] "1"
#-----| -> [finally: exception(Exception), exception: NullReferenceException] ... == ...
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] "1"
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ...
# 162| {...}
#-----| -> ...;
# 162| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 162| [finally: exception(ArgumentNullException)] {...}
#-----| -> [finally: exception(ArgumentNullException)] ...;
# 163| ...;
#-----| -> access to parameter args
# 163| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] access to parameter args
# 163| [finally: exception(ArgumentNullException)] ...;
#-----| -> [finally: exception(ArgumentNullException)] access to parameter args
# 163| call to method WriteLine
#-----| -> exit M8 (normal)
# 163| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M8 (abnormal)
# 163| [finally: exception(ArgumentNullException)] call to method WriteLine
#-----| exception(ArgumentNullException) -> exit M8 (abnormal)
# 163| access to array element
#-----| -> call to method WriteLine
# 163| [finally: exception(Exception)] access to array element
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 163| [finally: exception(ArgumentNullException)] access to array element
#-----| -> [finally: exception(ArgumentNullException)] call to method WriteLine
# 163| access to parameter args
#-----| -> 0
# 163| [finally: exception(Exception)] access to parameter args
#-----| -> [finally: exception(Exception)] 0
# 163| [finally: exception(ArgumentNullException)] access to parameter args
#-----| -> [finally: exception(ArgumentNullException)] 0
# 163| 0
#-----| -> access to array element
# 163| [finally: exception(Exception)] 0
#-----| -> [finally: exception(Exception)] access to array element
# 163| [finally: exception(ArgumentNullException)] 0
#-----| -> [finally: exception(ArgumentNullException)] access to array element
# 165| catch {...}
#-----| -> {...}
# 165| [finally: exception(Exception)] catch {...}
#-----| -> [finally: exception(Exception)] {...}
# 165| [finally: exception(ArgumentNullException)] catch {...}
#-----| -> [finally: exception(ArgumentNullException)] {...}
# 166| {...}
#-----| -> ...;
# 166| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 166| [finally: exception(ArgumentNullException)] {...}
#-----| -> [finally: exception(ArgumentNullException)] ...;
# 167| ...;
#-----| -> ""
# 167| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] ""
# 167| [finally: exception(ArgumentNullException)] ...;
#-----| -> [finally: exception(ArgumentNullException)] ""
# 167| call to method WriteLine
#-----| -> exit M8 (normal)
# 167| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M8 (abnormal)
# 167| [finally: exception(ArgumentNullException)] call to method WriteLine
#-----| exception(ArgumentNullException) -> exit M8 (abnormal)
# 167| ""
#-----| -> call to method WriteLine
# 167| [finally: exception(Exception)] ""
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 167| [finally: exception(ArgumentNullException)] ""
#-----| -> [finally: exception(ArgumentNullException)] call to method WriteLine
# 176| enter M9
#-----| -> {...}
# 176| exit M9
# 176| exit M9 (abnormal)
#-----| -> exit M9
# 176| exit M9 (normal)
#-----| -> exit M9
# 177| {...}
#-----| -> try {...} ...
# 178| try {...} ...
#-----| -> {...}
# 179| {...}
#-----| -> if (...) ...
# 180| if (...) ...
#-----| -> access to parameter b1
# 180| access to parameter b1
#-----| true -> [b1 (line 176): true] object creation of type ExceptionA
#-----| false -> [b1 (line 176): false] {...}
# 180| [b1 (line 176): true] throw ...;
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
# 180| [b1 (line 176): true] object creation of type ExceptionA
#-----| -> [b1 (line 176): true] throw ...;
#-----| exception(Exception) -> [finally: exception(Exception), b1 (line 176): true] {...}
# 183| [b1 (line 176): false] {...}
#-----| -> [b1 (line 176): false] try {...} ...
# 183| [finally: exception(Exception), b1 (line 176): true] {...}
#-----| -> [finally: exception(Exception), b1 (line 176): true] try {...} ...
# 183| [finally: exception(ExceptionA), b1 (line 176): true] {...}
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] try {...} ...
# 184| [b1 (line 176): false] try {...} ...
#-----| -> [b1 (line 176): false] {...}
# 184| [finally: exception(Exception), b1 (line 176): true] try {...} ...
#-----| -> [finally: exception(Exception), b1 (line 176): true] {...}
# 184| [finally: exception(ExceptionA), b1 (line 176): true] try {...} ...
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
# 185| [b1 (line 176): false] {...}
#-----| -> [b1 (line 176): false] if (...) ...
# 185| [finally: exception(Exception), b1 (line 176): true] {...}
#-----| -> [finally: exception(Exception), b1 (line 176): true] if (...) ...
# 185| [finally: exception(ExceptionA), b1 (line 176): true] {...}
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
# 186| [b1 (line 176): false] if (...) ...
#-----| -> [b1 (line 176): false] access to parameter b2
# 186| [finally: exception(Exception), b1 (line 176): true] if (...) ...
#-----| -> [finally: exception(Exception), b1 (line 176): true] access to parameter b2
# 186| [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b2
# 186| [b1 (line 176): false] access to parameter b2
#-----| true -> [b1 (line 176): false, b2 (line 176): true] object creation of type ExceptionB
#-----| false -> exit M9 (normal)
# 186| [finally: exception(Exception), b1 (line 176): true] access to parameter b2
#-----| true -> [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
#-----| exception(Exception) -> exit M9 (abnormal)
# 186| [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b2
#-----| true -> [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
#-----| exception(ExceptionA) -> exit M9 (abnormal)
# 186| [b1 (line 176): false, b2 (line 176): true] throw ...;
#-----| exception(ExceptionB) -> [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
# 186| [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] throw ...;
#-----| exception(ExceptionB) -> [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
# 186| [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] throw ...;
#-----| exception(ExceptionB) -> [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
# 186| [b1 (line 176): false, b2 (line 176): true] object creation of type ExceptionB
#-----| exception(Exception) -> [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
#-----| -> [b1 (line 176): false, b2 (line 176): true] throw ...;
# 186| [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
#-----| -> [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] throw ...;
# 186| [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
#-----| exception(Exception) -> [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] throw ...;
# 188| [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
#-----| match -> [exception: Exception, b1 (line 176): false, b2 (line 176): true] access to parameter b2
#-----| exception(Exception) -> exit M9 (abnormal)
# 188| [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
#-----| match -> [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] access to parameter b2
# 188| [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
#-----| match -> [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
#-----| exception(Exception) -> exit M9 (abnormal)
# 188| [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
#-----| match -> [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
# 188| [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
#-----| match -> [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
#-----| exception(Exception) -> exit M9 (abnormal)
# 188| [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
#-----| match -> [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
# 188| [exception: Exception, b1 (line 176): false, b2 (line 176): true] access to parameter b2
#-----| true -> [b1 (line 176): false] {...}
# 188| [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] access to parameter b2
#-----| true -> [b1 (line 176): false] {...}
# 188| [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
#-----| true -> [finally: exception(Exception), b1 (line 176): true] {...}
# 188| [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
#-----| true -> [finally: exception(Exception), b1 (line 176): true] {...}
# 188| [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
#-----| true -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
# 188| [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
#-----| true -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
# 189| [b1 (line 176): false] {...}
#-----| -> [b1 (line 176): false] if (...) ...
# 189| [finally: exception(Exception), b1 (line 176): true] {...}
#-----| -> [finally: exception(Exception), b1 (line 176): true] if (...) ...
# 189| [finally: exception(ExceptionA), b1 (line 176): true] {...}
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
# 190| [b1 (line 176): false] if (...) ...
#-----| -> [b1 (line 176): false] access to parameter b1
# 190| [finally: exception(Exception), b1 (line 176): true] if (...) ...
#-----| -> [finally: exception(Exception), b1 (line 176): true] access to parameter b1
# 190| [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1
# 190| [b1 (line 176): false] access to parameter b1
#-----| false -> exit M9 (normal)
# 190| [finally: exception(Exception), b1 (line 176): true] access to parameter b1
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionC
# 190| [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionC
# 190| [finally: exception(Exception)] throw ...;
#-----| exception(ExceptionC) -> exit M9 (abnormal)
# 190| [finally: exception(ExceptionA)] throw ...;
#-----| exception(ExceptionC) -> exit M9 (abnormal)
# 190| [finally: exception(Exception)] object creation of type ExceptionC
#-----| -> [finally: exception(Exception)] throw ...;
# 190| [finally: exception(ExceptionA)] object creation of type ExceptionC
#-----| -> [finally: exception(ExceptionA)] throw ...;
# 195| enter M10
#-----| -> {...}
# 195| exit M10
# 195| exit M10 (abnormal)
#-----| -> exit M10
# 195| exit M10 (normal)
#-----| -> exit M10
# 196| {...}
#-----| -> try {...} ...
# 197| try {...} ...
#-----| -> {...}
# 198| {...}
#-----| -> if (...) ...
# 199| if (...) ...
#-----| -> access to parameter b1
# 199| access to parameter b1
#-----| true -> object creation of type ExceptionA
#-----| false -> {...}
# 199| throw ...;
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
# 199| object creation of type ExceptionA
#-----| -> throw ...;
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 202| {...}
#-----| -> try {...} ...
# 202| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] try {...} ...
# 202| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] try {...} ...
# 203| try {...} ...
#-----| -> {...}
# 203| [finally: exception(Exception)] try {...} ...
#-----| -> [finally: exception(Exception)] {...}
# 203| [finally: exception(ExceptionA)] try {...} ...
#-----| -> [finally: exception(ExceptionA)] {...}
# 204| {...}
#-----| -> if (...) ...
# 204| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] if (...) ...
# 204| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] if (...) ...
# 205| if (...) ...
#-----| -> access to parameter b2
# 205| [finally: exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception)] access to parameter b2
# 205| [finally: exception(ExceptionA)] if (...) ...
#-----| -> [finally: exception(ExceptionA)] access to parameter b2
# 205| access to parameter b2
#-----| true -> object creation of type ExceptionB
#-----| false -> {...}
# 205| [finally: exception(Exception)] access to parameter b2
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionB
#-----| false -> [finally: exception(Exception)] {...}
# 205| [finally: exception(ExceptionA)] access to parameter b2
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionB
#-----| false -> [finally: exception(ExceptionA)] {...}
# 205| throw ...;
#-----| exception(ExceptionB) -> [finally(1): exception(ExceptionB)] {...}
# 205| [finally: exception(Exception)] throw ...;
#-----| exception(ExceptionB) -> [finally: exception(Exception), finally(1): exception(ExceptionB)] {...}
# 205| [finally: exception(ExceptionA)] throw ...;
#-----| exception(ExceptionB) -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] {...}
# 205| object creation of type ExceptionB
#-----| -> throw ...;
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
# 205| [finally: exception(Exception)] object creation of type ExceptionB
#-----| -> [finally: exception(Exception)] throw ...;
#-----| exception(Exception) -> [finally: exception(Exception), finally(1): exception(Exception)] {...}
# 205| [finally: exception(ExceptionA)] object creation of type ExceptionB
#-----| -> [finally: exception(ExceptionA)] throw ...;
#-----| exception(Exception) -> [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
# 208| {...}
#-----| -> if (...) ...
# 208| [finally(1): exception(Exception)] {...}
#-----| -> [finally(1): exception(Exception)] if (...) ...
# 208| [finally(1): exception(ExceptionB)] {...}
#-----| -> [finally(1): exception(ExceptionB)] if (...) ...
# 208| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] if (...) ...
# 208| [finally: exception(Exception), finally(1): exception(Exception)] {...}
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] if (...) ...
# 208| [finally: exception(Exception), finally(1): exception(ExceptionB)] {...}
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionB)] if (...) ...
# 208| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] if (...) ...
# 208| [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] if (...) ...
# 208| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] {...}
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] if (...) ...
# 209| if (...) ...
#-----| -> access to parameter b3
# 209| [finally(1): exception(Exception)] if (...) ...
#-----| -> [finally(1): exception(Exception)] access to parameter b3
# 209| [finally(1): exception(ExceptionB)] if (...) ...
#-----| -> [finally(1): exception(ExceptionB)] access to parameter b3
# 209| [finally: exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception)] access to parameter b3
# 209| [finally: exception(Exception), finally(1): exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] access to parameter b3
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] if (...) ...
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionB)] access to parameter b3
# 209| [finally: exception(ExceptionA)] if (...) ...
#-----| -> [finally: exception(ExceptionA)] access to parameter b3
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] if (...) ...
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] access to parameter b3
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] if (...) ...
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] access to parameter b3
# 209| access to parameter b3
#-----| true -> object creation of type ExceptionC
#-----| false -> ...;
# 209| [finally(1): exception(Exception)] access to parameter b3
#-----| true -> [finally(1): exception(Exception)] object creation of type ExceptionC
#-----| exception(Exception) -> exit M10 (abnormal)
# 209| [finally(1): exception(ExceptionB)] access to parameter b3
#-----| true -> [finally(1): exception(ExceptionB)] object creation of type ExceptionC
#-----| exception(ExceptionB) -> exit M10 (abnormal)
# 209| [finally: exception(Exception)] access to parameter b3
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionC
#-----| false -> [finally: exception(Exception)] ...;
# 209| [finally: exception(Exception), finally(1): exception(Exception)] access to parameter b3
#-----| true -> [finally: exception(Exception), finally(1): exception(Exception)] object creation of type ExceptionC
#-----| exception(Exception) -> exit M10 (abnormal)
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] access to parameter b3
#-----| true -> [finally: exception(Exception), finally(1): exception(ExceptionB)] object creation of type ExceptionC
#-----| exception(ExceptionB) -> exit M10 (abnormal)
# 209| [finally: exception(ExceptionA)] access to parameter b3
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionC
#-----| false -> [finally: exception(ExceptionA)] ...;
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] access to parameter b3
#-----| true -> [finally: exception(ExceptionA), finally(1): exception(Exception)] object creation of type ExceptionC
#-----| exception(Exception) -> exit M10 (abnormal)
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] access to parameter b3
#-----| true -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] object creation of type ExceptionC
#-----| exception(ExceptionB) -> exit M10 (abnormal)
# 209| throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally(1): exception(Exception)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally(1): exception(ExceptionB)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally: exception(Exception)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally: exception(Exception), finally(1): exception(Exception)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally: exception(ExceptionA)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] throw ...;
#-----| exception(ExceptionC) -> exit M10 (abnormal)
# 209| object creation of type ExceptionC
#-----| -> throw ...;
# 209| [finally(1): exception(Exception)] object creation of type ExceptionC
#-----| -> [finally(1): exception(Exception)] throw ...;
# 209| [finally(1): exception(ExceptionB)] object creation of type ExceptionC
#-----| -> [finally(1): exception(ExceptionB)] throw ...;
# 209| [finally: exception(Exception)] object creation of type ExceptionC
#-----| -> [finally: exception(Exception)] throw ...;
# 209| [finally: exception(Exception), finally(1): exception(Exception)] object creation of type ExceptionC
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] throw ...;
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] object creation of type ExceptionC
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionB)] throw ...;
# 209| [finally: exception(ExceptionA)] object creation of type ExceptionC
#-----| -> [finally: exception(ExceptionA)] throw ...;
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] object creation of type ExceptionC
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] throw ...;
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] object creation of type ExceptionC
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] throw ...;
# 211| ...;
#-----| -> this access
# 211| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] this access
# 211| [finally: exception(ExceptionA)] ...;
#-----| -> [finally: exception(ExceptionA)] this access
# 211| ... = ...
#-----| -> ...;
# 211| [finally: exception(Exception)] ... = ...
#-----| exception(Exception) -> exit M10 (abnormal)
# 211| [finally: exception(ExceptionA)] ... = ...
#-----| exception(ExceptionA) -> exit M10 (abnormal)
# 211| this access
#-----| -> "0"
# 211| [finally: exception(Exception)] this access
#-----| -> [finally: exception(Exception)] "0"
# 211| [finally: exception(ExceptionA)] this access
#-----| -> [finally: exception(ExceptionA)] "0"
# 211| "0"
#-----| -> ... = ...
# 211| [finally: exception(Exception)] "0"
#-----| -> [finally: exception(Exception)] ... = ...
# 211| [finally: exception(ExceptionA)] "0"
#-----| -> [finally: exception(ExceptionA)] ... = ...
# 213| ...;
#-----| -> this access
# 213| ... = ...
#-----| -> exit M10 (normal)
# 213| this access
#-----| -> "1"
# 213| "1"
#-----| -> ... = ...
# 216| enter M11
#-----| -> {...}
# 216| exit M11
# 216| exit M11 (normal)
#-----| -> exit M11
# 217| {...}
#-----| -> try {...} ...
# 218| try {...} ...
#-----| -> {...}
# 219| {...}
#-----| -> ...;
# 220| ...;
#-----| -> "Try"
# 220| call to method WriteLine
#-----| exception(Exception) -> catch {...}
#-----| -> {...}
# 220| "Try"
#-----| -> call to method WriteLine
# 222| catch {...}
#-----| -> {...}
# 223| {...}
#-----| -> ...;
# 224| ...;
#-----| -> "Catch"
# 224| call to method WriteLine
#-----| -> {...}
# 224| "Catch"
#-----| -> call to method WriteLine
# 227| {...}
#-----| -> ...;
# 228| ...;
#-----| -> "Finally"
# 228| call to method WriteLine
#-----| -> ...;
# 228| "Finally"
#-----| -> call to method WriteLine
# 230| ...;
#-----| -> "Done"
# 230| call to method WriteLine
#-----| -> exit M11 (normal)
# 230| "Done"
#-----| -> call to method WriteLine
# 233| enter M12
#-----| -> {...}
# 233| exit M12
# 233| exit M12 (abnormal)
#-----| -> exit M12
# 233| exit M12 (normal)
#-----| -> exit M12
# 234| {...}
#-----| -> try {...} ...
# 235| try {...} ...
#-----| -> {...}
# 236| {...}
#-----| -> try {...} ...
# 237| try {...} ...
#-----| -> {...}
# 238| {...}
#-----| -> if (...) ...
# 239| if (...) ...
#-----| -> access to parameter b1
# 239| access to parameter b1
#-----| true -> object creation of type ExceptionA
#-----| false -> {...}
# 240| throw ...;
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
# 240| object creation of type ExceptionA
#-----| -> throw ...;
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 243| {...}
#-----| -> try {...} ...
# 243| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] try {...} ...
# 243| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] try {...} ...
# 244| try {...} ...
#-----| -> {...}
# 244| [finally: exception(Exception)] try {...} ...
#-----| -> [finally: exception(Exception)] {...}
# 244| [finally: exception(ExceptionA)] try {...} ...
#-----| -> [finally: exception(ExceptionA)] {...}
# 245| {...}
#-----| -> if (...) ...
# 245| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] if (...) ...
# 245| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] if (...) ...
# 246| if (...) ...
#-----| -> access to parameter b2
# 246| [finally: exception(Exception)] if (...) ...
#-----| -> [finally: exception(Exception)] access to parameter b2
# 246| [finally: exception(ExceptionA)] if (...) ...
#-----| -> [finally: exception(ExceptionA)] access to parameter b2
# 246| access to parameter b2
#-----| true -> object creation of type ExceptionA
#-----| false -> {...}
# 246| [finally: exception(Exception)] access to parameter b2
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionA
#-----| false -> [finally: exception(Exception)] {...}
# 246| [finally: exception(ExceptionA)] access to parameter b2
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionA
#-----| false -> [finally: exception(ExceptionA)] {...}
# 247| throw ...;
#-----| exception(ExceptionA) -> [finally(1): exception(ExceptionA)] {...}
# 247| [finally: exception(Exception)] throw ...;
#-----| exception(ExceptionA) -> [finally: exception(Exception), finally(1): exception(ExceptionA)] {...}
# 247| [finally: exception(ExceptionA)] throw ...;
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] {...}
# 247| object creation of type ExceptionA
#-----| -> throw ...;
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
# 247| [finally: exception(Exception)] object creation of type ExceptionA
#-----| -> [finally: exception(Exception)] throw ...;
#-----| exception(Exception) -> [finally: exception(Exception), finally(1): exception(Exception)] {...}
# 247| [finally: exception(ExceptionA)] object creation of type ExceptionA
#-----| -> [finally: exception(ExceptionA)] throw ...;
#-----| exception(Exception) -> [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
# 250| {...}
#-----| -> ...;
# 250| [finally(1): exception(Exception)] {...}
#-----| -> [finally(1): exception(Exception)] ...;
# 250| [finally(1): exception(ExceptionA)] {...}
#-----| -> [finally(1): exception(ExceptionA)] ...;
# 250| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 250| [finally: exception(Exception), finally(1): exception(Exception)] {...}
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] ...;
# 250| [finally: exception(Exception), finally(1): exception(ExceptionA)] {...}
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionA)] ...;
# 250| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] ...;
# 250| [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] ...;
# 250| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] ...;
# 251| ...;
#-----| -> "Inner finally"
# 251| [finally(1): exception(Exception)] ...;
#-----| -> [finally(1): exception(Exception)] "Inner finally"
# 251| [finally(1): exception(ExceptionA)] ...;
#-----| -> [finally(1): exception(ExceptionA)] "Inner finally"
# 251| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] "Inner finally"
# 251| [finally: exception(Exception), finally(1): exception(Exception)] ...;
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] "Inner finally"
# 251| [finally: exception(Exception), finally(1): exception(ExceptionA)] ...;
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionA)] "Inner finally"
# 251| [finally: exception(ExceptionA)] ...;
#-----| -> [finally: exception(ExceptionA)] "Inner finally"
# 251| [finally: exception(ExceptionA), finally(1): exception(Exception)] ...;
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] "Inner finally"
# 251| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] ...;
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] "Inner finally"
# 251| call to method WriteLine
#-----| -> ...;
# 251| [finally(1): exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 251| [finally(1): exception(ExceptionA)] call to method WriteLine
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
# 251| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 251| [finally: exception(Exception), finally(1): exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 251| [finally: exception(Exception), finally(1): exception(ExceptionA)] call to method WriteLine
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
# 251| [finally: exception(ExceptionA)] call to method WriteLine
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
# 251| [finally: exception(ExceptionA), finally(1): exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 251| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] call to method WriteLine
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
# 251| "Inner finally"
#-----| -> call to method WriteLine
# 251| [finally(1): exception(Exception)] "Inner finally"
#-----| -> [finally(1): exception(Exception)] call to method WriteLine
# 251| [finally(1): exception(ExceptionA)] "Inner finally"
#-----| -> [finally(1): exception(ExceptionA)] call to method WriteLine
# 251| [finally: exception(Exception)] "Inner finally"
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 251| [finally: exception(Exception), finally(1): exception(Exception)] "Inner finally"
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] call to method WriteLine
# 251| [finally: exception(Exception), finally(1): exception(ExceptionA)] "Inner finally"
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionA)] call to method WriteLine
# 251| [finally: exception(ExceptionA)] "Inner finally"
#-----| -> [finally: exception(ExceptionA)] call to method WriteLine
# 251| [finally: exception(ExceptionA), finally(1): exception(Exception)] "Inner finally"
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] call to method WriteLine
# 251| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] "Inner finally"
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] call to method WriteLine
# 254| ...;
#-----| -> "Mid finally"
# 254| call to method WriteLine
#-----| -> {...}
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 254| "Mid finally"
#-----| -> call to method WriteLine
# 257| {...}
#-----| -> ...;
# 257| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 257| [finally: exception(ExceptionA)] {...}
#-----| -> [finally: exception(ExceptionA)] ...;
# 258| ...;
#-----| -> "Outer finally"
# 258| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] "Outer finally"
# 258| [finally: exception(ExceptionA)] ...;
#-----| -> [finally: exception(ExceptionA)] "Outer finally"
# 258| call to method WriteLine
#-----| -> ...;
# 258| [finally: exception(Exception)] call to method WriteLine
#-----| exception(Exception) -> exit M12 (abnormal)
# 258| [finally: exception(ExceptionA)] call to method WriteLine
#-----| exception(ExceptionA) -> exit M12 (abnormal)
# 258| "Outer finally"
#-----| -> call to method WriteLine
# 258| [finally: exception(Exception)] "Outer finally"
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 258| [finally: exception(ExceptionA)] "Outer finally"
#-----| -> [finally: exception(ExceptionA)] call to method WriteLine
# 260| ...;
#-----| -> "Done"
# 260| call to method WriteLine
#-----| -> exit M12 (normal)
# 260| "Done"
#-----| -> call to method WriteLine
# 263| enter M13
#-----| -> {...}
# 263| exit M13
# 263| exit M13 (abnormal)
#-----| -> exit M13
# 263| exit M13 (normal)
#-----| -> exit M13
# 264| {...}
#-----| -> try {...} ...
# 265| try {...} ...
#-----| -> {...}
# 266| {...}
#-----| -> ...;
# 267| ...;
#-----| -> "1"
# 267| call to method WriteLine
#-----| -> {...}
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
# 267| "1"
#-----| -> call to method WriteLine
# 270| {...}
#-----| -> ...;
# 270| [finally: exception(Exception)] {...}
#-----| -> [finally: exception(Exception)] ...;
# 271| ...;
#-----| -> "3"
# 271| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] "3"
# 271| call to method WriteLine
#-----| -> ...;
# 271| [finally: exception(Exception)] call to method WriteLine
#-----| -> [finally: exception(Exception)] ...;
# 271| "3"
#-----| -> call to method WriteLine
# 271| [finally: exception(Exception)] "3"
#-----| -> [finally: exception(Exception)] call to method WriteLine
# 272| ...;
#-----| -> access to parameter i
# 272| [finally: exception(Exception)] ...;
#-----| -> [finally: exception(Exception)] access to parameter i
# 272| ... = ...
#-----| -> exit M13 (normal)
# 272| [finally: exception(Exception)] ... = ...
#-----| exception(Exception) -> exit M13 (abnormal)
# 272| ... + ...
#-----| -> ... = ...
# 272| [finally: exception(Exception)] ... + ...
#-----| -> [finally: exception(Exception)] ... = ...
# 272| access to parameter i
#-----| -> 3
# 272| [finally: exception(Exception)] access to parameter i
#-----| -> [finally: exception(Exception)] 3
# 272| 3
#-----| -> ... + ...
# 272| [finally: exception(Exception)] 3
#-----| -> [finally: exception(Exception)] ... + ...
Foreach.cs:
# 6| enter M1
#-----| -> {...}
# 6| exit M1
# 6| exit M1 (normal)
#-----| -> exit M1
# 7| {...}
#-----| -> access to parameter args
# 8| foreach (... ... in ...) ...
#-----| non-empty -> String arg
#-----| empty -> exit M1 (normal)
# 8| String arg
#-----| -> ;
# 8| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 9| ;
#-----| -> foreach (... ... in ...) ...
# 12| enter M2
#-----| -> {...}
# 12| exit M2
# 12| exit M2 (normal)
#-----| -> exit M2
# 13| {...}
#-----| -> access to parameter args
# 14| foreach (... ... in ...) ...
#-----| non-empty -> String _
#-----| empty -> exit M2 (normal)
# 14| String _
#-----| -> ;
# 14| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 15| ;
#-----| -> foreach (... ... in ...) ...
# 18| enter M3
#-----| -> {...}
# 18| exit M3
# 18| exit M3 (normal)
#-----| -> exit M3
# 19| {...}
#-----| -> access to parameter e
# 20| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M3 (normal)
# 20| String x
#-----| -> ;
# 20| ... ?? ...
#-----| -> foreach (... ... in ...) ...
# 20| access to parameter e
#-----| non-null -> call to method ToArray<String>
#-----| null -> call to method Empty<String>
# 20| call to method ToArray<String>
#-----| non-null -> ... ?? ...
#-----| null -> call to method Empty<String>
# 20| call to method Empty<String>
#-----| -> ... ?? ...
# 21| ;
#-----| -> foreach (... ... in ...) ...
# 24| enter M4
#-----| -> {...}
# 24| exit M4
# 24| exit M4 (normal)
#-----| -> exit M4
# 25| {...}
#-----| -> access to parameter args
# 26| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M4 (normal)
# 26| (..., ...)
#-----| -> ;
# 26| String x
#-----| -> Int32 y
# 26| Int32 y
#-----| -> (..., ...)
# 26| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 27| ;
#-----| -> foreach (... ... in ...) ...
# 30| enter M5
#-----| -> {...}
# 30| exit M5
# 30| exit M5 (normal)
#-----| -> exit M5
# 31| {...}
#-----| -> access to parameter args
# 32| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M5 (normal)
# 32| (..., ...)
#-----| -> ;
# 32| String x
#-----| -> Int32 y
# 32| Int32 y
#-----| -> (..., ...)
# 32| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 33| ;
#-----| -> foreach (... ... in ...) ...
# 36| enter M6
#-----| -> {...}
# 36| exit M6
# 36| exit M6 (normal)
#-----| -> exit M6
# 37| {...}
#-----| -> access to parameter args
# 38| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M6 (normal)
# 38| (..., ...)
#-----| -> ;
# 38| String x
#-----| -> Int32 y
# 38| Int32 y
#-----| -> (..., ...)
# 38| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 39| ;
#-----| -> foreach (... ... in ...) ...
Initializers.cs:
# 5| ... = ...
#-----| -> this access
# 5| this access
#-----| -> access to field H
# 5| ... = ...
#-----| -> this access
# 5| this access
#-----| -> access to field H
# 5| ... + ...
#-----| -> ... = ...
# 5| access to field H
#-----| -> 1
# 5| ... + ...
#-----| -> ... = ...
# 5| access to field H
#-----| -> 1
# 5| 1
#-----| -> ... + ...
# 5| 1
#-----| -> ... + ...
# 6| access to property G
#-----| -> ... = ...
# 6| this access
#-----| -> access to field H
# 6| access to property G
#-----| -> ... = ...
# 6| this access
#-----| -> access to field H
# 6| ... = ...
#-----| -> {...}
# 6| ... = ...
#-----| -> {...}
# 6| ... + ...
#-----| -> access to property G
# 6| access to field H
#-----| -> 2
# 6| ... + ...
#-----| -> access to property G
# 6| access to field H
#-----| -> 2
# 6| 2
#-----| -> ... + ...
# 6| 2
#-----| -> ... + ...
# 8| enter Initializers
#-----| -> call to constructor Object
# 8| call to constructor Object
#-----| -> this access
# 8| exit Initializers
# 8| exit Initializers (normal)
#-----| -> exit Initializers
# 8| {...}
#-----| -> exit Initializers (normal)
# 10| enter Initializers
#-----| -> call to constructor Object
# 10| call to constructor Object
#-----| -> this access
# 10| exit Initializers
# 10| exit Initializers (normal)
#-----| -> exit Initializers
# 10| {...}
#-----| -> exit Initializers (normal)
# 12| enter M
#-----| -> {...}
# 12| exit M
# 12| exit M (normal)
#-----| -> exit M
# 13| {...}
#-----| -> ... ...;
# 14| ... ...;
#-----| -> ""
# 14| Initializers i = ...
#-----| -> ... ...;
# 14| object creation of type Initializers
#-----| -> 0
# 14| ""
#-----| -> object creation of type Initializers
# 14| { ..., ... }
#-----| -> Initializers i = ...
# 14| ... = ...
#-----| -> 1
# 14| 0
#-----| -> ... = ...
# 14| ... = ...
#-----| -> { ..., ... }
# 14| access to property G
#-----| -> ... = ...
# 14| 1
#-----| -> access to property G
# 15| ... ...;
#-----| -> 2
# 15| Initializers[] iz = ...
#-----| -> exit M (normal)
# 15| array creation of type Initializers[]
#-----| -> access to local variable i
# 15| 2
#-----| -> array creation of type Initializers[]
# 15| { ..., ... }
#-----| -> Initializers[] iz = ...
# 15| access to local variable i
#-----| -> ""
# 15| object creation of type Initializers
#-----| -> { ..., ... }
# 15| ""
#-----| -> object creation of type Initializers
# 18| enter H
#-----| -> 1
# 18| ... = ...
#-----| -> exit H (normal)
# 18| exit H
# 18| exit H (normal)
#-----| -> exit H
# 18| 1
#-----| -> ... = ...
# 20| enter NoConstructor
#-----| -> this access
# 20| exit NoConstructor
# 20| exit NoConstructor (normal)
#-----| -> exit NoConstructor
# 22| ... = ...
#-----| -> this access
# 22| this access
#-----| -> 0
# 22| 0
#-----| -> ... = ...
# 23| ... = ...
#-----| -> exit NoConstructor (normal)
# 23| this access
#-----| -> 1
# 23| 1
#-----| -> ... = ...
# 28| ... = ...
#-----| -> {...}
# 28| this access
#-----| -> 2
# 28| ... = ...
#-----| -> {...}
# 28| this access
#-----| -> 2
# 28| 2
#-----| -> ... = ...
# 28| 2
#-----| -> ... = ...
# 31| enter Sub
#-----| -> call to constructor NoConstructor
# 31| exit Sub
# 31| exit Sub (normal)
#-----| -> exit Sub
# 31| call to constructor NoConstructor
#-----| -> this access
# 31| {...}
#-----| -> ...;
# 31| ...;
#-----| -> this access
# 31| ... = ...
#-----| -> exit Sub (normal)
# 31| this access
#-----| -> 3
# 31| 3
#-----| -> ... = ...
# 33| enter Sub
#-----| -> call to constructor Sub
# 33| exit Sub
# 33| exit Sub (normal)
#-----| -> exit Sub
# 33| call to constructor Sub
#-----| -> {...}
# 33| {...}
#-----| -> ...;
# 33| ...;
#-----| -> this access
# 33| ... = ...
#-----| -> exit Sub (normal)
# 33| this access
#-----| -> access to parameter i
# 33| access to parameter i
#-----| -> ... = ...
# 35| enter Sub
#-----| -> call to constructor NoConstructor
# 35| call to constructor NoConstructor
#-----| -> this access
# 35| exit Sub
# 35| exit Sub (normal)
#-----| -> exit Sub
# 35| {...}
#-----| -> ...;
# 35| ...;
#-----| -> this access
# 35| ... = ...
#-----| -> exit Sub (normal)
# 35| this access
#-----| -> access to parameter i
# 35| ... + ...
#-----| -> ... = ...
# 35| access to parameter i
#-----| -> access to parameter j
# 35| access to parameter j
#-----| -> ... + ...
# 51| enter Test
#-----| -> {...}
# 51| exit Test
# 51| exit Test (normal)
#-----| -> exit Test
# 52| {...}
#-----| -> ... ...;
# 54| ... ...;
#-----| -> object creation of type Dictionary<Int32,String>
# 54| Dictionary<Int32,String> dict = ...
#-----| -> ... ...;
# 54| object creation of type Dictionary<Int32,String>
#-----| -> 0
# 54| { ..., ... }
#-----| -> Dictionary<Int32,String> dict = ...
# 54| ... = ...
#-----| -> 1
# 54| access to indexer
#-----| -> ... = ...
# 54| 0
#-----| -> "Zero"
# 54| "Zero"
#-----| -> access to indexer
# 54| ... = ...
#-----| -> access to parameter i
# 54| access to indexer
#-----| -> ... = ...
# 54| 1
#-----| -> "One"
# 54| "One"
#-----| -> access to indexer
# 54| ... = ...
#-----| -> { ..., ... }
# 54| access to indexer
#-----| -> ... = ...
# 54| ... + ...
#-----| -> "Two"
# 54| access to parameter i
#-----| -> 2
# 54| 2
#-----| -> ... + ...
# 54| "Two"
#-----| -> access to indexer
# 57| ... ...;
#-----| -> object creation of type Compound
# 57| Compound compound = ...
#-----| -> exit Test (normal)
# 57| object creation of type Compound
#-----| -> 0
# 58| { ..., ... }
#-----| -> Compound compound = ...
# 59| ... = ...
#-----| -> 3
# 59| { ..., ... }
#-----| -> ... = ...
# 59| ... = ...
#-----| -> 1
# 59| access to indexer
#-----| -> ... = ...
# 59| 0
#-----| -> "Zero"
# 59| "Zero"
#-----| -> access to indexer
# 59| ... = ...
#-----| -> access to parameter i
# 59| access to indexer
#-----| -> ... = ...
# 59| 1
#-----| -> "One"
# 59| "One"
#-----| -> access to indexer
# 59| ... = ...
#-----| -> { ..., ... }
# 59| access to indexer
#-----| -> ... = ...
# 59| ... + ...
#-----| -> "Two"
# 59| access to parameter i
#-----| -> 2
# 59| 2
#-----| -> ... + ...
# 59| "Two"
#-----| -> access to indexer
# 60| ... = ...
#-----| -> 0
# 60| access to property DictionaryProperty
#-----| -> ... = ...
# 60| { ..., ... }
#-----| -> access to property DictionaryProperty
# 60| ... = ...
#-----| -> 2
# 60| access to indexer
#-----| -> ... = ...
# 60| 3
#-----| -> "Three"
# 60| "Three"
#-----| -> access to indexer
# 60| ... = ...
#-----| -> access to parameter i
# 60| access to indexer
#-----| -> ... = ...
# 60| 2
#-----| -> "Two"
# 60| "Two"
#-----| -> access to indexer
# 60| ... = ...
#-----| -> { ..., ... }
# 60| access to indexer
#-----| -> ... = ...
# 60| ... + ...
#-----| -> "One"
# 60| access to parameter i
#-----| -> 1
# 60| 1
#-----| -> ... + ...
# 60| "One"
#-----| -> access to indexer
# 61| ... = ...
#-----| -> 0
# 61| { ..., ... }
#-----| -> ... = ...
# 61| ... = ...
#-----| -> access to parameter i
# 61| 0
#-----| -> "Zero"
# 61| "Zero"
#-----| -> ... = ...
# 61| ... = ...
#-----| -> { ..., ... }
# 61| ... + ...
#-----| -> "One"
# 61| access to parameter i
#-----| -> 1
# 61| 1
#-----| -> ... + ...
# 61| "One"
#-----| -> ... = ...
# 62| ... = ...
#-----| -> 1
# 62| { ..., ... }
#-----| -> ... = ...
# 62| ... = ...
#-----| -> 1
# 62| 0
#-----| -> 1
# 62| 1
#-----| -> "i"
# 62| "i"
#-----| -> ... = ...
# 62| ... = ...
#-----| -> { ..., ... }
# 62| 1
#-----| -> access to parameter i
# 62| ... + ...
#-----| -> "1"
# 62| access to parameter i
#-----| -> 0
# 62| 0
#-----| -> ... + ...
# 62| "1"
#-----| -> ... = ...
# 63| ... = ...
#-----| -> 0
# 63| access to property ArrayProperty
#-----| -> ... = ...
# 63| { ..., ... }
#-----| -> access to property ArrayProperty
# 63| ... = ...
#-----| -> access to parameter i
# 63| 1
#-----| -> "One"
# 63| "One"
#-----| -> ... = ...
# 63| ... = ...
#-----| -> { ..., ... }
# 63| ... + ...
#-----| -> "Two"
# 63| access to parameter i
#-----| -> 2
# 63| 2
#-----| -> ... + ...
# 63| "Two"
#-----| -> ... = ...
# 64| ... = ...
#-----| -> { ..., ... }
# 64| access to property ArrayProperty2
#-----| -> ... = ...
# 64| { ..., ... }
#-----| -> access to property ArrayProperty2
# 64| ... = ...
#-----| -> 1
# 64| 0
#-----| -> 1
# 64| 1
#-----| -> "i"
# 64| "i"
#-----| -> ... = ...
# 64| ... = ...
#-----| -> { ..., ... }
# 64| 1
#-----| -> access to parameter i
# 64| ... + ...
#-----| -> "1"
# 64| access to parameter i
#-----| -> 0
# 64| 0
#-----| -> ... + ...
# 64| "1"
#-----| -> ... = ...
LoopUnrolling.cs:
# 7| enter M1
#-----| -> {...}
# 7| exit M1
# 7| exit M1 (normal)
#-----| -> exit M1
# 8| {...}
#-----| -> if (...) ...
# 9| if (...) ...
#-----| -> access to parameter args
# 9| ... == ...
#-----| true -> return ...;
#-----| false -> access to parameter args
# 9| access to property Length
#-----| -> 0
# 9| access to parameter args
#-----| -> access to property Length
# 9| 0
#-----| -> ... == ...
# 10| return ...;
#-----| return -> exit M1 (normal)
# 11| foreach (... ... in ...) ...
#-----| non-empty -> String arg
#-----| empty -> exit M1 (normal)
# 11| [unroll (line 11)] foreach (... ... in ...) ...
#-----| non-empty -> String arg
# 11| String arg
#-----| -> ...;
# 11| access to parameter args
#-----| -> [unroll (line 11)] foreach (... ... in ...) ...
# 12| ...;
#-----| -> access to local variable arg
# 12| call to method WriteLine
#-----| -> foreach (... ... in ...) ...
# 12| access to local variable arg
#-----| -> call to method WriteLine
# 15| enter M2
#-----| -> {...}
# 15| exit M2
# 15| exit M2 (normal)
#-----| -> exit M2
# 16| {...}
#-----| -> ... ...;
# 17| ... ...;
#-----| -> 3
# 17| String[] xs = ...
#-----| -> access to local variable xs
# 17| array creation of type String[]
#-----| -> "a"
# 17| 3
#-----| -> array creation of type String[]
# 17| { ..., ... }
#-----| -> String[] xs = ...
# 17| "a"
#-----| -> "b"
# 17| "b"
#-----| -> "c"
# 17| "c"
#-----| -> { ..., ... }
# 18| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M2 (normal)
# 18| [unroll (line 18)] foreach (... ... in ...) ...
#-----| non-empty -> String x
# 18| String x
#-----| -> ...;
# 18| access to local variable xs
#-----| -> [unroll (line 18)] foreach (... ... in ...) ...
# 19| ...;
#-----| -> access to local variable x
# 19| call to method WriteLine
#-----| -> foreach (... ... in ...) ...
# 19| access to local variable x
#-----| -> call to method WriteLine
# 22| enter M3
#-----| -> {...}
# 22| exit M3
# 22| exit M3 (normal)
#-----| -> exit M3
# 23| {...}
#-----| -> access to parameter args
# 24| foreach (... ... in ...) ...
#-----| non-empty -> Char arg
#-----| empty -> exit M3 (normal)
# 24| Char arg
#-----| -> access to parameter args
# 24| access to parameter args
#-----| -> foreach (... ... in ...) ...
# 25| foreach (... ... in ...) ...
#-----| empty -> foreach (... ... in ...) ...
#-----| non-empty -> Char arg0
# 25| [unroll (line 25)] foreach (... ... in ...) ...
#-----| non-empty -> Char arg0
# 25| Char arg0
#-----| -> ...;
# 25| access to parameter args
#-----| -> [unroll (line 25)] foreach (... ... in ...) ...
# 26| ...;
#-----| -> access to local variable arg0
# 26| call to method WriteLine
#-----| -> foreach (... ... in ...) ...
# 26| access to local variable arg0
#-----| -> call to method WriteLine
# 29| enter M4
#-----| -> {...}
# 29| exit M4
# 29| exit M4 (normal)
#-----| -> exit M4
# 30| {...}
#-----| -> ... ...;
# 31| ... ...;
#-----| -> 0
# 31| String[] xs = ...
#-----| -> access to local variable xs
# 31| array creation of type String[]
#-----| -> String[] xs = ...
# 31| 0
#-----| -> array creation of type String[]
# 32| [skip (line 32)] foreach (... ... in ...) ...
#-----| empty -> exit M4 (normal)
# 32| access to local variable xs
#-----| -> [skip (line 32)] foreach (... ... in ...) ...
# 36| enter M5
#-----| -> {...}
# 36| exit M5
# 36| exit M5 (normal)
#-----| -> exit M5
# 37| {...}
#-----| -> ... ...;
# 38| ... ...;
#-----| -> 3
# 38| String[] xs = ...
#-----| -> ... ...;
# 38| array creation of type String[]
#-----| -> "a"
# 38| 3
#-----| -> array creation of type String[]
# 38| { ..., ... }
#-----| -> String[] xs = ...
# 38| "a"
#-----| -> "b"
# 38| "b"
#-----| -> "c"
# 38| "c"
#-----| -> { ..., ... }
# 39| ... ...;
#-----| -> 3
# 39| String[] ys = ...
#-----| -> access to local variable xs
# 39| array creation of type String[]
#-----| -> "0"
# 39| 3
#-----| -> array creation of type String[]
# 39| { ..., ... }
#-----| -> String[] ys = ...
# 39| "0"
#-----| -> "1"
# 39| "1"
#-----| -> "2"
# 39| "2"
#-----| -> { ..., ... }
# 40| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M5 (normal)
# 40| [unroll (line 40)] foreach (... ... in ...) ...
#-----| non-empty -> String x
# 40| String x
#-----| -> access to local variable ys
# 40| access to local variable xs
#-----| -> [unroll (line 40)] foreach (... ... in ...) ...
# 41| foreach (... ... in ...) ...
#-----| empty -> foreach (... ... in ...) ...
#-----| non-empty -> String y
# 41| [unroll (line 41)] foreach (... ... in ...) ...
#-----| non-empty -> String y
# 41| String y
#-----| -> ...;
# 41| access to local variable ys
#-----| -> [unroll (line 41)] foreach (... ... in ...) ...
# 42| ...;
#-----| -> access to local variable x
# 42| call to method WriteLine
#-----| -> foreach (... ... in ...) ...
# 42| ... + ...
#-----| -> call to method WriteLine
# 42| access to local variable x
#-----| -> access to local variable y
# 42| access to local variable y
#-----| -> ... + ...
# 45| enter M6
#-----| -> {...}
# 46| {...}
#-----| -> ... ...;
# 47| ... ...;
#-----| -> 3
# 47| String[] xs = ...
#-----| -> access to local variable xs
# 47| array creation of type String[]
#-----| -> "a"
# 47| 3
#-----| -> array creation of type String[]
# 47| { ..., ... }
#-----| -> String[] xs = ...
# 47| "a"
#-----| -> "b"
# 47| "b"
#-----| -> "c"
# 47| "c"
#-----| -> { ..., ... }
# 48| [unroll (line 48)] foreach (... ... in ...) ...
#-----| non-empty -> String x
# 48| String x
#-----| -> {...}
# 48| access to local variable xs
#-----| -> [unroll (line 48)] foreach (... ... in ...) ...
# 49| {...}
#-----| -> Label:
# 50| Label:
#-----| -> ...;
# 50| ...;
#-----| -> access to local variable x
# 50| call to method WriteLine
#-----| -> goto ...;
# 50| access to local variable x
#-----| -> call to method WriteLine
# 51| goto ...;
#-----| goto(Label) -> Label:
# 55| enter M7
#-----| -> {...}
# 55| exit M7
# 55| exit M7 (normal)
#-----| -> exit M7
# 56| {...}
#-----| -> ... ...;
# 57| ... ...;
#-----| -> 3
# 57| String[] xs = ...
#-----| -> access to local variable xs
# 57| array creation of type String[]
#-----| -> "a"
# 57| 3
#-----| -> array creation of type String[]
# 57| { ..., ... }
#-----| -> String[] xs = ...
# 57| "a"
#-----| -> "b"
# 57| "b"
#-----| -> "c"
# 57| "c"
#-----| -> { ..., ... }
# 58| [unroll (line 58)] foreach (... ... in ...) ...
#-----| non-empty -> String x
# 58| [b (line 55): false] foreach (... ... in ...) ...
#-----| non-empty -> [b (line 55): false] String x
#-----| empty -> exit M7 (normal)
# 58| [b (line 55): true] foreach (... ... in ...) ...
#-----| non-empty -> [b (line 55): true] String x
#-----| empty -> exit M7 (normal)
# 58| String x
#-----| -> {...}
# 58| [b (line 55): false] String x
#-----| -> [b (line 55): false] {...}
# 58| [b (line 55): true] String x
#-----| -> [b (line 55): true] {...}
# 58| access to local variable xs
#-----| -> [unroll (line 58)] foreach (... ... in ...) ...
# 59| {...}
#-----| -> if (...) ...
# 59| [b (line 55): false] {...}
#-----| -> [b (line 55): false] if (...) ...
# 59| [b (line 55): true] {...}
#-----| -> [b (line 55): true] if (...) ...
# 60| if (...) ...
#-----| -> access to parameter b
# 60| [b (line 55): false] if (...) ...
#-----| -> [b (line 55): false] access to parameter b
# 60| [b (line 55): true] if (...) ...
#-----| -> [b (line 55): true] access to parameter b
# 60| access to parameter b
#-----| true -> [b (line 55): true] ...;
#-----| false -> [b (line 55): false] if (...) ...
# 60| [b (line 55): false] access to parameter b
#-----| false -> [b (line 55): false] if (...) ...
# 60| [b (line 55): true] access to parameter b
#-----| true -> [b (line 55): true] ...;
# 61| [b (line 55): true] ...;
#-----| -> [b (line 55): true] access to local variable x
# 61| [b (line 55): true] call to method WriteLine
#-----| -> [b (line 55): true] if (...) ...
# 61| [b (line 55): true] access to local variable x
#-----| -> [b (line 55): true] call to method WriteLine
# 62| [b (line 55): false] if (...) ...
#-----| -> [b (line 55): false] access to parameter b
# 62| [b (line 55): true] if (...) ...
#-----| -> [b (line 55): true] access to parameter b
# 62| [b (line 55): false] access to parameter b
#-----| false -> [b (line 55): false] foreach (... ... in ...) ...
# 62| [b (line 55): true] access to parameter b
#-----| true -> [b (line 55): true] ...;
# 63| [b (line 55): true] ...;
#-----| -> [b (line 55): true] access to local variable x
# 63| [b (line 55): true] call to method WriteLine
#-----| -> [b (line 55): true] foreach (... ... in ...) ...
# 63| [b (line 55): true] access to local variable x
#-----| -> [b (line 55): true] call to method WriteLine
# 67| enter M8
#-----| -> {...}
# 67| exit M8
# 67| exit M8 (normal)
#-----| -> exit M8
# 68| {...}
#-----| -> if (...) ...
# 69| if (...) ...
#-----| -> access to parameter args
# 69| [false] !...
#-----| false -> ...;
# 69| [true] !...
#-----| true -> return ...;
# 69| call to method Any<String>
#-----| true -> [false] !...
#-----| false -> [true] !...
# 69| access to parameter args
#-----| -> call to method Any<String>
# 70| return ...;
#-----| return -> exit M8 (normal)
# 71| ...;
#-----| -> access to parameter args
# 71| call to method Clear
#-----| -> access to parameter args
# 71| access to parameter args
#-----| -> call to method Clear
# 72| [skip (line 72)] foreach (... ... in ...) ...
#-----| empty -> exit M8 (normal)
# 72| access to parameter args
#-----| -> [skip (line 72)] foreach (... ... in ...) ...
# 76| enter M9
#-----| -> {...}
# 76| exit M9
# 76| exit M9 (normal)
#-----| -> exit M9
# 77| {...}
#-----| -> ... ...;
# 78| ... ...;
#-----| -> 2
# 78| String[,] xs = ...
#-----| -> access to local variable xs
# 78| array creation of type String[,]
#-----| -> String[,] xs = ...
# 78| 2
#-----| -> 0
# 78| 0
#-----| -> array creation of type String[,]
# 79| [skip (line 79)] foreach (... ... in ...) ...
#-----| empty -> exit M9 (normal)
# 79| access to local variable xs
#-----| -> [skip (line 79)] foreach (... ... in ...) ...
# 85| enter M10
#-----| -> {...}
# 85| exit M10
# 85| exit M10 (normal)
#-----| -> exit M10
# 86| {...}
#-----| -> ... ...;
# 87| ... ...;
#-----| -> 0
# 87| String[,] xs = ...
#-----| -> access to local variable xs
# 87| array creation of type String[,]
#-----| -> String[,] xs = ...
# 87| 0
#-----| -> 2
# 87| 2
#-----| -> array creation of type String[,]
# 88| [skip (line 88)] foreach (... ... in ...) ...
#-----| empty -> exit M10 (normal)
# 88| access to local variable xs
#-----| -> [skip (line 88)] foreach (... ... in ...) ...
# 94| enter M11
#-----| -> {...}
# 94| exit M11
# 94| exit M11 (normal)
#-----| -> exit M11
# 95| {...}
#-----| -> ... ...;
# 96| ... ...;
#-----| -> 2
# 96| String[,] xs = ...
#-----| -> access to local variable xs
# 96| array creation of type String[,]
#-----| -> String[,] xs = ...
# 96| 2
#-----| -> 2
# 96| 2
#-----| -> array creation of type String[,]
# 97| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit M11 (normal)
# 97| [unroll (line 97)] foreach (... ... in ...) ...
#-----| non-empty -> String x
# 97| String x
#-----| -> {...}
# 97| access to local variable xs
#-----| -> [unroll (line 97)] foreach (... ... in ...) ...
# 98| {...}
#-----| -> ...;
# 99| ...;
#-----| -> access to local variable x
# 99| call to method WriteLine
#-----| -> foreach (... ... in ...) ...
# 99| access to local variable x
#-----| -> call to method WriteLine
MultiImplementationA.cs:
# 6| throw ...
#-----| exception(NullReferenceException) -> exit get_P1 (abnormal)
#-----| exception(NullReferenceException) -> exit get_P1 (abnormal)
# 6| null
#-----| -> throw ...
# 7| {...}
#-----| -> null
# 7| throw ...;
#-----| exception(NullReferenceException) -> exit get_P2 (abnormal)
#-----| exception(NullReferenceException) -> exit get_P2 (abnormal)
# 7| null
#-----| -> throw ...;
# 7| {...}
#-----| -> null
# 7| throw ...;
#-----| exception(NullReferenceException) -> exit set_P2 (abnormal)
#-----| exception(NullReferenceException) -> exit set_P2 (abnormal)
# 7| null
#-----| -> throw ...;
# 8| throw ...
#-----| exception(NullReferenceException) -> exit M (abnormal)
#-----| exception(NullReferenceException) -> exit M (abnormal)
# 8| null
#-----| -> throw ...
# 13| ... = ...
#-----| -> this access
# 13| this access
#-----| -> 0
# 13| 0
#-----| -> ... = ...
# 14| access to parameter i
#-----| -> exit get_Item (normal)
#-----| -> exit get_Item (normal)
# 15| {...}
#-----| -> access to parameter s
# 15| return ...;
#-----| return -> exit get_Item (normal)
#-----| return -> exit get_Item (normal)
# 15| access to parameter s
#-----| -> return ...;
# 15| {...}
#-----| -> exit set_Item (normal)
#-----| -> exit set_Item (normal)
# 17| {...}
#-----| -> M2(...)
# 18| enter M2
#-----| -> 0
# 18| M2(...)
#-----| -> exit M1 (normal)
#-----| -> exit M1 (normal)
# 18| exit M2
# 18| exit M2 (normal)
#-----| -> exit M2
# 18| 0
#-----| -> exit M2 (normal)
# 20| call to constructor Object
#-----| -> this access
# 20| {...}
#-----| -> ...;
# 20| ...;
#-----| -> this access
# 20| ... = ...
#-----| -> exit C2 (normal)
#-----| -> exit C2 (normal)
# 20| this access
#-----| -> access to parameter i
# 20| access to parameter i
#-----| -> ... = ...
# 21| call to constructor C2
#-----| -> {...}
# 21| 0
#-----| -> call to constructor C2
# 21| {...}
#-----| -> exit C2 (normal)
#-----| -> exit C2 (normal)
# 22| {...}
#-----| -> exit ~C2 (normal)
#-----| -> exit ~C2 (normal)
# 23| null
#-----| -> exit implicit conversion (normal)
#-----| -> exit implicit conversion (normal)
# 24| access to property P
#-----| -> ... = ...
# 24| this access
#-----| -> 0
# 24| ... = ...
#-----| -> {...}
# 24| 0
#-----| -> access to property P
# 30| throw ...
#-----| exception(NullReferenceException) -> exit get_P3 (abnormal)
#-----| exception(NullReferenceException) -> exit get_P3 (abnormal)
# 30| null
#-----| -> throw ...
# 36| {...}
#-----| -> null
# 36| throw ...;
#-----| exception(NullReferenceException) -> exit M1 (abnormal)
#-----| exception(NullReferenceException) -> exit M1 (abnormal)
# 36| null
#-----| -> throw ...;
# 37| enter M2
#-----| -> {...}
# 37| exit M2
# 37| exit M2 (abnormal)
#-----| -> exit M2
# 37| {...}
#-----| -> null
# 37| throw ...;
#-----| exception(NullReferenceException) -> exit M2 (abnormal)
# 37| null
#-----| -> throw ...;
# 6| enter get_P1
#-----| -> null
#-----| -> 0
MultiImplementationB.cs:
# 3| enter get_P1
#-----| -> null
#-----| -> 0
# 3| 0
#-----| -> exit get_P1 (normal)
#-----| -> exit get_P1 (normal)
MultiImplementationA.cs:
# 6| exit get_P1
MultiImplementationB.cs:
# 3| exit get_P1
MultiImplementationA.cs:
# 6| exit get_P1 (abnormal)
#-----| -> exit get_P1
#-----| -> exit get_P1
MultiImplementationB.cs:
# 3| exit get_P1 (abnormal)
#-----| -> exit get_P1
#-----| -> exit get_P1
MultiImplementationA.cs:
# 6| exit get_P1 (normal)
#-----| -> exit get_P1
#-----| -> exit get_P1
MultiImplementationB.cs:
# 3| exit get_P1 (normal)
#-----| -> exit get_P1
#-----| -> exit get_P1
MultiImplementationA.cs:
# 7| enter get_P2
#-----| -> {...}
#-----| -> {...}
MultiImplementationB.cs:
# 4| enter get_P2
#-----| -> {...}
#-----| -> {...}
MultiImplementationA.cs:
# 7| exit get_P2
MultiImplementationB.cs:
# 4| exit get_P2
MultiImplementationA.cs:
# 7| exit get_P2 (abnormal)
#-----| -> exit get_P2
#-----| -> exit get_P2
MultiImplementationB.cs:
# 4| exit get_P2 (abnormal)
#-----| -> exit get_P2
#-----| -> exit get_P2
MultiImplementationA.cs:
# 7| exit get_P2 (normal)
#-----| -> exit get_P2
#-----| -> exit get_P2
MultiImplementationB.cs:
# 4| exit get_P2 (normal)
#-----| -> exit get_P2
#-----| -> exit get_P2
# 4| {...}
#-----| -> 1
# 4| return ...;
#-----| return -> exit get_P2 (normal)
#-----| return -> exit get_P2 (normal)
# 4| 1
#-----| -> return ...;
MultiImplementationA.cs:
# 7| enter set_P2
#-----| -> {...}
#-----| -> {...}
MultiImplementationB.cs:
# 4| enter set_P2
#-----| -> {...}
#-----| -> {...}
MultiImplementationA.cs:
# 7| exit set_P2
MultiImplementationB.cs:
# 4| exit set_P2
MultiImplementationA.cs:
# 7| exit set_P2 (abnormal)
#-----| -> exit set_P2
#-----| -> exit set_P2
MultiImplementationB.cs:
# 4| exit set_P2 (abnormal)
#-----| -> exit set_P2
#-----| -> exit set_P2
MultiImplementationA.cs:
# 7| exit set_P2 (normal)
#-----| -> exit set_P2
#-----| -> exit set_P2
MultiImplementationB.cs:
# 4| exit set_P2 (normal)
#-----| -> exit set_P2
#-----| -> exit set_P2
# 4| {...}
#-----| -> exit set_P2 (normal)
#-----| -> exit set_P2 (normal)
MultiImplementationA.cs:
# 8| enter M
#-----| -> null
#-----| -> 2
MultiImplementationB.cs:
# 5| enter M
#-----| -> null
#-----| -> 2
MultiImplementationA.cs:
# 8| exit M
MultiImplementationB.cs:
# 5| exit M
MultiImplementationA.cs:
# 8| exit M (abnormal)
#-----| -> exit M
#-----| -> exit M
MultiImplementationB.cs:
# 5| exit M (abnormal)
#-----| -> exit M
#-----| -> exit M
MultiImplementationA.cs:
# 8| exit M (normal)
#-----| -> exit M
#-----| -> exit M
MultiImplementationB.cs:
# 5| exit M (normal)
#-----| -> exit M
#-----| -> exit M
# 5| 2
#-----| -> exit M (normal)
#-----| -> exit M (normal)
# 11| ... = ...
#-----| -> this access
# 11| this access
#-----| -> 1
# 11| 1
#-----| -> ... = ...
MultiImplementationA.cs:
# 14| enter get_Item
#-----| -> access to parameter i
#-----| -> null
MultiImplementationB.cs:
# 12| enter get_Item
#-----| -> access to parameter i
#-----| -> null
# 12| throw ...
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
MultiImplementationA.cs:
# 14| exit get_Item
MultiImplementationB.cs:
# 12| exit get_Item
MultiImplementationA.cs:
# 14| exit get_Item (abnormal)
#-----| -> exit get_Item
#-----| -> exit get_Item
MultiImplementationB.cs:
# 12| exit get_Item (abnormal)
#-----| -> exit get_Item
#-----| -> exit get_Item
MultiImplementationA.cs:
# 14| exit get_Item (normal)
#-----| -> exit get_Item
#-----| -> exit get_Item
MultiImplementationB.cs:
# 12| exit get_Item (normal)
#-----| -> exit get_Item
#-----| -> exit get_Item
# 12| null
#-----| -> throw ...
MultiImplementationA.cs:
# 15| enter get_Item
#-----| -> {...}
#-----| -> {...}
MultiImplementationB.cs:
# 13| enter get_Item
#-----| -> {...}
#-----| -> {...}
MultiImplementationA.cs:
# 15| exit get_Item
MultiImplementationB.cs:
# 13| exit get_Item
MultiImplementationA.cs:
# 15| exit get_Item (abnormal)
#-----| -> exit get_Item
#-----| -> exit get_Item
MultiImplementationB.cs:
# 13| exit get_Item (abnormal)
#-----| -> exit get_Item
#-----| -> exit get_Item
MultiImplementationA.cs:
# 15| exit get_Item (normal)
#-----| -> exit get_Item
#-----| -> exit get_Item
MultiImplementationB.cs:
# 13| exit get_Item (normal)
#-----| -> exit get_Item
#-----| -> exit get_Item
# 13| {...}
#-----| -> null
# 13| throw ...;
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
# 13| null
#-----| -> throw ...;
MultiImplementationA.cs:
# 15| enter set_Item
#-----| -> {...}
#-----| -> {...}
MultiImplementationB.cs:
# 13| enter set_Item
#-----| -> {...}
#-----| -> {...}
MultiImplementationA.cs:
# 15| exit set_Item
MultiImplementationB.cs:
# 13| exit set_Item
MultiImplementationA.cs:
# 15| exit set_Item (normal)
#-----| -> exit set_Item
#-----| -> exit set_Item
MultiImplementationB.cs:
# 13| exit set_Item (normal)
#-----| -> exit set_Item
#-----| -> exit set_Item
# 13| {...}
#-----| -> exit set_Item (normal)
#-----| -> exit set_Item (normal)
MultiImplementationA.cs:
# 16| enter M1
#-----| -> {...}
#-----| -> {...}
MultiImplementationB.cs:
# 14| enter M1
#-----| -> {...}
#-----| -> {...}
MultiImplementationA.cs:
# 16| exit M1
MultiImplementationB.cs:
# 14| exit M1
MultiImplementationA.cs:
# 16| exit M1 (normal)
#-----| -> exit M1
#-----| -> exit M1
MultiImplementationB.cs:
# 14| exit M1 (normal)
#-----| -> exit M1
#-----| -> exit M1
# 15| {...}
#-----| -> M2(...)
# 16| enter M2
#-----| -> null
# 16| M2(...)
#-----| -> exit M1 (normal)
#-----| -> exit M1 (normal)
# 16| exit M2
# 16| exit M2 (abnormal)
#-----| -> exit M2
# 16| throw ...
#-----| exception(NullReferenceException) -> exit M2 (abnormal)
# 16| null
#-----| -> throw ...
MultiImplementationA.cs:
# 20| enter C2
#-----| -> call to constructor Object
#-----| -> call to constructor Object
MultiImplementationB.cs:
# 18| enter C2
#-----| -> call to constructor Object
#-----| -> call to constructor Object
# 18| call to constructor Object
#-----| -> this access
MultiImplementationA.cs:
# 20| exit C2
MultiImplementationB.cs:
# 18| exit C2
MultiImplementationA.cs:
# 20| exit C2 (abnormal)
#-----| -> exit C2
#-----| -> exit C2
MultiImplementationB.cs:
# 18| exit C2 (abnormal)
#-----| -> exit C2
#-----| -> exit C2
MultiImplementationA.cs:
# 20| exit C2 (normal)
#-----| -> exit C2
#-----| -> exit C2
MultiImplementationB.cs:
# 18| exit C2 (normal)
#-----| -> exit C2
#-----| -> exit C2
# 18| {...}
#-----| -> null
# 18| throw ...;
#-----| exception(NullReferenceException) -> exit C2 (abnormal)
#-----| exception(NullReferenceException) -> exit C2 (abnormal)
# 18| null
#-----| -> throw ...;
MultiImplementationA.cs:
# 21| enter C2
#-----| -> 0
#-----| -> 1
MultiImplementationB.cs:
# 19| enter C2
#-----| -> 0
#-----| -> 1
MultiImplementationA.cs:
# 21| exit C2
MultiImplementationB.cs:
# 19| exit C2
MultiImplementationA.cs:
# 21| exit C2 (normal)
#-----| -> exit C2
#-----| -> exit C2
MultiImplementationB.cs:
# 19| exit C2 (normal)
#-----| -> exit C2
#-----| -> exit C2
# 19| call to constructor C2
#-----| -> {...}
# 19| 1
#-----| -> call to constructor C2
# 19| {...}
#-----| -> exit C2 (normal)
#-----| -> exit C2 (normal)
MultiImplementationA.cs:
# 22| enter ~C2
#-----| -> {...}
#-----| -> {...}
MultiImplementationB.cs:
# 20| enter ~C2
#-----| -> {...}
#-----| -> {...}
MultiImplementationA.cs:
# 22| exit ~C2
MultiImplementationB.cs:
# 20| exit ~C2
MultiImplementationA.cs:
# 22| exit ~C2 (abnormal)
#-----| -> exit ~C2
#-----| -> exit ~C2
MultiImplementationB.cs:
# 20| exit ~C2 (abnormal)
#-----| -> exit ~C2
#-----| -> exit ~C2
MultiImplementationA.cs:
# 22| exit ~C2 (normal)
#-----| -> exit ~C2
#-----| -> exit ~C2
MultiImplementationB.cs:
# 20| exit ~C2 (normal)
#-----| -> exit ~C2
#-----| -> exit ~C2
# 20| {...}
#-----| -> null
# 20| throw ...;
#-----| exception(NullReferenceException) -> exit ~C2 (abnormal)
#-----| exception(NullReferenceException) -> exit ~C2 (abnormal)
# 20| null
#-----| -> throw ...;
MultiImplementationA.cs:
# 23| enter implicit conversion
#-----| -> null
#-----| -> null
MultiImplementationB.cs:
# 21| enter implicit conversion
#-----| -> null
#-----| -> null
MultiImplementationA.cs:
# 23| exit implicit conversion
MultiImplementationB.cs:
# 21| exit implicit conversion
MultiImplementationA.cs:
# 23| exit implicit conversion (abnormal)
#-----| -> exit implicit conversion
#-----| -> exit implicit conversion
MultiImplementationB.cs:
# 21| exit implicit conversion (abnormal)
#-----| -> exit implicit conversion
#-----| -> exit implicit conversion
MultiImplementationA.cs:
# 23| exit implicit conversion (normal)
#-----| -> exit implicit conversion
#-----| -> exit implicit conversion
MultiImplementationB.cs:
# 21| exit implicit conversion (normal)
#-----| -> exit implicit conversion
#-----| -> exit implicit conversion
# 21| throw ...
#-----| exception(NullReferenceException) -> exit implicit conversion (abnormal)
#-----| exception(NullReferenceException) -> exit implicit conversion (abnormal)
# 21| null
#-----| -> throw ...
# 22| access to property P
#-----| -> ... = ...
# 22| this access
#-----| -> 1
# 22| ... = ...
#-----| -> {...}
# 22| 1
#-----| -> access to property P
MultiImplementationA.cs:
# 30| enter get_P3
#-----| -> null
MultiImplementationB.cs:
# 27| enter get_P3
#-----| -> null
MultiImplementationA.cs:
# 30| exit get_P3
MultiImplementationB.cs:
# 27| exit get_P3
MultiImplementationA.cs:
# 30| exit get_P3 (abnormal)
#-----| -> exit get_P3
#-----| -> exit get_P3
MultiImplementationB.cs:
# 27| exit get_P3 (abnormal)
#-----| -> exit get_P3
#-----| -> exit get_P3
MultiImplementationA.cs:
# 36| enter M1
#-----| -> {...}
#-----| -> 0
MultiImplementationB.cs:
# 32| enter M1
#-----| -> {...}
#-----| -> 0
MultiImplementationA.cs:
# 36| exit M1
MultiImplementationB.cs:
# 32| exit M1
MultiImplementationA.cs:
# 36| exit M1 (abnormal)
#-----| -> exit M1
#-----| -> exit M1
MultiImplementationB.cs:
# 32| exit M1 (abnormal)
#-----| -> exit M1
#-----| -> exit M1
MultiImplementationA.cs:
# 36| exit M1 (normal)
#-----| -> exit M1
#-----| -> exit M1
MultiImplementationB.cs:
# 32| exit M1 (normal)
#-----| -> exit M1
#-----| -> exit M1
# 32| 0
#-----| -> exit M1 (normal)
#-----| -> exit M1 (normal)
NullCoalescing.cs:
# 3| enter M1
#-----| -> access to parameter i
# 3| exit M1
# 3| exit M1 (normal)
#-----| -> exit M1
# 3| ... ?? ...
#-----| -> exit M1 (normal)
# 3| access to parameter i
#-----| non-null -> ... ?? ...
#-----| null -> 0
# 3| 0
#-----| -> ... ?? ...
# 5| enter M2
#-----| -> access to parameter b
# 5| exit M2
# 5| exit M2 (normal)
#-----| -> exit M2
# 5| ... ? ... : ...
#-----| -> exit M2 (normal)
# 5| [false] ... ?? ...
#-----| false -> 1
# 5| [true] ... ?? ...
#-----| true -> 0
# 5| access to parameter b
#-----| false -> [false] ... ?? ...
#-----| true -> [true] ... ?? ...
#-----| null -> false
# 5| false
#-----| false -> [false] ... ?? ...
# 5| 0
#-----| -> ... ? ... : ...
# 5| 1
#-----| -> ... ? ... : ...
# 7| enter M3
#-----| -> access to parameter s1
# 7| exit M3
# 7| exit M3 (normal)
#-----| -> exit M3
# 7| ... ?? ...
#-----| -> exit M3 (normal)
# 7| access to parameter s1
#-----| non-null -> ... ?? ...
#-----| null -> access to parameter s2
# 7| ... ?? ...
#-----| -> ... ?? ...
# 7| access to parameter s2
#-----| non-null -> ... ?? ...
#-----| null -> ""
# 7| ""
#-----| -> ... ?? ...
# 9| enter M4
#-----| -> access to parameter b
# 9| exit M4
# 9| exit M4 (normal)
#-----| -> exit M4
# 9| ... ?? ...
#-----| -> exit M4 (normal)
# 9| [non-null] ... ? ... : ...
#-----| non-null -> ... ?? ...
# 9| [null] ... ? ... : ...
#-----| null -> ""
# 9| access to parameter b
#-----| true -> access to parameter s
#-----| false -> access to parameter s
# 9| access to parameter s
#-----| non-null -> [non-null] ... ? ... : ...
#-----| null -> [null] ... ? ... : ...
# 9| access to parameter s
#-----| non-null -> [non-null] ... ? ... : ...
#-----| null -> [null] ... ? ... : ...
# 9| ... ?? ...
#-----| -> ... ?? ...
# 9| ""
#-----| non-null -> ... ?? ...
# 11| enter M5
#-----| -> access to parameter b1
# 11| exit M5
# 11| exit M5 (normal)
#-----| -> exit M5
# 11| ... ? ... : ...
#-----| -> exit M5 (normal)
# 11| [false] ... ?? ...
#-----| false -> 1
# 11| [true] ... ?? ...
#-----| true -> 0
# 11| access to parameter b1
#-----| false -> [false] ... ?? ...
#-----| true -> [true] ... ?? ...
#-----| null -> access to parameter b2
# 11| [false] ... && ...
#-----| false -> [false] ... ?? ...
# 11| [true] ... && ...
#-----| true -> [true] ... ?? ...
# 11| access to parameter b2
#-----| false -> [false] ... && ...
#-----| true -> access to parameter b3
# 11| access to parameter b3
#-----| false -> [false] ... && ...
#-----| true -> [true] ... && ...
# 11| 0
#-----| -> ... ? ... : ...
# 11| 1
#-----| -> ... ? ... : ...
# 13| enter M6
#-----| -> {...}
# 13| exit M6
# 13| exit M6 (normal)
#-----| -> exit M6
# 14| {...}
#-----| -> ... ...;
# 15| ... ...;
#-----| -> null
# 15| Int32 j = ...
#-----| -> ... ...;
# 15| ... ?? ...
#-----| -> Int32 j = ...
# 15| (...) ...
#-----| null -> 0
# 15| null
#-----| -> (...) ...
# 15| 0
#-----| -> ... ?? ...
# 16| ... ...;
#-----| -> ""
# 16| String s = ...
#-----| -> ...;
# 16| ... ?? ...
#-----| -> String s = ...
# 16| ""
#-----| non-null -> ... ?? ...
# 17| ...;
#-----| -> access to parameter i
# 17| ... = ...
#-----| -> exit M6 (normal)
# 17| ... ?? ...
#-----| -> ... = ...
# 17| (...) ...
#-----| non-null -> ... ?? ...
# 17| access to parameter i
#-----| -> (...) ...
PartialImplementationA.cs:
# 3| enter Partial
#-----| -> call to constructor Object
# 3| call to constructor Object
#-----| -> this access
# 3| exit Partial
# 3| exit Partial (normal)
#-----| -> exit Partial
# 3| {...}
#-----| -> exit Partial (normal)
PartialImplementationB.cs:
# 3| ... = ...
#-----| -> this access
# 3| this access
#-----| -> 0
# 3| ... = ...
#-----| -> this access
# 3| this access
#-----| -> 0
# 3| 0
#-----| -> ... = ...
# 3| 0
#-----| -> ... = ...
# 4| enter Partial
#-----| -> call to constructor Object
# 4| call to constructor Object
#-----| -> this access
# 4| exit Partial
# 4| exit Partial (normal)
#-----| -> exit Partial
# 4| {...}
#-----| -> exit Partial (normal)
# 5| access to property P
#-----| -> ... = ...
# 5| this access
#-----| -> 0
# 5| access to property P
#-----| -> ... = ...
# 5| this access
#-----| -> 0
# 5| ... = ...
#-----| -> {...}
# 5| ... = ...
#-----| -> {...}
# 5| 0
#-----| -> access to property P
# 5| 0
#-----| -> access to property P
Patterns.cs:
# 5| enter M1
#-----| -> {...}
# 5| exit M1
# 5| exit M1 (normal)
#-----| -> exit M1
# 6| {...}
#-----| -> ... ...;
# 7| ... ...;
#-----| -> null
# 7| Object o = ...
#-----| -> if (...) ...
# 7| null
#-----| -> Object o = ...
# 8| if (...) ...
#-----| -> access to local variable o
# 8| [false] ... is ...
#-----| false -> if (...) ...
# 8| [true] ... is ...
#-----| true -> {...}
# 8| access to local variable o
#-----| -> Int32 i1
# 8| Int32 i1
#-----| no-match -> [false] ... is ...
#-----| match -> [true] ... is ...
# 9| {...}
#-----| -> ...;
# 10| ...;
#-----| -> "int "
# 10| call to method WriteLine
#-----| -> switch (...) {...}
# 10| $"..."
#-----| -> call to method WriteLine
# 10| "int "
#-----| -> access to local variable i1
# 10| access to local variable i1
#-----| -> $"..."
# 12| if (...) ...
#-----| -> access to local variable o
# 12| [false] ... is ...
#-----| false -> if (...) ...
# 12| [true] ... is ...
#-----| true -> {...}
# 12| access to local variable o
#-----| -> String s1
# 12| String s1
#-----| no-match -> [false] ... is ...
#-----| match -> [true] ... is ...
# 13| {...}
#-----| -> ...;
# 14| ...;
#-----| -> "string "
# 14| call to method WriteLine
#-----| -> switch (...) {...}
# 14| $"..."
#-----| -> call to method WriteLine
# 14| "string "
#-----| -> access to local variable s1
# 14| access to local variable s1
#-----| -> $"..."
# 16| if (...) ...
#-----| -> access to local variable o
# 16| [false] ... is ...
#-----| false -> switch (...) {...}
# 16| [true] ... is ...
#-----| true -> {...}
# 16| access to local variable o
#-----| -> Object v1
# 16| Object v1
#-----| no-match -> [false] ... is ...
#-----| match -> [true] ... is ...
# 17| {...}
#-----| -> switch (...) {...}
# 20| switch (...) {...}
#-----| -> access to local variable o
# 20| access to local variable o
#-----| -> case ...:
# 22| case ...:
#-----| -> "xyz"
# 22| "xyz"
#-----| match -> break;
#-----| no-match -> case ...:
# 23| break;
#-----| break -> switch (...) {...}
# 24| case ...:
#-----| -> Int32 i2
# 24| Int32 i2
#-----| no-match -> case ...:
#-----| match -> access to local variable i2
# 24| ... > ...
#-----| true -> ...;
#-----| false -> case ...:
# 24| access to local variable i2
#-----| -> 0
# 24| 0
#-----| -> ... > ...
# 25| ...;
#-----| -> "positive "
# 25| call to method WriteLine
#-----| -> break;
# 25| $"..."
#-----| -> call to method WriteLine
# 25| "positive "
#-----| -> access to local variable i2
# 25| access to local variable i2
#-----| -> $"..."
# 26| break;
#-----| break -> switch (...) {...}
# 27| case ...:
#-----| -> Int32 i3
# 27| Int32 i3
#-----| match -> ...;
#-----| no-match -> case ...:
# 28| ...;
#-----| -> "int "
# 28| call to method WriteLine
#-----| -> break;
# 28| $"..."
#-----| -> call to method WriteLine
# 28| "int "
#-----| -> access to local variable i3
# 28| access to local variable i3
#-----| -> $"..."
# 29| break;
#-----| break -> switch (...) {...}
# 30| case ...:
#-----| -> String s2
# 30| String s2
#-----| match -> ...;
#-----| no-match -> case ...:
# 31| ...;
#-----| -> "string "
# 31| call to method WriteLine
#-----| -> break;
# 31| $"..."
#-----| -> call to method WriteLine
# 31| "string "
#-----| -> access to local variable s2
# 31| access to local variable s2
#-----| -> $"..."
# 32| break;
#-----| break -> switch (...) {...}
# 33| case ...:
#-----| -> Object v2
# 33| Object v2
#-----| match -> break;
#-----| no-match -> default:
# 34| break;
#-----| break -> switch (...) {...}
# 35| default:
#-----| -> ...;
# 36| ...;
#-----| -> "Something else"
# 36| call to method WriteLine
#-----| -> break;
# 36| "Something else"
#-----| -> call to method WriteLine
# 37| break;
#-----| break -> switch (...) {...}
# 40| switch (...) {...}
#-----| -> access to local variable o
# 40| access to local variable o
#-----| -> exit M1 (normal)
# 47| enter M2
#-----| -> access to parameter c
# 47| exit M2
# 47| exit M2 (normal)
#-----| -> exit M2
# 48| ... is ...
#-----| -> exit M2 (normal)
# 48| access to parameter c
#-----| -> a
# 48| not ...
#-----| -> ... is ...
# 48| a
#-----| -> not ...
# 50| enter M3
#-----| -> access to parameter c
# 50| exit M3
# 50| exit M3 (normal)
#-----| -> exit M3
# 51| ... ? ... : ...
#-----| -> exit M3 (normal)
# 51| [false] ... is ...
#-----| false -> access to parameter c
# 51| [true] ... is ...
#-----| true -> access to parameter c
# 51| access to parameter c
#-----| -> null
# 51| [no-match] not ...
#-----| no-match -> [false] ... is ...
# 51| [match] not ...
#-----| match -> [true] ... is ...
# 51| null
#-----| match -> [no-match] not ...
#-----| no-match -> [match] not ...
# 51| ... is ...
#-----| -> ... ? ... : ...
# 51| access to parameter c
#-----| -> 1
# 51| 1
#-----| -> ... is ...
# 51| ... is ...
#-----| -> ... ? ... : ...
# 51| access to parameter c
#-----| -> 2
# 51| 2
#-----| -> ... is ...
# 53| enter M4
#-----| -> access to parameter c
# 53| exit M4
# 53| exit M4 (normal)
#-----| -> exit M4
# 54| ... is ...
#-----| -> exit M4 (normal)
# 54| access to parameter c
#-----| -> Patterns u
# 54| not ...
#-----| -> ... is ...
# 54| { ... }
#-----| -> not ...
# 54| Patterns u
#-----| no-match -> { ... }
#-----| match -> 1
# 54| [no-match] { ... }
#-----| no-match -> { ... }
# 54| [match] { ... }
#-----| match -> { ... }
# 54| 1
#-----| no-match -> [no-match] { ... }
#-----| match -> [match] { ... }
# 56| enter M5
#-----| -> {...}
# 56| exit M5
# 56| exit M5 (normal)
#-----| -> exit M5
# 57| {...}
#-----| -> access to parameter i
# 58| return ...;
#-----| return -> exit M5 (normal)
# 58| ... switch { ... }
#-----| -> return ...;
# 58| access to parameter i
#-----| -> 1
# 60| ... => ...
#-----| -> ... switch { ... }
# 60| [no-match] not ...
#-----| no-match -> _
# 60| [match] not ...
#-----| match -> "not 1"
# 60| 1
#-----| match -> [no-match] not ...
#-----| no-match -> [match] not ...
# 60| "not 1"
#-----| -> ... => ...
# 61| ... => ...
#-----| -> ... switch { ... }
# 61| _
#-----| match -> "other"
# 61| "other"
#-----| -> ... => ...
# 65| enter M6
#-----| -> {...}
# 65| exit M6
# 65| exit M6 (normal)
#-----| -> exit M6
# 66| {...}
#-----| -> 2
# 67| return ...;
#-----| return -> exit M6 (normal)
# 67| ... switch { ... }
#-----| -> return ...;
# 67| 2
#-----| -> 2
# 69| [no-match] not ...
#-----| no-match -> 2
# 69| 2
#-----| match -> [no-match] not ...
# 70| ... => ...
#-----| -> ... switch { ... }
# 70| 2
#-----| match -> "possible"
# 70| "possible"
#-----| -> ... => ...
# 74| enter M7
#-----| -> {...}
# 74| exit M7
# 74| exit M7 (normal)
#-----| -> exit M7
# 75| {...}
#-----| -> access to parameter i
# 76| return ...;
#-----| return -> exit M7 (normal)
# 76| ... switch { ... }
#-----| -> return ...;
# 76| access to parameter i
#-----| -> 1
# 78| ... => ...
#-----| -> ... switch { ... }
# 78| > ...
#-----| match -> "> 1"
#-----| no-match -> 0
# 78| 1
#-----| -> > ...
# 78| "> 1"
#-----| -> ... => ...
# 79| ... => ...
#-----| -> ... switch { ... }
# 79| < ...
#-----| match -> "< 0"
#-----| no-match -> 1
# 79| 0
#-----| -> < ...
# 79| "< 0"
#-----| -> ... => ...
# 80| ... => ...
#-----| -> ... switch { ... }
# 80| 1
#-----| match -> "1"
#-----| no-match -> _
# 80| "1"
#-----| -> ... => ...
# 81| ... => ...
#-----| -> ... switch { ... }
# 81| _
#-----| match -> "0"
# 81| "0"
#-----| -> ... => ...
# 85| enter M8
#-----| -> access to parameter i
# 85| exit M8
# 85| exit M8 (normal)
#-----| -> exit M8
# 85| ... ? ... : ...
#-----| -> exit M8 (normal)
# 85| [false] ... is ...
#-----| false -> "2"
# 85| [true] ... is ...
#-----| true -> "not 2"
# 85| access to parameter i
#-----| -> 1
# 85| [no-match] ... or ...
#-----| no-match -> [false] ... is ...
# 85| [match] ... or ...
#-----| match -> [true] ... is ...
# 85| 1
#-----| match -> [match] ... or ...
#-----| no-match -> 2
# 85| [no-match] not ...
#-----| no-match -> [no-match] ... or ...
# 85| [match] not ...
#-----| match -> [match] ... or ...
# 85| 2
#-----| match -> [no-match] not ...
#-----| no-match -> [match] not ...
# 85| "not 2"
#-----| -> ... ? ... : ...
# 85| "2"
#-----| -> ... ? ... : ...
# 87| enter M9
#-----| -> access to parameter i
# 87| exit M9
# 87| exit M9 (normal)
#-----| -> exit M9
# 87| ... ? ... : ...
#-----| -> exit M9 (normal)
# 87| [false] ... is ...
#-----| false -> "not 1"
# 87| [true] ... is ...
#-----| true -> "1"
# 87| access to parameter i
#-----| -> 1
# 87| [no-match] ... and ...
#-----| no-match -> [false] ... is ...
# 87| [match] ... and ...
#-----| match -> [true] ... is ...
# 87| 1
#-----| no-match -> [no-match] ... and ...
#-----| match -> 2
# 87| [no-match] not ...
#-----| no-match -> [no-match] ... and ...
# 87| [match] not ...
#-----| match -> [match] ... and ...
# 87| 2
#-----| match -> [no-match] not ...
#-----| no-match -> [match] not ...
# 87| "1"
#-----| -> ... ? ... : ...
# 87| "not 1"
#-----| -> ... ? ... : ...
# 93| enter M10
#-----| -> {...}
# 93| exit M10
# 93| exit M10 (normal)
#-----| -> exit M10
# 94| {...}
#-----| -> if (...) ...
# 95| if (...) ...
#-----| -> this access
# 95| [false] ... is ...
#-----| false -> exit M10 (normal)
# 95| [true] ... is ...
#-----| true -> {...}
# 95| this access
#-----| -> access to constant A
# 95| [no-match] { ... }
#-----| no-match -> [false] ... is ...
# 95| [match] { ... }
#-----| match -> [true] ... is ...
# 95| [no-match] { ... }
#-----| no-match -> [no-match] { ... }
# 95| [match] { ... }
#-----| match -> [match] { ... }
# 95| [no-match] ... or ...
#-----| no-match -> [no-match] { ... }
# 95| [match] ... or ...
#-----| match -> [match] { ... }
# 95| access to constant A
#-----| match -> [match] ... or ...
#-----| no-match -> access to constant B
# 95| access to constant B
#-----| no-match -> [no-match] ... or ...
#-----| match -> [match] ... or ...
# 96| {...}
#-----| -> ...;
# 97| ...;
#-----| -> "not C"
# 97| call to method WriteLine
#-----| -> exit M10 (normal)
# 97| "not C"
#-----| -> call to method WriteLine
PostDominance.cs:
# 5| enter M1
#-----| -> {...}
# 5| exit M1
# 5| exit M1 (normal)
#-----| -> exit M1
# 6| {...}
#-----| -> ...;
# 7| ...;
#-----| -> access to parameter s
# 7| call to method WriteLine
#-----| -> exit M1 (normal)
# 7| access to parameter s
#-----| -> call to method WriteLine
# 10| enter M2
#-----| -> {...}
# 10| exit M2
# 10| exit M2 (normal)
#-----| -> exit M2
# 11| {...}
#-----| -> if (...) ...
# 12| if (...) ...
#-----| -> access to parameter s
# 12| [false] ... is ...
#-----| false -> ...;
# 12| [true] ... is ...
#-----| true -> return ...;
# 12| access to parameter s
#-----| -> null
# 12| null
#-----| no-match -> [false] ... is ...
#-----| match -> [true] ... is ...
# 13| return ...;
#-----| return -> exit M2 (normal)
# 14| ...;
#-----| -> access to parameter s
# 14| call to method WriteLine
#-----| -> exit M2 (normal)
# 14| access to parameter s
#-----| -> call to method WriteLine
# 17| enter M3
#-----| -> {...}
# 17| exit M3
# 17| exit M3 (abnormal)
#-----| -> exit M3
# 17| exit M3 (normal)
#-----| -> exit M3
# 18| {...}
#-----| -> if (...) ...
# 19| if (...) ...
#-----| -> access to parameter s
# 19| [false] ... is ...
#-----| false -> ...;
# 19| [true] ... is ...
#-----| true -> nameof(...)
# 19| access to parameter s
#-----| -> null
# 19| null
#-----| no-match -> [false] ... is ...
#-----| match -> [true] ... is ...
# 20| throw ...;
#-----| exception(ArgumentNullException) -> exit M3 (abnormal)
# 20| object creation of type ArgumentNullException
#-----| -> throw ...;
# 20| nameof(...)
#-----| -> object creation of type ArgumentNullException
# 21| ...;
#-----| -> access to parameter s
# 21| call to method WriteLine
#-----| -> exit M3 (normal)
# 21| access to parameter s
#-----| -> call to method WriteLine
Qualifiers.cs:
# 7| enter Method
#-----| -> null
# 7| exit Method
# 7| exit Method (normal)
#-----| -> exit Method
# 7| null
#-----| -> exit Method (normal)
# 8| enter StaticMethod
#-----| -> null
# 8| exit StaticMethod
# 8| exit StaticMethod (normal)
#-----| -> exit StaticMethod
# 8| null
#-----| -> exit StaticMethod (normal)
# 10| enter M
#-----| -> {...}
# 10| exit M
# 10| exit M (normal)
#-----| -> exit M
# 11| {...}
#-----| -> ... ...;
# 12| ... ...;
#-----| -> this access
# 12| Qualifiers q = ...
#-----| -> ...;
# 12| access to field Field
#-----| -> Qualifiers q = ...
# 12| this access
#-----| -> access to field Field
# 13| ...;
#-----| -> this access
# 13| ... = ...
#-----| -> ...;
# 13| access to property Property
#-----| -> ... = ...
# 13| this access
#-----| -> access to property Property
# 14| ...;
#-----| -> this access
# 14| ... = ...
#-----| -> ...;
# 14| call to method Method
#-----| -> ... = ...
# 14| this access
#-----| -> call to method Method
# 16| ...;
#-----| -> this access
# 16| ... = ...
#-----| -> ...;
# 16| access to field Field
#-----| -> ... = ...
# 16| this access
#-----| -> access to field Field
# 17| ...;
#-----| -> this access
# 17| ... = ...
#-----| -> ...;
# 17| access to property Property
#-----| -> ... = ...
# 17| this access
#-----| -> access to property Property
# 18| ...;
#-----| -> this access
# 18| ... = ...
#-----| -> ...;
# 18| call to method Method
#-----| -> ... = ...
# 18| this access
#-----| -> call to method Method
# 20| ...;
#-----| -> access to field StaticField
# 20| ... = ...
#-----| -> ...;
# 20| access to field StaticField
#-----| -> ... = ...
# 21| ...;
#-----| -> access to property StaticProperty
# 21| ... = ...
#-----| -> ...;
# 21| access to property StaticProperty
#-----| -> ... = ...
# 22| ...;
#-----| -> call to method StaticMethod
# 22| ... = ...
#-----| -> ...;
# 22| call to method StaticMethod
#-----| -> ... = ...
# 24| ...;
#-----| -> access to field StaticField
# 24| ... = ...
#-----| -> ...;
# 24| access to field StaticField
#-----| -> ... = ...
# 25| ...;
#-----| -> access to property StaticProperty
# 25| ... = ...
#-----| -> ...;
# 25| access to property StaticProperty
#-----| -> ... = ...
# 26| ...;
#-----| -> call to method StaticMethod
# 26| ... = ...
#-----| -> ...;
# 26| call to method StaticMethod
#-----| -> ... = ...
# 28| ...;
#-----| -> access to field StaticField
# 28| ... = ...
#-----| -> ...;
# 28| access to field Field
#-----| -> ... = ...
# 28| access to field StaticField
#-----| -> access to field Field
# 29| ...;
#-----| -> access to property StaticProperty
# 29| ... = ...
#-----| -> ...;
# 29| access to property Property
#-----| -> ... = ...
# 29| access to property StaticProperty
#-----| -> access to property Property
# 30| ...;
#-----| -> call to method StaticMethod
# 30| ... = ...
#-----| -> exit M (normal)
# 30| call to method Method
#-----| -> ... = ...
# 30| call to method StaticMethod
#-----| -> call to method Method
Switch.cs:
# 5| enter M1
#-----| -> {...}
# 5| exit M1
# 5| exit M1 (normal)
#-----| -> exit M1
# 6| {...}
#-----| -> switch (...) {...}
# 7| switch (...) {...}
#-----| -> access to parameter o
# 7| access to parameter o
#-----| -> exit M1 (normal)
# 10| enter M2
#-----| -> {...}
# 10| exit M2
# 10| exit M2 (abnormal)
#-----| -> exit M2
# 10| exit M2 (normal)
#-----| -> exit M2
# 11| {...}
#-----| -> switch (...) {...}
# 12| switch (...) {...}
#-----| -> access to parameter o
# 12| access to parameter o
#-----| -> case ...:
# 14| case ...:
#-----| -> "a"
# 14| "a"
#-----| match -> return ...;
#-----| no-match -> case ...:
# 15| return ...;
#-----| return -> exit M2 (normal)
# 16| case ...:
#-----| -> 0
# 16| 0
#-----| match -> object creation of type Exception
#-----| no-match -> case ...:
# 17| throw ...;
#-----| exception(Exception) -> exit M2 (abnormal)
# 17| object creation of type Exception
#-----| -> throw ...;
# 18| case ...:
#-----| -> null
# 18| null
#-----| match -> goto default;
#-----| no-match -> case ...:
# 19| goto default;
#-----| goto(default) -> default:
# 20| case ...:
#-----| -> Int32 i
# 20| Int32 i
#-----| match -> if (...) ...
#-----| no-match -> case ...:
# 21| if (...) ...
#-----| -> access to parameter o
# 21| ... == ...
#-----| true -> return ...;
#-----| false -> 0
# 21| access to parameter o
#-----| -> null
# 21| null
#-----| -> ... == ...
# 22| return ...;
#-----| return -> exit M2 (normal)
# 23| goto case ...;
#-----| goto(0) -> case ...:
# 23| 0
#-----| -> goto case ...;
# 24| case ...:
#-----| -> String s
# 24| String s
#-----| no-match -> case ...:
#-----| match -> access to local variable s
# 24| [false] ... && ...
#-----| false -> case ...:
# 24| [true] ... && ...
#-----| true -> ...;
# 24| ... > ...
#-----| false -> [false] ... && ...
#-----| true -> access to local variable s
# 24| access to property Length
#-----| -> 0
# 24| access to local variable s
#-----| -> access to property Length
# 24| 0
#-----| -> ... > ...
# 24| ... != ...
#-----| false -> [false] ... && ...
#-----| true -> [true] ... && ...
# 24| access to local variable s
#-----| -> "a"
# 24| "a"
#-----| -> ... != ...
# 25| ...;
#-----| -> access to local variable s
# 25| call to method WriteLine
#-----| -> return ...;
# 25| access to local variable s
#-----| -> call to method WriteLine
# 26| return ...;
#-----| return -> exit M2 (normal)
# 27| case ...:
#-----| -> Double d
# 27| Double d
#-----| match -> call to method Throw
#-----| no-match -> default:
# 27| call to method Throw
#-----| exception(Exception) -> exit M2 (abnormal)
# 28| Label:
#-----| -> return ...;
# 29| return ...;
#-----| return -> exit M2 (normal)
# 30| default:
#-----| -> goto ...;
# 31| goto ...;
#-----| goto(Label) -> Label:
# 35| enter M3
#-----| -> {...}
# 35| exit M3
# 35| exit M3 (abnormal)
#-----| -> exit M3
# 36| {...}
#-----| -> switch (...) {...}
# 37| switch (...) {...}
#-----| -> call to method Throw
# 37| call to method Throw
#-----| exception(Exception) -> exit M3 (abnormal)
# 44| enter M4
#-----| -> {...}
# 44| exit M4
# 44| exit M4 (normal)
#-----| -> exit M4
# 45| {...}
#-----| -> switch (...) {...}
# 46| switch (...) {...}
#-----| -> access to parameter o
# 46| access to parameter o
#-----| -> case ...:
# 48| case ...:
#-----| -> access to type Int32
# 48| access to type Int32
#-----| match -> break;
#-----| no-match -> case ...:
# 49| break;
#-----| break -> exit M4 (normal)
# 50| case ...:
#-----| -> access to type Boolean
# 50| access to type Boolean
#-----| match -> access to parameter o
#-----| no-match -> exit M4 (normal)
# 50| ... != ...
#-----| true -> break;
#-----| false -> exit M4 (normal)
# 50| access to parameter o
#-----| -> null
# 50| null
#-----| -> ... != ...
# 51| break;
#-----| break -> exit M4 (normal)
# 55| enter M5
#-----| -> {...}
# 55| exit M5
# 55| exit M5 (normal)
#-----| -> exit M5
# 56| {...}
#-----| -> switch (...) {...}
# 57| switch (...) {...}
#-----| -> 1
# 57| ... + ...
#-----| -> case ...:
# 57| 1
#-----| -> 2
# 57| 2
#-----| -> ... + ...
# 59| case ...:
#-----| -> 2
# 59| 2
#-----| no-match -> case ...:
# 61| case ...:
#-----| -> 3
# 61| 3
#-----| match -> break;
# 62| break;
#-----| break -> exit M5 (normal)
# 66| enter M6
#-----| -> {...}
# 66| exit M6
# 66| exit M6 (normal)
#-----| -> exit M6
# 67| {...}
#-----| -> switch (...) {...}
# 68| switch (...) {...}
#-----| -> access to parameter s
# 68| (...) ...
#-----| -> case ...:
# 68| access to parameter s
#-----| -> (...) ...
# 70| case ...:
#-----| -> access to type Int32
# 70| access to type Int32
#-----| no-match -> case ...:
# 72| case ...:
#-----| -> ""
# 72| ""
#-----| match -> break;
#-----| no-match -> exit M6 (normal)
# 73| break;
#-----| break -> exit M6 (normal)
# 77| enter M7
#-----| -> {...}
# 77| exit M7
# 77| exit M7 (normal)
#-----| -> exit M7
# 78| {...}
#-----| -> switch (...) {...}
# 79| switch (...) {...}
#-----| -> access to parameter i
# 79| access to parameter i
#-----| -> case ...:
# 81| case ...:
#-----| -> 1
# 81| 1
#-----| match -> true
#-----| no-match -> case ...:
# 82| return ...;
#-----| return -> exit M7 (normal)
# 82| true
#-----| -> return ...;
# 83| case ...:
#-----| -> 2
# 83| 2
#-----| match -> if (...) ...
#-----| no-match -> false
# 84| if (...) ...
#-----| -> access to parameter j
# 84| ... > ...
#-----| true -> break;
#-----| false -> true
# 84| access to parameter j
#-----| -> 2
# 84| 2
#-----| -> ... > ...
# 85| break;
#-----| break -> false
# 86| return ...;
#-----| return -> exit M7 (normal)
# 86| true
#-----| -> return ...;
# 88| return ...;
#-----| return -> exit M7 (normal)
# 88| false
#-----| -> return ...;
# 91| enter M8
#-----| -> {...}
# 91| exit M8
# 91| exit M8 (normal)
#-----| -> exit M8
# 92| {...}
#-----| -> switch (...) {...}
# 93| switch (...) {...}
#-----| -> access to parameter o
# 93| access to parameter o
#-----| -> case ...:
# 95| case ...:
#-----| -> access to type Int32
# 95| access to type Int32
#-----| match -> true
#-----| no-match -> false
# 96| return ...;
#-----| return -> exit M8 (normal)
# 96| true
#-----| -> return ...;
# 98| return ...;
#-----| return -> exit M8 (normal)
# 98| false
#-----| -> return ...;
# 101| enter M9
#-----| -> {...}
# 101| exit M9
# 101| exit M9 (normal)
#-----| -> exit M9
# 102| {...}
#-----| -> switch (...) {...}
# 103| switch (...) {...}
#-----| -> access to parameter s
# 103| access to parameter s
#-----| non-null -> access to property Length
#-----| null -> case ...:
# 103| access to property Length
#-----| -> case ...:
# 105| case ...:
#-----| -> 0
# 105| 0
#-----| match -> 0
#-----| no-match -> case ...:
# 105| return ...;
#-----| return -> exit M9 (normal)
# 105| 0
#-----| -> return ...;
# 106| case ...:
#-----| -> 1
# 106| 1
#-----| match -> 1
#-----| no-match -> 1
# 106| return ...;
#-----| return -> exit M9 (normal)
# 106| 1
#-----| -> return ...;
# 108| return ...;
#-----| return -> exit M9 (normal)
# 108| -...
#-----| -> return ...;
# 108| 1
#-----| -> -...
# 111| enter Throw
#-----| -> object creation of type Exception
# 111| exit Throw
# 111| exit Throw (abnormal)
#-----| -> exit Throw
# 111| throw ...
#-----| exception(Exception) -> exit Throw (abnormal)
# 111| object creation of type Exception
#-----| -> throw ...
# 113| enter M10
#-----| -> {...}
# 113| exit M10
# 113| exit M10 (normal)
#-----| -> exit M10
# 114| {...}
#-----| -> switch (...) {...}
# 115| switch (...) {...}
#-----| -> access to parameter s
# 115| access to property Length
#-----| -> case ...:
# 115| access to parameter s
#-----| -> access to property Length
# 117| case ...:
#-----| -> 3
# 117| 3
#-----| no-match -> case ...:
#-----| match -> access to parameter s
# 117| ... == ...
#-----| true -> 1
#-----| false -> case ...:
# 117| access to parameter s
#-----| -> "foo"
# 117| "foo"
#-----| -> ... == ...
# 117| return ...;
#-----| return -> exit M10 (normal)
# 117| 1
#-----| -> return ...;
# 118| case ...:
#-----| -> 2
# 118| 2
#-----| no-match -> 1
#-----| match -> access to parameter s
# 118| ... == ...
#-----| true -> 2
#-----| false -> 1
# 118| access to parameter s
#-----| -> "fu"
# 118| "fu"
#-----| -> ... == ...
# 118| return ...;
#-----| return -> exit M10 (normal)
# 118| 2
#-----| -> return ...;
# 120| return ...;
#-----| return -> exit M10 (normal)
# 120| -...
#-----| -> return ...;
# 120| 1
#-----| -> -...
# 123| enter M11
#-----| -> {...}
# 123| exit M11
# 123| exit M11 (normal)
#-----| -> exit M11
# 124| {...}
#-----| -> if (...) ...
# 125| if (...) ...
#-----| -> access to parameter o
# 125| [false] ... switch { ... }
#-----| false -> exit M11 (normal)
# 125| [true] ... switch { ... }
#-----| true -> return ...;
# 125| access to parameter o
#-----| -> Boolean b
# 125| [false] ... => ...
#-----| false -> [false] ... switch { ... }
# 125| [true] ... => ...
#-----| true -> [true] ... switch { ... }
# 125| Boolean b
#-----| match -> access to local variable b
#-----| no-match -> _
# 125| access to local variable b
#-----| false -> [false] ... => ...
#-----| true -> [true] ... => ...
# 125| [false] ... => ...
#-----| false -> [false] ... switch { ... }
# 125| _
#-----| match -> false
# 125| false
#-----| false -> [false] ... => ...
# 126| return ...;
#-----| return -> exit M11 (normal)
# 129| enter M12
#-----| -> {...}
# 129| exit M12
# 129| exit M12 (normal)
#-----| -> exit M12
# 130| {...}
#-----| -> access to parameter o
# 131| return ...;
#-----| return -> exit M12 (normal)
# 131| [non-null] ... switch { ... }
#-----| non-null -> call to method ToString
# 131| [null] ... switch { ... }
#-----| null -> return ...;
# 131| access to parameter o
#-----| -> String s
# 131| [non-null] ... => ...
#-----| non-null -> [non-null] ... switch { ... }
# 131| [null] ... => ...
#-----| null -> [null] ... switch { ... }
# 131| String s
#-----| match -> access to local variable s
#-----| no-match -> _
# 131| access to local variable s
#-----| non-null -> [non-null] ... => ...
#-----| null -> [null] ... => ...
# 131| [null] ... => ...
#-----| null -> [null] ... switch { ... }
# 131| _
#-----| match -> null
# 131| null
#-----| null -> [null] ... => ...
# 131| call to method ToString
#-----| -> return ...;
# 134| enter M13
#-----| -> {...}
# 134| exit M13
# 134| exit M13 (normal)
#-----| -> exit M13
# 135| {...}
#-----| -> switch (...) {...}
# 136| switch (...) {...}
#-----| -> access to parameter i
# 136| access to parameter i
#-----| -> case ...:
# 138| default:
#-----| -> 1
# 138| return ...;
#-----| return -> exit M13 (normal)
# 138| -...
#-----| -> return ...;
# 138| 1
#-----| -> -...
# 139| case ...:
#-----| -> 1
# 139| 1
#-----| match -> 1
#-----| no-match -> case ...:
# 139| return ...;
#-----| return -> exit M13 (normal)
# 139| 1
#-----| -> return ...;
# 140| case ...:
#-----| -> 2
# 140| 2
#-----| no-match -> default:
#-----| match -> 2
# 140| return ...;
#-----| return -> exit M13 (normal)
# 140| 2
#-----| -> return ...;
# 144| enter M14
#-----| -> {...}
# 144| exit M14
# 144| exit M14 (normal)
#-----| -> exit M14
# 145| {...}
#-----| -> switch (...) {...}
# 146| switch (...) {...}
#-----| -> access to parameter i
# 146| access to parameter i
#-----| -> case ...:
# 148| case ...:
#-----| -> 1
# 148| 1
#-----| match -> 1
#-----| no-match -> case ...:
# 148| return ...;
#-----| return -> exit M14 (normal)
# 148| 1
#-----| -> return ...;
# 149| default:
#-----| -> 1
# 149| return ...;
#-----| return -> exit M14 (normal)
# 149| -...
#-----| -> return ...;
# 149| 1
#-----| -> -...
# 150| case ...:
#-----| -> 2
# 150| 2
#-----| no-match -> default:
#-----| match -> 2
# 150| return ...;
#-----| return -> exit M14 (normal)
# 150| 2
#-----| -> return ...;
# 154| enter M15
#-----| -> {...}
# 154| exit M15
# 154| exit M15 (abnormal)
#-----| -> exit M15
# 154| exit M15 (normal)
#-----| -> exit M15
# 155| {...}
#-----| -> ... ...;
# 156| ... ...;
#-----| -> access to parameter b
# 156| String s = ...
#-----| -> if (...) ...
# 156| ... switch { ... }
#-----| -> String s = ...
# 156| access to parameter b
#-----| -> true
# 156| ... => ...
#-----| -> ... switch { ... }
# 156| true
#-----| match -> "a"
#-----| no-match -> false
# 156| "a"
#-----| -> ... => ...
# 156| ... => ...
#-----| -> ... switch { ... }
# 156| false
#-----| match -> "b"
#-----| exception(InvalidOperationException) -> exit M15 (abnormal)
# 156| "b"
#-----| -> ... => ...
# 157| if (...) ...
#-----| -> access to parameter b
# 157| access to parameter b
#-----| true -> ...;
#-----| false -> ...;
# 158| ...;
#-----| -> "a = "
# 158| call to method WriteLine
#-----| -> exit M15 (normal)
# 158| $"..."
#-----| -> call to method WriteLine
# 158| "a = "
#-----| -> access to local variable s
# 158| access to local variable s
#-----| -> $"..."
# 160| ...;
#-----| -> "b = "
# 160| call to method WriteLine
#-----| -> exit M15 (normal)
# 160| $"..."
#-----| -> call to method WriteLine
# 160| "b = "
#-----| -> access to local variable s
# 160| access to local variable s
#-----| -> $"..."
TypeAccesses.cs:
# 3| enter M
#-----| -> {...}
# 3| exit M
# 3| exit M (normal)
#-----| -> exit M
# 4| {...}
#-----| -> ... ...;
# 5| ... ...;
#-----| -> access to parameter o
# 5| String s = ...
#-----| -> ...;
# 5| (...) ...
#-----| -> String s = ...
# 5| access to parameter o
#-----| -> (...) ...
# 6| ...;
#-----| -> access to parameter o
# 6| ... = ...
#-----| -> if (...) ...
# 6| ... as ...
#-----| -> ... = ...
# 6| access to parameter o
#-----| -> ... as ...
# 7| if (...) ...
#-----| -> access to parameter o
# 7| [false] ... is ...
#-----| false -> ... ...;
# 7| [true] ... is ...
#-----| true -> ;
# 7| access to parameter o
#-----| -> Int32 j
# 7| Int32 j
#-----| no-match -> [false] ... is ...
#-----| match -> [true] ... is ...
# 7| ;
#-----| -> ... ...;
# 8| ... ...;
#-----| -> typeof(...)
# 8| Type t = ...
#-----| -> exit M (normal)
# 8| typeof(...)
#-----| -> Type t = ...
VarDecls.cs:
# 5| enter M1
#-----| -> {...}
# 5| exit M1
# 5| exit M1 (normal)
#-----| -> exit M1
# 6| {...}
#-----| -> fixed(...) { ... }
# 7| fixed(...) { ... }
#-----| -> access to parameter strings
# 7| Char* c1 = ...
#-----| -> access to parameter strings
# 7| (...) ...
#-----| -> Char* c1 = ...
# 7| access to array element
#-----| -> (...) ...
# 7| access to parameter strings
#-----| -> 0
# 7| 0
#-----| -> access to array element
# 7| Char* c2 = ...
#-----| -> {...}
# 7| (...) ...
#-----| -> Char* c2 = ...
# 7| access to array element
#-----| -> (...) ...
# 7| access to parameter strings
#-----| -> 1
# 7| 1
#-----| -> access to array element
# 8| {...}
#-----| -> access to local variable c1
# 9| return ...;
#-----| return -> exit M1 (normal)
# 9| (...) ...
#-----| -> return ...;
# 9| access to local variable c1
#-----| -> (...) ...
# 13| enter M2
#-----| -> {...}
# 13| exit M2
# 13| exit M2 (normal)
#-----| -> exit M2
# 14| {...}
#-----| -> ... ...;
# 15| ... ...;
#-----| -> access to parameter s
# 15| String s1 = ...
#-----| -> access to parameter s
# 15| access to parameter s
#-----| -> String s1 = ...
# 15| String s2 = ...
#-----| -> access to local variable s1
# 15| access to parameter s
#-----| -> String s2 = ...
# 16| return ...;
#-----| return -> exit M2 (normal)
# 16| ... + ...
#-----| -> return ...;
# 16| access to local variable s1
#-----| -> access to local variable s2
# 16| access to local variable s2
#-----| -> ... + ...
# 19| enter M3
#-----| -> {...}
# 19| exit M3
# 19| exit M3 (normal)
#-----| -> exit M3
# 20| {...}
#-----| -> using (...) {...}
# 21| using (...) {...}
#-----| -> object creation of type C
# 21| object creation of type C
#-----| -> ;
# 22| ;
#-----| -> using (...) {...}
# 24| using (...) {...}
#-----| -> object creation of type C
# 24| C x = ...
#-----| -> object creation of type C
# 24| object creation of type C
#-----| -> C x = ...
# 24| C y = ...
#-----| -> access to parameter b
# 24| object creation of type C
#-----| -> C y = ...
# 25| return ...;
#-----| return -> exit M3 (normal)
# 25| ... ? ... : ...
#-----| -> return ...;
# 25| access to parameter b
#-----| true -> access to local variable x
#-----| false -> access to local variable y
# 25| access to local variable x
#-----| -> ... ? ... : ...
# 25| access to local variable y
#-----| -> ... ? ... : ...
# 28| enter Dispose
#-----| -> {...}
# 28| exit Dispose
# 28| exit Dispose (normal)
#-----| -> exit Dispose
# 28| {...}
#-----| -> exit Dispose (normal)
cflow.cs:
# 5| enter Main
#-----| -> {...}
# 5| exit Main
# 5| exit Main (normal)
#-----| -> exit Main
# 6| {...}
#-----| -> ... ...;
# 7| ... ...;
#-----| -> access to parameter args
# 7| Int32 a = ...
#-----| -> ...;
# 7| access to property Length
#-----| -> Int32 a = ...
# 7| access to parameter args
#-----| -> access to property Length
# 9| ...;
#-----| -> object creation of type ControlFlow
# 9| ... = ...
#-----| -> if (...) ...
# 9| call to method Switch
#-----| -> ... = ...
# 9| object creation of type ControlFlow
#-----| -> access to local variable a
# 9| access to local variable a
#-----| -> call to method Switch
# 11| if (...) ...
#-----| -> access to local variable a
# 11| ... > ...
#-----| true -> ...;
#-----| false -> while (...) ...
# 11| access to local variable a
#-----| -> 3
# 11| 3
#-----| -> ... > ...
# 12| ...;
#-----| -> "more than a few"
# 12| call to method WriteLine
#-----| -> while (...) ...
# 12| "more than a few"
#-----| -> call to method WriteLine
# 14| while (...) ...
#-----| -> access to local variable a
# 14| ... > ...
#-----| true -> {...}
#-----| false -> do ... while (...);
# 14| access to local variable a
#-----| -> 0
# 14| 0
#-----| -> ... > ...
# 15| {...}
#-----| -> ...;
# 16| ...;
#-----| -> access to local variable a
# 16| call to method WriteLine
#-----| -> access to local variable a
# 16| ... * ...
#-----| -> call to method WriteLine
# 16| ...--
#-----| -> 100
# 16| access to local variable a
#-----| -> ...--
# 16| 100
#-----| -> ... * ...
# 19| do ... while (...);
#-----| -> {...}
# 20| {...}
#-----| -> ...;
# 21| ...;
#-----| -> access to local variable a
# 21| call to method WriteLine
#-----| -> access to local variable a
# 21| -...
#-----| -> call to method WriteLine
# 21| ...++
#-----| -> -...
# 21| access to local variable a
#-----| -> ...++
# 22| ... < ...
#-----| true -> {...}
#-----| false -> for (...;...;...) ...
# 22| access to local variable a
#-----| -> 10
# 22| 10
#-----| -> ... < ...
# 24| for (...;...;...) ...
#-----| -> 1
# 24| Int32 i = ...
#-----| -> access to local variable i
# 24| 1
#-----| -> Int32 i = ...
# 24| ... <= ...
#-----| true -> {...}
#-----| false -> exit Main (normal)
# 24| access to local variable i
#-----| -> 20
# 24| 20
#-----| -> ... <= ...
# 24| ...++
#-----| -> access to local variable i
# 24| access to local variable i
#-----| -> ...++
# 25| {...}
#-----| -> if (...) ...
# 26| if (...) ...
#-----| -> access to local variable i
# 26| [false] ... && ...
#-----| false -> if (...) ...
# 26| [true] ... && ...
#-----| true -> ...;
# 26| ... == ...
#-----| false -> [false] ... && ...
#-----| true -> access to local variable i
# 26| ... % ...
#-----| -> 0
# 26| access to local variable i
#-----| -> 3
# 26| 3
#-----| -> ... % ...
# 26| 0
#-----| -> ... == ...
# 26| ... == ...
#-----| false -> [false] ... && ...
#-----| true -> [true] ... && ...
# 26| ... % ...
#-----| -> 0
# 26| access to local variable i
#-----| -> 5
# 26| 5
#-----| -> ... % ...
# 26| 0
#-----| -> ... == ...
# 27| ...;
#-----| -> "FizzBuzz"
# 27| call to method WriteLine
#-----| -> access to local variable i
# 27| "FizzBuzz"
#-----| -> call to method WriteLine
# 28| if (...) ...
#-----| -> access to local variable i
# 28| ... == ...
#-----| true -> ...;
#-----| false -> if (...) ...
# 28| ... % ...
#-----| -> 0
# 28| access to local variable i
#-----| -> 3
# 28| 3
#-----| -> ... % ...
# 28| 0
#-----| -> ... == ...
# 29| ...;
#-----| -> "Fizz"
# 29| call to method WriteLine
#-----| -> access to local variable i
# 29| "Fizz"
#-----| -> call to method WriteLine
# 30| if (...) ...
#-----| -> access to local variable i
# 30| ... == ...
#-----| true -> ...;
#-----| false -> ...;
# 30| ... % ...
#-----| -> 0
# 30| access to local variable i
#-----| -> 5
# 30| 5
#-----| -> ... % ...
# 30| 0
#-----| -> ... == ...
# 31| ...;
#-----| -> "Buzz"
# 31| call to method WriteLine
#-----| -> access to local variable i
# 31| "Buzz"
#-----| -> call to method WriteLine
# 33| ...;
#-----| -> access to local variable i
# 33| call to method WriteLine
#-----| -> access to local variable i
# 33| access to local variable i
#-----| -> call to method WriteLine
# 37| enter Switch
#-----| -> {...}
# 37| exit Switch
# 37| exit Switch (abnormal)
#-----| -> exit Switch
# 37| exit Switch (normal)
#-----| -> exit Switch
# 38| {...}
#-----| -> switch (...) {...}
# 39| switch (...) {...}
#-----| -> access to parameter a
# 39| access to parameter a
#-----| -> case ...:
# 41| case ...:
#-----| -> 1
# 41| 1
#-----| match -> ...;
#-----| no-match -> case ...:
# 42| ...;
#-----| -> "1"
# 42| call to method WriteLine
#-----| -> 2
# 42| "1"
#-----| -> call to method WriteLine
# 43| goto case ...;
#-----| goto(2) -> case ...:
# 43| 2
#-----| -> goto case ...;
# 44| case ...:
#-----| -> 2
# 44| 2
#-----| match -> ...;
#-----| no-match -> case ...:
# 45| ...;
#-----| -> "2"
# 45| call to method WriteLine
#-----| -> 1
# 45| "2"
#-----| -> call to method WriteLine
# 46| goto case ...;
#-----| goto(1) -> case ...:
# 46| 1
#-----| -> goto case ...;
# 47| case ...:
#-----| -> 3
# 47| 3
#-----| match -> ...;
#-----| no-match -> switch (...) {...}
# 48| ...;
#-----| -> "3"
# 48| call to method WriteLine
#-----| -> break;
# 48| "3"
#-----| -> call to method WriteLine
# 49| break;
#-----| break -> switch (...) {...}
# 51| switch (...) {...}
#-----| -> access to parameter a
# 51| access to parameter a
#-----| -> case ...:
# 53| case ...:
#-----| -> 42
# 53| 42
#-----| match -> ...;
#-----| no-match -> default:
# 54| ...;
#-----| -> "The answer"
# 54| call to method WriteLine
#-----| -> break;
# 54| "The answer"
#-----| -> call to method WriteLine
# 55| break;
#-----| break -> switch (...) {...}
# 56| default:
#-----| -> ...;
# 57| ...;
#-----| -> "Not the answer"
# 57| call to method WriteLine
#-----| -> break;
# 57| "Not the answer"
#-----| -> call to method WriteLine
# 58| break;
#-----| break -> switch (...) {...}
# 60| switch (...) {...}
#-----| -> this access
# 60| call to method Parse
#-----| -> case ...:
# 60| access to field Field
#-----| -> call to method Parse
# 60| this access
#-----| -> access to field Field
# 62| case ...:
#-----| -> 0
# 62| 0
#-----| match -> if (...) ...
#-----| no-match -> access to parameter a
# 63| if (...) ...
#-----| -> this access
# 63| [false] !...
#-----| false -> break;
# 63| [true] !...
#-----| true -> object creation of type NullReferenceException
# 63| ... == ...
#-----| true -> [false] !...
#-----| false -> [true] !...
# 63| access to field Field
#-----| -> ""
# 63| this access
#-----| -> access to field Field
# 63| ""
#-----| -> ... == ...
# 64| throw ...;
#-----| exception(NullReferenceException) -> exit Switch (abnormal)
# 64| object creation of type NullReferenceException
#-----| -> throw ...;
# 65| break;
#-----| break -> access to parameter a
# 67| return ...;
#-----| return -> exit Switch (normal)
# 67| access to parameter a
#-----| -> return ...;
# 70| enter M
#-----| -> {...}
# 70| exit M
# 70| exit M (normal)
#-----| -> exit M
# 71| {...}
#-----| -> if (...) ...
# 72| if (...) ...
#-----| -> access to parameter s
# 72| ... == ...
#-----| true -> return ...;
#-----| false -> if (...) ...
# 72| access to parameter s
#-----| -> null
# 72| null
#-----| -> ... == ...
# 73| return ...;
#-----| return -> exit M (normal)
# 74| if (...) ...
#-----| -> access to parameter s
# 74| ... > ...
#-----| true -> {...}
#-----| false -> {...}
# 74| access to property Length
#-----| -> 0
# 74| access to parameter s
#-----| -> access to property Length
# 74| 0
#-----| -> ... > ...
# 75| {...}
#-----| -> ...;
# 76| ...;
#-----| -> access to parameter s
# 76| call to method WriteLine
#-----| -> exit M (normal)
# 76| access to parameter s
#-----| -> call to method WriteLine
# 79| {...}
#-----| -> ...;
# 80| ...;
#-----| -> "<empty string>"
# 80| call to method WriteLine
#-----| -> exit M (normal)
# 80| "<empty string>"
#-----| -> call to method WriteLine
# 84| enter M2
#-----| -> {...}
# 84| exit M2
# 84| exit M2 (normal)
#-----| -> exit M2
# 85| {...}
#-----| -> if (...) ...
# 86| if (...) ...
#-----| -> access to parameter s
# 86| [false] ... && ...
#-----| false -> exit M2 (normal)
# 86| [true] ... && ...
#-----| true -> ...;
# 86| ... != ...
#-----| false -> [false] ... && ...
#-----| true -> access to parameter s
# 86| access to parameter s
#-----| -> null
# 86| null
#-----| -> ... != ...
# 86| ... > ...
#-----| false -> [false] ... && ...
#-----| true -> [true] ... && ...
# 86| access to property Length
#-----| -> 0
# 86| access to parameter s
#-----| -> access to property Length
# 86| 0
#-----| -> ... > ...
# 87| ...;
#-----| -> access to parameter s
# 87| call to method WriteLine
#-----| -> exit M2 (normal)
# 87| access to parameter s
#-----| -> call to method WriteLine
# 90| enter M3
#-----| -> {...}
# 90| exit M3
# 90| exit M3 (abnormal)
#-----| -> exit M3
# 90| exit M3 (normal)
#-----| -> exit M3
# 91| {...}
#-----| -> if (...) ...
# 92| if (...) ...
#-----| -> access to parameter s
# 92| call to method Equals
#-----| true -> "s"
#-----| false -> ...;
# 92| access to parameter s
#-----| -> null
# 92| null
#-----| -> call to method Equals
# 93| throw ...;
#-----| exception(ArgumentNullException) -> exit M3 (abnormal)
# 93| object creation of type ArgumentNullException
#-----| -> throw ...;
# 93| "s"
#-----| -> object creation of type ArgumentNullException
# 94| ...;
#-----| -> access to parameter s
# 94| call to method WriteLine
#-----| -> if (...) ...
# 94| access to parameter s
#-----| -> call to method WriteLine
# 96| if (...) ...
#-----| -> this access
# 96| ... != ...
#-----| true -> ...;
#-----| false -> if (...) ...
# 96| access to field Field
#-----| -> null
# 96| this access
#-----| -> access to field Field
# 96| null
#-----| -> ... != ...
# 97| ...;
#-----| -> object creation of type ControlFlow
# 97| call to method WriteLine
#-----| -> if (...) ...
# 97| access to field Field
#-----| -> call to method WriteLine
# 97| object creation of type ControlFlow
#-----| -> access to field Field
# 99| if (...) ...
#-----| -> this access
# 99| ... != ...
#-----| true -> ...;
#-----| false -> if (...) ...
# 99| access to field Field
#-----| -> null
# 99| this access
#-----| -> access to field Field
# 99| null
#-----| -> ... != ...
# 100| ...;
#-----| -> this access
# 100| call to method WriteLine
#-----| -> if (...) ...
# 100| access to field Field
#-----| -> call to method WriteLine
# 100| this access
#-----| -> access to field Field
# 102| if (...) ...
#-----| -> this access
# 102| ... != ...
#-----| true -> ...;
#-----| false -> exit M3 (normal)
# 102| access to property Prop
#-----| -> null
# 102| this access
#-----| -> access to property Prop
# 102| null
#-----| -> ... != ...
# 103| ...;
#-----| -> this access
# 103| call to method WriteLine
#-----| -> exit M3 (normal)
# 103| access to property Prop
#-----| -> call to method WriteLine
# 103| this access
#-----| -> access to property Prop
# 106| enter M4
#-----| -> {...}
# 106| exit M4
# 106| exit M4 (normal)
#-----| -> exit M4
# 107| {...}
#-----| -> if (...) ...
# 108| if (...) ...
#-----| -> access to parameter s
# 108| ... != ...
#-----| true -> {...}
#-----| false -> ...;
# 108| access to parameter s
#-----| -> null
# 108| null
#-----| -> ... != ...
# 109| {...}
#-----| -> while (...) ...
# 110| while (...) ...
#-----| -> true
# 110| true
#-----| true -> {...}
# 111| {...}
#-----| -> ...;
# 112| ...;
#-----| -> access to parameter s
# 112| call to method WriteLine
#-----| -> true
# 112| access to parameter s
#-----| -> call to method WriteLine
# 116| ...;
#-----| -> access to parameter s
# 116| call to method WriteLine
#-----| -> exit M4 (normal)
# 116| access to parameter s
#-----| -> call to method WriteLine
# 119| enter M5
#-----| -> {...}
# 119| exit M5
# 119| exit M5 (normal)
#-----| -> exit M5
# 120| {...}
#-----| -> ... ...;
# 121| ... ...;
#-----| -> access to parameter s
# 121| String x = ...
#-----| -> ...;
# 121| access to parameter s
#-----| -> String x = ...
# 122| ...;
#-----| -> access to local variable x
# 122| ... = ...
#-----| -> access to local variable x
# 122| ... + ...
#-----| -> ... = ...
# 122| access to local variable x
#-----| -> " "
# 122| " "
#-----| -> ... + ...
# 123| return ...;
#-----| return -> exit M5 (normal)
# 123| access to local variable x
#-----| -> return ...;
# 127| enter get_Prop
#-----| -> {...}
# 127| exit get_Prop
# 127| exit get_Prop (normal)
#-----| -> exit get_Prop
# 127| {...}
#-----| -> this access
# 127| return ...;
#-----| return -> exit get_Prop (normal)
# 127| ... ? ... : ...
#-----| -> return ...;
# 127| ... == ...
#-----| true -> ""
#-----| false -> this access
# 127| access to field Field
#-----| -> null
# 127| this access
#-----| -> access to field Field
# 127| null
#-----| -> ... == ...
# 127| ""
#-----| -> ... ? ... : ...
# 127| access to field Field
#-----| -> ... ? ... : ...
# 127| this access
#-----| -> access to field Field
# 127| enter set_Prop
#-----| -> {...}
# 127| exit set_Prop
# 127| exit set_Prop (normal)
#-----| -> exit set_Prop
# 127| {...}
#-----| -> ...;
# 127| ...;
#-----| -> this access
# 127| ... = ...
#-----| -> exit set_Prop (normal)
# 127| this access
#-----| -> access to parameter value
# 127| access to parameter value
#-----| -> ... = ...
# 129| enter ControlFlow
#-----| -> call to constructor Object
# 129| call to constructor Object
#-----| -> {...}
# 129| exit ControlFlow
# 129| exit ControlFlow (normal)
#-----| -> exit ControlFlow
# 130| {...}
#-----| -> ...;
# 131| ...;
#-----| -> this access
# 131| ... = ...
#-----| -> exit ControlFlow (normal)
# 131| this access
#-----| -> access to parameter s
# 131| access to parameter s
#-----| -> ... = ...
# 134| enter ControlFlow
#-----| -> access to parameter i
# 134| exit ControlFlow
# 134| exit ControlFlow (normal)
#-----| -> exit ControlFlow
# 134| call to constructor ControlFlow
#-----| -> {...}
# 134| ... + ...
#-----| -> call to constructor ControlFlow
# 134| (...) ...
#-----| -> ""
# 134| access to parameter i
#-----| -> (...) ...
# 134| ""
#-----| -> ... + ...
# 134| {...}
#-----| -> exit ControlFlow (normal)
# 136| enter ControlFlow
#-----| -> 0
# 136| exit ControlFlow
# 136| exit ControlFlow (normal)
#-----| -> exit ControlFlow
# 136| call to constructor ControlFlow
#-----| -> {...}
# 136| ... + ...
#-----| -> call to constructor ControlFlow
# 136| 0
#-----| -> 1
# 136| 1
#-----| -> ... + ...
# 136| {...}
#-----| -> exit ControlFlow (normal)
# 138| enter +
#-----| -> {...}
# 138| exit +
# 138| exit + (normal)
#-----| -> exit +
# 139| {...}
#-----| -> ...;
# 140| ...;
#-----| -> access to parameter x
# 140| call to method WriteLine
#-----| -> access to parameter y
# 140| access to parameter x
#-----| -> call to method WriteLine
# 141| return ...;
#-----| return -> exit + (normal)
# 141| access to parameter y
#-----| -> return ...;
# 144| enter get_Item
#-----| -> {...}
# 144| exit get_Item
# 144| exit get_Item (normal)
#-----| -> exit get_Item
# 144| {...}
#-----| -> access to parameter i
# 144| return ...;
#-----| return -> exit get_Item (normal)
# 144| ... + ...
#-----| -> return ...;
# 144| (...) ...
#-----| -> ""
# 144| access to parameter i
#-----| -> (...) ...
# 144| ""
#-----| -> ... + ...
# 144| enter set_Item
#-----| -> {...}
# 144| exit set_Item
# 144| exit set_Item (normal)
#-----| -> exit set_Item
# 144| {...}
#-----| -> exit set_Item (normal)
# 146| enter For
#-----| -> {...}
# 146| exit For
# 146| exit For (normal)
#-----| -> exit For
# 147| {...}
#-----| -> ... ...;
# 148| ... ...;
#-----| -> 0
# 148| Int32 x = ...
#-----| -> for (...;...;...) ...
# 148| 0
#-----| -> Int32 x = ...
# 149| for (...;...;...) ...
#-----| -> access to local variable x
# 149| ... < ...
#-----| true -> ...;
#-----| false -> for (...;...;...) ...
# 149| access to local variable x
#-----| -> 10
# 149| 10
#-----| -> ... < ...
# 149| ++...
#-----| -> access to local variable x
# 149| access to local variable x
#-----| -> ++...
# 150| ...;
#-----| -> access to local variable x
# 150| call to method WriteLine
#-----| -> access to local variable x
# 150| access to local variable x
#-----| -> call to method WriteLine
# 152| for (...;...;...) ...
#-----| -> {...}
# 152| ...++
#-----| -> {...}
# 152| access to local variable x
#-----| -> ...++
# 153| {...}
#-----| -> ...;
# 154| ...;
#-----| -> access to local variable x
# 154| call to method WriteLine
#-----| -> if (...) ...
# 154| access to local variable x
#-----| -> call to method WriteLine
# 155| if (...) ...
#-----| -> access to local variable x
# 155| ... > ...
#-----| false -> access to local variable x
#-----| true -> break;
# 155| access to local variable x
#-----| -> 20
# 155| 20
#-----| -> ... > ...
# 156| break;
#-----| break -> for (...;...;...) ...
# 159| for (...;...;...) ...
#-----| -> {...}
# 160| {...}
#-----| -> ...;
# 161| ...;
#-----| -> access to local variable x
# 161| call to method WriteLine
#-----| -> ...;
# 161| access to local variable x
#-----| -> call to method WriteLine
# 162| ...;
#-----| -> access to local variable x
# 162| ...++
#-----| -> if (...) ...
# 162| access to local variable x
#-----| -> ...++
# 163| if (...) ...
#-----| -> access to local variable x
# 163| ... > ...
#-----| false -> {...}
#-----| true -> break;
# 163| access to local variable x
#-----| -> 30
# 163| 30
#-----| -> ... > ...
# 164| break;
#-----| break -> for (...;...;...) ...
# 167| for (...;...;...) ...
#-----| -> access to local variable x
# 167| ... < ...
#-----| true -> {...}
#-----| false -> for (...;...;...) ...
# 167| access to local variable x
#-----| -> 40
# 167| 40
#-----| -> ... < ...
# 168| {...}
#-----| -> ...;
# 169| ...;
#-----| -> access to local variable x
# 169| call to method WriteLine
#-----| -> ...;
# 169| access to local variable x
#-----| -> call to method WriteLine
# 170| ...;
#-----| -> access to local variable x
# 170| ...++
#-----| -> access to local variable x
# 170| access to local variable x
#-----| -> ...++
# 173| for (...;...;...) ...
#-----| -> 0
# 173| Int32 i = ...
#-----| -> 0
# 173| 0
#-----| -> Int32 i = ...
# 173| Int32 j = ...
#-----| -> access to local variable i
# 173| 0
#-----| -> Int32 j = ...
# 173| ... < ...
#-----| true -> {...}
#-----| false -> exit For (normal)
# 173| ... + ...
#-----| -> 10
# 173| access to local variable i
#-----| -> access to local variable j
# 173| access to local variable j
#-----| -> ... + ...
# 173| 10
#-----| -> ... < ...
# 173| ...++
#-----| -> access to local variable j
# 173| access to local variable i
#-----| -> ...++
# 173| ...++
#-----| -> access to local variable i
# 173| access to local variable j
#-----| -> ...++
# 174| {...}
#-----| -> ...;
# 175| ...;
#-----| -> access to local variable i
# 175| call to method WriteLine
#-----| -> access to local variable i
# 175| ... + ...
#-----| -> call to method WriteLine
# 175| access to local variable i
#-----| -> access to local variable j
# 175| access to local variable j
#-----| -> ... + ...
# 179| enter Lambdas
#-----| -> {...}
# 179| exit Lambdas
# 179| exit Lambdas (normal)
#-----| -> exit Lambdas
# 180| {...}
#-----| -> ... ...;
# 181| ... ...;
#-----| -> (...) => ...
# 181| Func<Int32,Int32> y = ...
#-----| -> ... ...;
# 181| enter (...) => ...
#-----| -> access to parameter x
# 181| (...) => ...
#-----| -> Func<Int32,Int32> y = ...
# 181| exit (...) => ...
# 181| exit (...) => ... (normal)
#-----| -> exit (...) => ...
# 181| ... + ...
#-----| -> exit (...) => ... (normal)
# 181| access to parameter x
#-----| -> 1
# 181| 1
#-----| -> ... + ...
# 182| ... ...;
#-----| -> delegate(...) { ... }
# 182| Func<Int32,Int32> z = ...
#-----| -> exit Lambdas (normal)
# 182| enter delegate(...) { ... }
#-----| -> {...}
# 182| delegate(...) { ... }
#-----| -> Func<Int32,Int32> z = ...
# 182| exit delegate(...) { ... }
# 182| exit delegate(...) { ... } (normal)
#-----| -> exit delegate(...) { ... }
# 182| {...}
#-----| -> access to parameter x
# 182| return ...;
#-----| return -> exit delegate(...) { ... } (normal)
# 182| ... + ...
#-----| -> return ...;
# 182| access to parameter x
#-----| -> 1
# 182| 1
#-----| -> ... + ...
# 185| enter LogicalOr
#-----| -> {...}
# 185| exit LogicalOr
# 185| exit LogicalOr (normal)
#-----| -> exit LogicalOr
# 186| {...}
#-----| -> if (...) ...
# 187| if (...) ...
#-----| -> 1
# 187| [false] ... || ...
#-----| false -> ...;
# 187| [false] ... || ...
#-----| false -> 1
# 187| ... == ...
#-----| false -> 2
# 187| 1
#-----| -> 2
# 187| 2
#-----| -> ... == ...
# 187| ... == ...
#-----| false -> [false] ... || ...
# 187| 2
#-----| -> 3
# 187| 3
#-----| -> ... == ...
# 187| [false] ... && ...
#-----| false -> [false] ... || ...
# 187| ... == ...
#-----| false -> [false] ... && ...
# 187| 1
#-----| -> 3
# 187| 3
#-----| -> ... == ...
# 190| ...;
#-----| -> "This should happen"
# 190| call to method WriteLine
#-----| -> exit LogicalOr (normal)
# 190| "This should happen"
#-----| -> call to method WriteLine
# 193| enter Booleans
#-----| -> {...}
# 193| exit Booleans
# 193| exit Booleans (abnormal)
#-----| -> exit Booleans
# 193| exit Booleans (normal)
#-----| -> exit Booleans
# 194| {...}
#-----| -> ... ...;
# 195| ... ...;
#-----| -> this access
# 195| Boolean b = ...
#-----| -> if (...) ...
# 195| ... && ...
#-----| -> Boolean b = ...
# 195| ... > ...
#-----| false -> ... && ...
#-----| true -> this access
# 195| access to property Length
#-----| -> 0
# 195| access to field Field
#-----| -> access to property Length
# 195| this access
#-----| -> access to field Field
# 195| 0
#-----| -> ... > ...
# 195| !...
#-----| -> ... && ...
# 195| ... == ...
#-----| -> !...
# 195| access to property Length
#-----| -> 1
# 195| access to field Field
#-----| -> access to property Length
# 195| this access
#-----| -> access to field Field
# 195| 1
#-----| -> ... == ...
# 197| if (...) ...
#-----| -> this access
# 197| [false] !...
#-----| false -> if (...) ...
# 197| [true] !...
#-----| true -> ...;
# 197| [false] ... ? ... : ...
#-----| false -> [true] !...
# 197| [true] ... ? ... : ...
#-----| true -> [false] !...
# 197| ... == ...
#-----| true -> false
#-----| false -> true
# 197| access to property Length
#-----| -> 0
# 197| access to field Field
#-----| -> access to property Length
# 197| this access
#-----| -> access to field Field
# 197| 0
#-----| -> ... == ...
# 197| false
#-----| false -> [false] ... ? ... : ...
# 197| true
#-----| true -> [true] ... ? ... : ...
# 198| ...;
#-----| -> this access
# 198| ... = ...
#-----| -> if (...) ...
# 198| ... ? ... : ...
#-----| -> ... = ...
# 198| ... == ...
#-----| true -> false
#-----| false -> true
# 198| access to property Length
#-----| -> 0
# 198| access to field Field
#-----| -> access to property Length
# 198| this access
#-----| -> access to field Field
# 198| 0
#-----| -> ... == ...
# 198| false
#-----| -> ... ? ... : ...
# 198| true
#-----| -> ... ? ... : ...
# 200| if (...) ...
#-----| -> this access
# 200| [false] ... || ...
#-----| false -> exit Booleans (normal)
# 200| [true] ... || ...
#-----| true -> {...}
# 200| [false] !...
#-----| false -> this access
# 200| [true] !...
#-----| true -> [true] ... || ...
# 200| ... == ...
#-----| true -> [false] !...
#-----| false -> [true] !...
# 200| access to property Length
#-----| -> 0
# 200| access to field Field
#-----| -> access to property Length
# 200| this access
#-----| -> access to field Field
# 200| 0
#-----| -> ... == ...
# 200| [false] !...
#-----| false -> [false] ... || ...
# 200| [true] !...
#-----| true -> [true] ... || ...
# 200| [false] !...
#-----| false -> [true] !...
# 200| [true] !...
#-----| true -> [false] !...
# 200| [false] ... && ...
#-----| false -> [true] !...
# 200| [true] ... && ...
#-----| true -> [false] !...
# 200| ... == ...
#-----| false -> [false] ... && ...
#-----| true -> access to local variable b
# 200| access to property Length
#-----| -> 1
# 200| access to field Field
#-----| -> access to property Length
# 200| this access
#-----| -> access to field Field
# 200| 1
#-----| -> ... == ...
# 200| access to local variable b
#-----| false -> [false] ... && ...
#-----| true -> [true] ... && ...
# 201| {...}
#-----| -> {...}
# 202| {...}
#-----| -> object creation of type Exception
# 203| throw ...;
#-----| exception(Exception) -> exit Booleans (abnormal)
# 203| object creation of type Exception
#-----| -> throw ...;
# 208| enter Do
#-----| -> {...}
# 208| exit Do
# 208| exit Do (normal)
#-----| -> exit Do
# 209| {...}
#-----| -> do ... while (...);
# 210| do ... while (...);
#-----| -> {...}
# 211| {...}
#-----| -> ...;
# 212| ...;
#-----| -> this access
# 212| ... = ...
#-----| -> if (...) ...
# 212| this access
#-----| -> this access
# 212| ... + ...
#-----| -> ... = ...
# 212| access to field Field
#-----| -> "a"
# 212| this access
#-----| -> access to field Field
# 212| "a"
#-----| -> ... + ...
# 213| if (...) ...
#-----| -> this access
# 213| ... > ...
#-----| true -> {...}
#-----| false -> if (...) ...
# 213| access to property Length
#-----| -> 0
# 213| access to field Field
#-----| -> access to property Length
# 213| this access
#-----| -> access to field Field
# 213| 0
#-----| -> ... > ...
# 214| {...}
#-----| -> continue;
# 215| continue;
#-----| continue -> this access
# 217| if (...) ...
#-----| -> this access
# 217| ... < ...
#-----| true -> {...}
#-----| false -> this access
# 217| access to property Length
#-----| -> 0
# 217| access to field Field
#-----| -> access to property Length
# 217| this access
#-----| -> access to field Field
# 217| 0
#-----| -> ... < ...
# 218| {...}
#-----| -> break;
# 219| break;
#-----| break -> exit Do (normal)
# 221| ... < ...
#-----| true -> {...}
#-----| false -> exit Do (normal)
# 221| access to property Length
#-----| -> 10
# 221| access to field Field
#-----| -> access to property Length
# 221| this access
#-----| -> access to field Field
# 221| 10
#-----| -> ... < ...
# 224| enter Foreach
#-----| -> {...}
# 224| exit Foreach
# 224| exit Foreach (normal)
#-----| -> exit Foreach
# 225| {...}
#-----| -> "a"
# 226| foreach (... ... in ...) ...
#-----| non-empty -> String x
#-----| empty -> exit Foreach (normal)
# 226| String x
#-----| -> {...}
# 226| call to method Repeat<String>
#-----| -> foreach (... ... in ...) ...
# 226| "a"
#-----| -> 10
# 226| 10
#-----| -> call to method Repeat<String>
# 227| {...}
#-----| -> ...;
# 228| ...;
#-----| -> this access
# 228| ... = ...
#-----| -> if (...) ...
# 228| this access
#-----| -> this access
# 228| ... + ...
#-----| -> ... = ...
# 228| access to field Field
#-----| -> access to local variable x
# 228| this access
#-----| -> access to field Field
# 228| access to local variable x
#-----| -> ... + ...
# 229| if (...) ...
#-----| -> this access
# 229| ... > ...
#-----| true -> {...}
#-----| false -> if (...) ...
# 229| access to property Length
#-----| -> 0
# 229| access to field Field
#-----| -> access to property Length
# 229| this access
#-----| -> access to field Field
# 229| 0
#-----| -> ... > ...
# 230| {...}
#-----| -> continue;
# 231| continue;
#-----| continue -> foreach (... ... in ...) ...
# 233| if (...) ...
#-----| -> this access
# 233| ... < ...
#-----| false -> foreach (... ... in ...) ...
#-----| true -> {...}
# 233| access to property Length
#-----| -> 0
# 233| access to field Field
#-----| -> access to property Length
# 233| this access
#-----| -> access to field Field
# 233| 0
#-----| -> ... < ...
# 234| {...}
#-----| -> break;
# 235| break;
#-----| break -> exit Foreach (normal)
# 240| enter Goto
#-----| -> {...}
# 240| exit Goto
# 240| exit Goto (normal)
#-----| -> exit Goto
# 241| {...}
#-----| -> Label:
# 242| Label:
#-----| -> if (...) ...
# 242| if (...) ...
#-----| -> this access
# 242| [false] !...
#-----| false -> if (...) ...
# 242| [true] !...
#-----| true -> {...}
# 242| [false] !...
#-----| false -> [true] !...
# 242| [true] !...
#-----| true -> [false] !...
# 242| ... == ...
#-----| true -> [false] !...
#-----| false -> [true] !...
# 242| access to property Length
#-----| -> 0
# 242| access to field Field
#-----| -> access to property Length
# 242| this access
#-----| -> access to field Field
# 242| 0
#-----| -> ... == ...
# 242| {...}
#-----| -> if (...) ...
# 244| if (...) ...
#-----| -> this access
# 244| ... > ...
#-----| true -> goto ...;
#-----| false -> switch (...) {...}
# 244| access to property Length
#-----| -> 0
# 244| access to field Field
#-----| -> access to property Length
# 244| this access
#-----| -> access to field Field
# 244| 0
#-----| -> ... > ...
# 244| goto ...;
#-----| goto(Label) -> Label:
# 246| switch (...) {...}
#-----| -> this access
# 246| ... + ...
#-----| -> case ...:
# 246| access to property Length
#-----| -> 3
# 246| access to field Field
#-----| -> access to property Length
# 246| this access
#-----| -> access to field Field
# 246| 3
#-----| -> ... + ...
# 248| case ...:
#-----| -> 0
# 248| 0
#-----| match -> goto default;
#-----| no-match -> case ...:
# 249| goto default;
#-----| goto(default) -> default:
# 250| case ...:
#-----| -> 1
# 250| 1
#-----| match -> ...;
#-----| no-match -> case ...:
# 251| ...;
#-----| -> 1
# 251| call to method WriteLine
#-----| -> break;
# 251| 1
#-----| -> call to method WriteLine
# 252| break;
#-----| break -> exit Goto (normal)
# 253| case ...:
#-----| -> 2
# 253| 2
#-----| match -> goto ...;
#-----| no-match -> default:
# 254| goto ...;
#-----| goto(Label) -> Label:
# 255| default:
#-----| -> ...;
# 256| ...;
#-----| -> 0
# 256| call to method WriteLine
#-----| -> break;
# 256| 0
#-----| -> call to method WriteLine
# 257| break;
#-----| break -> exit Goto (normal)
# 261| enter Yield
#-----| -> {...}
# 261| exit Yield
# 261| exit Yield (normal)
#-----| -> exit Yield
# 262| {...}
#-----| -> 0
# 263| yield return ...;
#-----| -> for (...;...;...) ...
# 263| 0
#-----| -> yield return ...;
# 264| for (...;...;...) ...
#-----| -> 1
# 264| Int32 i = ...
#-----| -> access to local variable i
# 264| 1
#-----| -> Int32 i = ...
# 264| ... < ...
#-----| true -> {...}
#-----| false -> try {...} ...
# 264| access to local variable i
#-----| -> 10
# 264| 10
#-----| -> ... < ...
# 264| ...++
#-----| -> access to local variable i
# 264| access to local variable i
#-----| -> ...++
# 265| {...}
#-----| -> access to local variable i
# 266| yield return ...;
#-----| -> access to local variable i
# 266| access to local variable i
#-----| -> yield return ...;
# 268| try {...} ...
#-----| -> {...}
# 269| {...}
#-----| -> yield break;
# 270| yield break;
#-----| return -> [finally: return] {...}
# 274| [finally: return] {...}
#-----| -> [finally: return] ...;
# 275| [finally: return] ...;
#-----| -> [finally: return] "not dead"
# 275| [finally: return] call to method WriteLine
#-----| return -> exit Yield (normal)
# 275| [finally: return] "not dead"
#-----| -> [finally: return] call to method WriteLine
# 282| enter ControlFlowSub
#-----| -> call to constructor ControlFlow
# 282| exit ControlFlowSub
# 282| exit ControlFlowSub (normal)
#-----| -> exit ControlFlowSub
# 282| call to constructor ControlFlow
#-----| -> {...}
# 282| {...}
#-----| -> exit ControlFlowSub (normal)
# 284| enter ControlFlowSub
#-----| -> call to constructor ControlFlowSub
# 284| exit ControlFlowSub
# 284| exit ControlFlowSub (normal)
#-----| -> exit ControlFlowSub
# 284| call to constructor ControlFlowSub
#-----| -> {...}
# 284| {...}
#-----| -> exit ControlFlowSub (normal)
# 286| enter ControlFlowSub
#-----| -> access to parameter i
# 286| exit ControlFlowSub
# 286| exit ControlFlowSub (normal)
#-----| -> exit ControlFlowSub
# 286| call to constructor ControlFlowSub
#-----| -> {...}
# 286| call to method ToString
#-----| -> call to constructor ControlFlowSub
# 286| access to parameter i
#-----| -> call to method ToString
# 286| {...}
#-----| -> exit ControlFlowSub (normal)
# 291| enter M
#-----| -> access to parameter f
# 291| exit M
# 291| exit M (normal)
#-----| -> exit M
# 291| delegate call
#-----| -> exit M (normal)
# 291| access to parameter f
#-----| -> 0
# 291| 0
#-----| -> delegate call
# 296| enter NegationInConstructor
#-----| -> call to constructor Object
# 296| call to constructor Object
#-----| -> {...}
# 296| exit NegationInConstructor
# 296| exit NegationInConstructor (normal)
#-----| -> exit NegationInConstructor
# 296| {...}
#-----| -> exit NegationInConstructor (normal)
# 298| enter M
#-----| -> {...}
# 298| exit M
# 298| exit M (normal)
#-----| -> exit M
# 299| {...}
#-----| -> ...;
# 300| ...;
#-----| -> 0
# 300| object creation of type NegationInConstructor
#-----| -> exit M (normal)
# 300| 0
#-----| -> access to parameter i
# 300| ... && ...
#-----| -> ""
# 300| [false] !...
#-----| false -> ... && ...
# 300| [true] !...
#-----| true -> access to parameter s
# 300| ... > ...
#-----| true -> [false] !...
#-----| false -> [true] !...
# 300| access to parameter i
#-----| -> 0
# 300| 0
#-----| -> ... > ...
# 300| ... != ...
#-----| -> ... && ...
# 300| access to parameter s
#-----| -> null
# 300| null
#-----| -> ... != ...
# 300| ""
#-----| -> object creation of type NegationInConstructor
# 306| enter get__getter
#-----| -> (...) => ...
# 306| enter (...) => ...
#-----| -> {...}
# 306| (...) => ...
#-----| -> exit get__getter (normal)
# 306| exit get__getter
# 306| exit (...) => ...
# 306| exit get__getter (normal)
#-----| -> exit get__getter
# 306| exit (...) => ... (normal)
#-----| -> exit (...) => ...
# 307| {...}
#-----| -> ... ...;
# 308| ... ...;
#-----| -> access to parameter o
# 308| Object x = ...
#-----| -> access to local variable x
# 308| access to parameter o
#-----| -> Object x = ...
# 309| return ...;
#-----| return -> exit (...) => ... (normal)
# 309| access to local variable x
#-----| -> return ...;