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 #-----| -> this access # 12| ... = ... #-----| -> ...; # 12| ...; #-----| -> this access # 12| this access #-----| -> access to field Field # 12| access to field Field #-----| -> ... = ... # 13| this access #-----| -> this access # 13| access to property Prop #-----| -> ... = ... # 13| ... = ... #-----| -> ...; # 13| ...; #-----| -> this access # 13| this access #-----| -> access to property Prop # 13| access to property Prop #-----| -> access to property Prop # 14| this access #-----| -> 0 # 14| access to indexer #-----| -> ... = ... # 14| ... = ... #-----| -> ...; # 14| ...; #-----| -> this access # 14| 0 #-----| -> this access # 14| this access #-----| -> 1 # 14| access to indexer #-----| -> access to indexer # 14| 1 #-----| -> access to indexer # 15| this access #-----| -> access to parameter e # 15| access to event Event #-----| -> ... += ... # 15| ... += ... #-----| -> ...; # 15| ...; #-----| -> this access # 15| access to parameter e #-----| -> access to event Event # 16| this access #-----| -> access to parameter e # 16| access to event Event #-----| -> ... -= ... # 16| ... -= ... #-----| -> exit M1 (normal) # 16| ...; #-----| -> this access # 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 #-----| -> access to field x # 21| access to field x #-----| -> this access # 21| ... = ... #-----| -> ...; # 21| ...; #-----| -> this access # 21| this access #-----| -> access to field x # 21| access to field x #-----| -> access to field Field # 21| access to field Field #-----| -> ... = ... # 22| this access #-----| -> access to field x # 22| access to field x #-----| -> this access # 22| access to property Prop #-----| -> ... = ... # 22| ... = ... #-----| -> ...; # 22| ...; #-----| -> this access # 22| this access #-----| -> access to field x # 22| access to field x #-----| -> access to property Prop # 22| access to property Prop #-----| -> access to property Prop # 23| this access #-----| -> access to field x # 23| access to field x #-----| -> 0 # 23| access to indexer #-----| -> ... = ... # 23| ... = ... #-----| -> ...; # 23| ...; #-----| -> this access # 23| 0 #-----| -> this access # 23| this access #-----| -> access to field x # 23| access to field x #-----| -> 1 # 23| access to indexer #-----| -> access to indexer # 23| 1 #-----| -> access to indexer # 24| this access #-----| -> access to field x # 24| access to field x #-----| -> access to parameter e # 24| access to event Event #-----| -> ... += ... # 24| ... += ... #-----| -> ...; # 24| ...; #-----| -> this access # 24| access to parameter e #-----| -> access to event Event # 25| this access #-----| -> access to field x # 25| access to field x #-----| -> access to parameter e # 25| access to event Event #-----| -> ... -= ... # 25| ... -= ... #-----| -> exit M2 (normal) # 25| ...; #-----| -> this access # 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 #-----| -> access to field Field # 30| access to field Field #-----| -> ...++ # 30| ...++ #-----| -> ...; # 30| ...; #-----| -> this access # 31| this access #-----| -> access to property Prop # 31| access to property Prop #-----| -> ...++ # 31| ...++ #-----| -> ...; # 31| ...; #-----| -> this access # 32| this access #-----| -> 0 # 32| access to indexer #-----| -> ...++ # 32| ...++ #-----| -> exit M3 (normal) # 32| ...; #-----| -> this access # 32| 0 #-----| -> access to indexer # 35| enter M4 #-----| -> {...} # 35| exit M4 # 35| exit M4 (normal) #-----| -> exit M4 # 36| {...} #-----| -> ...; # 37| this access #-----| -> access to field x # 37| access to field x #-----| -> access to field Field # 37| access to field Field #-----| -> ...++ # 37| ...++ #-----| -> ...; # 37| ...; #-----| -> this access # 38| this access #-----| -> access to field x # 38| access to field x #-----| -> access to property Prop # 38| access to property Prop #-----| -> ...++ # 38| ...++ #-----| -> ...; # 38| ...; #-----| -> this access # 39| this access #-----| -> access to field x # 39| access to field x #-----| -> 0 # 39| access to indexer #-----| -> ...++ # 39| ...++ #-----| -> exit M4 (normal) # 39| ...; #-----| -> this access # 39| 0 #-----| -> access to indexer # 42| enter M5 #-----| -> {...} # 42| exit M5 # 42| exit M5 (normal) #-----| -> exit M5 # 43| {...} #-----| -> ...; # 44| this access #-----| -> this access # 44| this access #-----| -> access to field Field # 44| access to field Field #-----| -> this access # 44| ... + ... #-----| -> ... = ... # 44| ... = ... #-----| -> ...; # 44| ...; #-----| -> this access # 44| this access #-----| -> access to field Field # 44| access to field Field #-----| -> ... + ... # 45| this access #-----| -> this access # 45| this access #-----| -> access to property Prop # 45| access to property Prop #-----| -> ... = ... # 45| access to property Prop #-----| -> this access # 45| ... + ... #-----| -> access to property Prop # 45| ... = ... #-----| -> ...; # 45| ...; #-----| -> this access # 45| this access #-----| -> access to property Prop # 45| access to property Prop #-----| -> ... + ... # 46| this access #-----| -> 0 # 46| this access #-----| -> 0 # 46| access to indexer #-----| -> ... = ... # 46| access to indexer #-----| -> this access # 46| ... + ... #-----| -> access to indexer # 46| ... = ... #-----| -> exit M5 (normal) # 46| ...; #-----| -> this access # 46| 0 #-----| -> this access # 46| 0 #-----| -> access to indexer # 46| this access #-----| -> 0 # 46| access to indexer #-----| -> ... + ... # 46| 0 #-----| -> access to indexer # 49| enter M6 #-----| -> {...} # 49| exit M6 # 49| exit M6 (normal) #-----| -> exit M6 # 50| {...} #-----| -> ...; # 51| this access #-----| -> access to field x # 51| this access #-----| -> access to field x # 51| access to field x #-----| -> this access # 51| access to field x #-----| -> access to field Field # 51| access to field Field #-----| -> this access # 51| ... + ... #-----| -> ... = ... # 51| ... = ... #-----| -> ...; # 51| ...; #-----| -> this access # 51| this access #-----| -> access to field x # 51| access to field x #-----| -> access to field Field # 51| access to field Field #-----| -> ... + ... # 52| this access #-----| -> access to field x # 52| this access #-----| -> access to field x # 52| access to field x #-----| -> this access # 52| access to field x #-----| -> access to property Prop # 52| access to property Prop #-----| -> ... = ... # 52| access to property Prop #-----| -> this access # 52| ... + ... #-----| -> access to property Prop # 52| ... = ... #-----| -> ...; # 52| ...; #-----| -> this access # 52| this access #-----| -> access to field x # 52| access to field x #-----| -> access to property Prop # 52| access to property Prop #-----| -> ... + ... # 53| this access #-----| -> access to field x # 53| this access #-----| -> access to field x # 53| access to field x #-----| -> 0 # 53| access to field x #-----| -> 0 # 53| access to indexer #-----| -> ... = ... # 53| access to indexer #-----| -> this access # 53| ... + ... #-----| -> access to indexer # 53| ... = ... #-----| -> exit M6 (normal) # 53| ...; #-----| -> this access # 53| 0 #-----| -> this access # 53| 0 #-----| -> access to indexer # 53| this access #-----| -> access to field x # 53| access to field x #-----| -> 0 # 53| access to indexer #-----| -> ... + ... # 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| this access #-----| -> this access # 58| access to property Prop #-----| -> access to indexer # 58| (..., ...) #-----| -> (..., ...) # 58| this access #-----| -> 0 # 58| access to indexer #-----| -> ... = ... # 58| 0 #-----| -> (..., ...) # 58| (..., ...) #-----| -> access to property Prop # 58| this access #-----| -> access to field Field # 58| access to field Field #-----| -> this access # 58| this access #-----| -> access to property Prop # 58| access to property Prop #-----| -> 0 # 58| (..., ...) #-----| -> (..., ...) # 58| 0 #-----| -> this access # 58| this access #-----| -> 1 # 58| access to indexer #-----| -> (..., ...) # 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| this access #-----| -> access to field x # 63| access to field x #-----| -> this access # 63| this access #-----| -> access to field x # 63| access to field x #-----| -> this access # 63| access to property Prop #-----| -> access to indexer # 63| (..., ...) #-----| -> (..., ...) # 63| this access #-----| -> access to field x # 63| access to field x #-----| -> 0 # 63| access to indexer #-----| -> ... = ... # 63| 0 #-----| -> (..., ...) # 63| (..., ...) #-----| -> access to property Prop # 63| this access #-----| -> access to field x # 63| access to field x #-----| -> access to field Field # 63| access to field Field #-----| -> this access # 63| this access #-----| -> access to field x # 63| access to field x #-----| -> access to property Prop # 63| access to property Prop #-----| -> 0 # 63| (..., ...) #-----| -> (..., ...) # 63| 0 #-----| -> this access # 63| this access #-----| -> access to field x # 63| access to field x #-----| -> 1 # 63| access to indexer #-----| -> (..., ...) # 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 #-----| -> access to local variable d # 69| dynamic access to member MaybeProp1 #-----| -> ... = ... # 69| ... = ... #-----| -> ...; # 69| ...; #-----| -> access to local variable d # 69| access to local variable d #-----| -> dynamic access to member MaybeProp2 # 69| dynamic access to member MaybeProp2 #-----| -> dynamic access to member MaybeProp1 # 70| access to local variable d #-----| -> dynamic access to member MaybeProp # 70| dynamic access to member MaybeProp #-----| -> dynamic call to operator ++ # 70| dynamic call to operator ++ #-----| -> ...; # 70| ...; #-----| -> access to local variable d # 71| access to local variable d #-----| -> access to local variable d # 71| access to local variable d #-----| -> dynamic access to member MaybeEvent # 71| dynamic access to member MaybeEvent #-----| -> ... = ... # 71| dynamic access to member MaybeEvent #-----| -> access to parameter e # 71| ... = ... #-----| -> ...; # 71| dynamic call to operator + #-----| -> dynamic access to member MaybeEvent # 71| ...; #-----| -> access to local variable d # 71| access to parameter e #-----| -> dynamic call to operator + # 72| access to local variable d #-----| -> 0 # 72| access to local variable d #-----| -> 0 # 72| dynamic access to element #-----| -> ... = ... # 72| dynamic access to element #-----| -> access to local variable d # 72| ... = ... #-----| -> ...; # 72| dynamic call to operator + #-----| -> dynamic access to element # 72| ...; #-----| -> access to local variable d # 72| 0 #-----| -> access to local variable d # 72| 0 #-----| -> dynamic access to element # 72| access to local variable d #-----| -> 1 # 72| dynamic access to element #-----| -> dynamic call to operator + # 72| 1 #-----| -> dynamic access to element # 73| (..., ...) #-----| -> access to local variable d # 73| ... = ... #-----| -> exit M9 (normal) # 73| ...; #-----| -> access to local variable d # 73| access to local variable d #-----| -> this access # 73| dynamic access to member MaybeProp1 #-----| -> access to property Prop # 73| this access #-----| -> access to local variable d # 73| access to property Prop #-----| -> dynamic access to element # 73| (..., ...) #-----| -> (..., ...) # 73| access to local variable d #-----| -> 0 # 73| dynamic access to element #-----| -> ... = ... # 73| 0 #-----| -> (..., ...) # 73| (..., ...) #-----| -> dynamic access to member MaybeProp1 # 73| access to local variable d #-----| -> dynamic access to member MaybeProp1 # 73| dynamic access to member MaybeProp1 #-----| -> this access # 73| this access #-----| -> access to property Prop # 73| access to property Prop #-----| -> 0 # 73| (..., ...) #-----| -> (..., ...) # 73| 0 #-----| -> access to local variable d # 73| access to local variable d #-----| -> 1 # 73| dynamic access to element #-----| -> (..., ...) # 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| 2 #-----| -> array creation of type Int32[] # 7| array creation of type Int32[] #-----| -> 0 # 7| { ..., ... } #-----| -> exit M3 (normal) # 7| 0 #-----| -> 1 # 7| 1 #-----| -> { ..., ... } # 9| enter M4 #-----| -> 2 # 9| exit M4 # 9| exit M4 (normal) #-----| -> exit M4 # 9| 2 #-----| -> 2 # 9| 2 #-----| -> array creation of type Int32[,] # 9| array creation of type Int32[,] #-----| -> 0 # 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| access to parameter b #-----| true -> null #-----| false -> "" # 9| ... ? ... : ... #-----| -> String s = ... # 9| null #-----| -> ... ? ... : ... # 9| "" #-----| -> ... ? ... : ... # 10| [assertion failure] call to method Assert #-----| exit -> exit M1 (abnormal) # 10| [assertion success] call to method Assert #-----| -> ...; # 10| ...; #-----| -> access to local variable s # 10| access to local variable s #-----| -> null # 10| ... != ... #-----| false -> [assertion failure] call to method Assert #-----| true -> [assertion success] call to method Assert # 10| null #-----| -> ... != ... # 11| call to method WriteLine #-----| -> exit M1 (normal) # 11| ...; #-----| -> access to local variable s # 11| access to local variable s #-----| -> access to property Length # 11| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> null #-----| false -> "" # 16| ... ? ... : ... #-----| -> String s = ... # 16| null #-----| -> ... ? ... : ... # 16| "" #-----| -> ... ? ... : ... # 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 # 17| access to local variable s #-----| non-null -> [assertion failure] call to method IsNull #-----| null -> [assertion success] call to method IsNull # 18| call to method WriteLine #-----| -> exit M2 (normal) # 18| ...; #-----| -> access to local variable s # 18| access to local variable s #-----| -> access to property Length # 18| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> null #-----| false -> "" # 23| ... ? ... : ... #-----| -> String s = ... # 23| null #-----| -> ... ? ... : ... # 23| "" #-----| -> ... ? ... : ... # 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 # 24| access to local variable s #-----| non-null -> [assertion success] call to method IsNotNull #-----| null -> [assertion failure] call to method IsNotNull # 25| call to method WriteLine #-----| -> exit M3 (normal) # 25| ...; #-----| -> access to local variable s # 25| access to local variable s #-----| -> access to property Length # 25| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> null #-----| false -> "" # 30| ... ? ... : ... #-----| -> String s = ... # 30| null #-----| -> ... ? ... : ... # 30| "" #-----| -> ... ? ... : ... # 31| [assertion failure] call to method IsTrue #-----| exception(AssertFailedException) -> exit M4 (abnormal) # 31| [assertion success] call to method IsTrue #-----| -> ...; # 31| ...; #-----| -> access to local variable s # 31| access to local variable s #-----| -> null # 31| ... == ... #-----| false -> [assertion failure] call to method IsTrue #-----| true -> [assertion success] call to method IsTrue # 31| null #-----| -> ... == ... # 32| call to method WriteLine #-----| -> exit M4 (normal) # 32| ...; #-----| -> access to local variable s # 32| access to local variable s #-----| -> access to property Length # 32| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> null #-----| false -> "" # 37| ... ? ... : ... #-----| -> String s = ... # 37| null #-----| -> ... ? ... : ... # 37| "" #-----| -> ... ? ... : ... # 38| [assertion failure] call to method IsTrue #-----| exception(AssertFailedException) -> exit M5 (abnormal) # 38| [assertion success] call to method IsTrue #-----| -> ...; # 38| ...; #-----| -> access to local variable s # 38| access to local variable s #-----| -> null # 38| ... != ... #-----| false -> [assertion failure] call to method IsTrue #-----| true -> [assertion success] call to method IsTrue # 38| null #-----| -> ... != ... # 39| call to method WriteLine #-----| -> exit M5 (normal) # 39| ...; #-----| -> access to local variable s # 39| access to local variable s #-----| -> access to property Length # 39| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> null #-----| false -> "" # 44| ... ? ... : ... #-----| -> String s = ... # 44| null #-----| -> ... ? ... : ... # 44| "" #-----| -> ... ? ... : ... # 45| [assertion failure] call to method IsFalse #-----| exception(AssertFailedException) -> exit M6 (abnormal) # 45| [assertion success] call to method IsFalse #-----| -> ...; # 45| ...; #-----| -> access to local variable s # 45| access to local variable s #-----| -> null # 45| ... != ... #-----| false -> [assertion success] call to method IsFalse #-----| true -> [assertion failure] call to method IsFalse # 45| null #-----| -> ... != ... # 46| call to method WriteLine #-----| -> exit M6 (normal) # 46| ...; #-----| -> access to local variable s # 46| access to local variable s #-----| -> access to property Length # 46| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> null #-----| false -> "" # 51| ... ? ... : ... #-----| -> String s = ... # 51| null #-----| -> ... ? ... : ... # 51| "" #-----| -> ... ? ... : ... # 52| [assertion failure] call to method IsFalse #-----| exception(AssertFailedException) -> exit M7 (abnormal) # 52| [assertion success] call to method IsFalse #-----| -> ...; # 52| ...; #-----| -> access to local variable s # 52| access to local variable s #-----| -> null # 52| ... == ... #-----| false -> [assertion success] call to method IsFalse #-----| true -> [assertion failure] call to method IsFalse # 52| null #-----| -> ... == ... # 53| call to method WriteLine #-----| -> exit M7 (normal) # 53| ...; #-----| -> access to local variable s # 53| access to local variable s #-----| -> access to property Length # 53| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> [b (line 56): true] null #-----| false -> [b (line 56): false] "" # 58| [b (line 56): false] ... ? ... : ... #-----| -> [b (line 56): false] String s = ... # 58| [b (line 56): true] ... ? ... : ... #-----| -> [b (line 56): true] String s = ... # 58| [b (line 56): true] null #-----| -> [b (line 56): true] ... ? ... : ... # 58| [b (line 56): false] "" #-----| -> [b (line 56): false] ... ? ... : ... # 59| [assertion failure] call to method IsTrue #-----| exception(AssertFailedException) -> exit M8 (abnormal) # 59| [assertion success] call to method IsTrue #-----| -> ...; # 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| [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] ... != ... #-----| 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| [false] ... && ... #-----| false -> [assertion failure] call to method IsTrue # 59| [true] ... && ... #-----| true -> [assertion success] call to method IsTrue # 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| call to method WriteLine #-----| -> exit M8 (normal) # 60| ...; #-----| -> access to local variable s # 60| access to local variable s #-----| -> access to property Length # 60| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> [b (line 63): true] null #-----| false -> [b (line 63): false] "" # 65| [b (line 63): false] ... ? ... : ... #-----| -> [b (line 63): false] String s = ... # 65| [b (line 63): true] ... ? ... : ... #-----| -> [b (line 63): true] String s = ... # 65| [b (line 63): true] null #-----| -> [b (line 63): true] ... ? ... : ... # 65| [b (line 63): false] "" #-----| -> [b (line 63): false] ... ? ... : ... # 66| [assertion failure] call to method IsFalse #-----| exception(AssertFailedException) -> exit M9 (abnormal) # 66| [assertion success] call to method IsFalse #-----| -> ...; # 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| [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] ... == ... #-----| 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| [false] ... || ... #-----| false -> [assertion success] call to method IsFalse # 66| [true] ... || ... #-----| true -> [assertion failure] call to method IsFalse # 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| call to method WriteLine #-----| -> exit M9 (normal) # 67| ...; #-----| -> access to local variable s # 67| access to local variable s #-----| -> access to property Length # 67| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> [b (line 70): true] null #-----| false -> [b (line 70): false] "" # 72| [b (line 70): false] ... ? ... : ... #-----| -> [b (line 70): false] String s = ... # 72| [b (line 70): true] ... ? ... : ... #-----| -> [b (line 70): true] String s = ... # 72| [b (line 70): true] null #-----| -> [b (line 70): true] ... ? ... : ... # 72| [b (line 70): false] "" #-----| -> [b (line 70): false] ... ? ... : ... # 73| [assertion failure] call to method IsTrue #-----| exception(AssertFailedException) -> exit M10 (abnormal) # 73| [assertion success] call to method IsTrue #-----| -> ...; # 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| [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] ... == ... #-----| 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| [false] ... && ... #-----| false -> [assertion failure] call to method IsTrue # 73| [true] ... && ... #-----| true -> [assertion success] call to method IsTrue # 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| call to method WriteLine #-----| -> exit M10 (normal) # 74| ...; #-----| -> access to local variable s # 74| access to local variable s #-----| -> access to property Length # 74| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> [b (line 77): true] null #-----| false -> [b (line 77): false] "" # 79| [b (line 77): false] ... ? ... : ... #-----| -> [b (line 77): false] String s = ... # 79| [b (line 77): true] ... ? ... : ... #-----| -> [b (line 77): true] String s = ... # 79| [b (line 77): true] null #-----| -> [b (line 77): true] ... ? ... : ... # 79| [b (line 77): false] "" #-----| -> [b (line 77): false] ... ? ... : ... # 80| [assertion failure] call to method IsFalse #-----| exception(AssertFailedException) -> exit M11 (abnormal) # 80| [assertion success] call to method IsFalse #-----| -> ...; # 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| [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] ... != ... #-----| 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| [false] ... || ... #-----| false -> [assertion success] call to method IsFalse # 80| [true] ... || ... #-----| true -> [assertion failure] call to method IsFalse # 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| call to method WriteLine #-----| -> exit M11 (normal) # 81| ...; #-----| -> access to local variable s # 81| access to local variable s #-----| -> access to property Length # 81| access to property Length #-----| -> call to method WriteLine # 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| access to parameter b #-----| true -> [b (line 84): true] null #-----| false -> [b (line 84): false] "" # 86| [b (line 84): false] ... ? ... : ... #-----| -> [b (line 84): false] String s = ... # 86| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] String s = ... # 86| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 86| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 87| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 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] ... != ... #-----| 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] null #-----| -> [b (line 84): false] ... != ... # 87| [b (line 84): true] null #-----| -> [b (line 84): true] ... != ... # 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 90| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 90| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 90| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 90| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 91| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 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] 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 94| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 94| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 94| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 94| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 95| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 95| [b (line 84): false] access to local variable s #-----| non-null -> [assertion success, b (line 84): false] call to method IsNotNull #-----| null -> [assertion failure, b (line 84): false] call to method IsNotNull # 95| [b (line 84): true] access to local variable s #-----| non-null -> [assertion success, b (line 84): true] call to method IsNotNull #-----| null -> [assertion failure, b (line 84): true] call to method IsNotNull # 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 98| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 98| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 98| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 98| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 99| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 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] ... == ... #-----| 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] null #-----| -> [b (line 84): false] ... == ... # 99| [b (line 84): true] null #-----| -> [b (line 84): true] ... == ... # 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 102| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 102| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 102| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 102| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 103| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 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] ... != ... #-----| 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] null #-----| -> [b (line 84): false] ... != ... # 103| [b (line 84): true] null #-----| -> [b (line 84): true] ... != ... # 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 106| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 106| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 106| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 106| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 107| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 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] ... != ... #-----| false -> [assertion success, b (line 84): false] call to method IsFalse #-----| true -> [assertion failure, b (line 84): false] call to method IsFalse # 107| [b (line 84): true] ... != ... #-----| false -> [assertion success, b (line 84): true] call to method IsFalse #-----| true -> [assertion failure, b (line 84): true] call to method IsFalse # 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] 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 110| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 110| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 110| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 110| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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] ...; #-----| -> [b (line 84): false] access to local variable s # 111| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 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] ... == ... #-----| false -> [assertion success, b (line 84): false] call to method IsFalse #-----| true -> [assertion failure, b (line 84): false] call to method IsFalse # 111| [b (line 84): true] ... == ... #-----| false -> [assertion success, b (line 84): true] call to method IsFalse #-----| true -> [assertion failure, b (line 84): true] call to method IsFalse # 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] 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] ...; #-----| -> [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] 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 # 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 # 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] access to parameter b # 114| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 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): false] ... ? ... : ... #-----| -> [b (line 84): false] ... = ... # 114| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 114| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 114| [b (line 84): false] "" #-----| -> [b (line 84): false] ... ? ... : ... # 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| [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| [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] ... != ... #-----| 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| [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] 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] call to method WriteLine #-----| -> [b (line 84): true] ...; # 116| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 116| [b (line 84): true] access to local variable s #-----| -> [b (line 84): true] access to property Length # 116| [b (line 84): true] access to property Length #-----| -> [b (line 84): true] call to method WriteLine # 118| [b (line 84): true] ... = ... #-----| -> [b (line 84): true] ...; # 118| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 118| [b (line 84): true] access to parameter b #-----| true -> [b (line 84): true] null # 118| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 118| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 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| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 119| [b (line 84): true] access to local variable s #-----| -> [b (line 84): true] null # 119| [b (line 84): true] ... == ... #-----| true -> [true, b (line 84): true] ... || ... #-----| false -> [b (line 84): true] access to parameter b # 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] 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] call to method WriteLine #-----| -> [b (line 84): true] ...; # 120| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 120| [b (line 84): true] access to local variable s #-----| -> [b (line 84): true] access to property Length # 120| [b (line 84): true] access to property Length #-----| -> [b (line 84): true] call to method WriteLine # 122| [b (line 84): true] ... = ... #-----| -> [b (line 84): true] ...; # 122| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 122| [b (line 84): true] access to parameter b #-----| true -> [b (line 84): true] null # 122| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 122| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 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| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 123| [b (line 84): true] access to local variable s #-----| -> [b (line 84): true] null # 123| [b (line 84): true] ... == ... #-----| false -> [false, b (line 84): true] ... && ... #-----| true -> [b (line 84): true] access to parameter b # 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] 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] call to method WriteLine #-----| -> [b (line 84): true] ...; # 124| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 124| [b (line 84): true] access to local variable s #-----| -> [b (line 84): true] access to property Length # 124| [b (line 84): true] access to property Length #-----| -> [b (line 84): true] call to method WriteLine # 126| [b (line 84): true] ... = ... #-----| -> [b (line 84): true] ...; # 126| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to parameter b # 126| [b (line 84): true] access to parameter b #-----| true -> [b (line 84): true] null # 126| [b (line 84): true] ... ? ... : ... #-----| -> [b (line 84): true] ... = ... # 126| [b (line 84): true] null #-----| -> [b (line 84): true] ... ? ... : ... # 127| [assertion failure] call to method IsFalse #-----| exception(AssertFailedException) -> exit M12 (abnormal) # 127| [assertion success] call to method IsFalse #-----| -> ...; # 127| [b (line 84): true] ...; #-----| -> [b (line 84): true] access to local variable s # 127| [b (line 84): true] access to local variable s #-----| -> [b (line 84): true] null # 127| [b (line 84): true] ... != ... #-----| true -> [true] ... || ... #-----| false -> [b (line 84): true] access to parameter b # 127| [false] ... || ... #-----| false -> [assertion success] call to method IsFalse # 127| [true] ... || ... #-----| true -> [assertion failure] call to method IsFalse # 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| call to method WriteLine #-----| -> exit M12 (normal) # 128| ...; #-----| -> access to local variable s # 128| access to local variable s #-----| -> access to property Length # 128| access to property Length #-----| -> call to method WriteLine # 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| [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| ...; #-----| -> this access # 140| access to parameter b1 #-----| false -> [assertion failure] access to parameter b2 #-----| true -> access to parameter b2 # 140| [assertion failure] access to parameter b2 #-----| false -> [assertion failure] access to parameter b3 # 140| access to parameter b2 #-----| false -> [assertion success] access to parameter b3 #-----| 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 #-----| -> 1 # 6| ... + ... #-----| -> ... = ... # 6| ... = ... #-----| -> ... ...; # 6| ...; #-----| -> access to local variable x # 6| 1 #-----| -> ... + ... # 8| ... ...; #-----| -> 0 # 8| dynamic d = ... #-----| -> ...; # 8| (...) ... #-----| -> dynamic d = ... # 8| 0 #-----| -> (...) ... # 9| access to local variable d #-----| -> 2 # 9| ... = ... #-----| -> ... ...; # 9| dynamic call to operator - #-----| -> ... = ... # 9| ...; #-----| -> access to local variable d # 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 #-----| -> this access # 12| ... = ... #-----| -> ...; # 12| call to operator + #-----| -> ... = ... # 12| ...; #-----| -> access to local variable a # 12| this access #-----| -> call to operator + # 14| access to event Event #-----| -> ... += ... # 14| this access #-----| -> (...) => ... # 14| ... += ... #-----| -> exit M (normal) # 14| ...; #-----| -> this access # 14| (...) => ... #-----| -> access to event Event # 14| enter (...) => ... #-----| -> {...} # 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| access to local variable arg #-----| -> null # 9| ... == ... #-----| false -> foreach (... ... in ...) ... #-----| true -> break; # 9| null #-----| -> ... == ... # 10| break; #-----| break -> {...} # 14| {...} #-----| -> if (...) ... # 15| if (...) ... #-----| -> access to parameter args # 15| access to parameter args #-----| -> null # 15| ... == ... #-----| false -> exit M1 (normal) #-----| true -> ; # 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| access to local variable arg #-----| -> null # 26| ... == ... #-----| true -> break; #-----| false -> {...} # 26| null #-----| -> ... == ... # 27| break; #-----| break -> [finally: break] {...} # 30| [finally: break] {...} #-----| -> [finally: break] if (...) ... # 30| {...} #-----| -> if (...) ... # 31| [finally: break] if (...) ... #-----| -> [finally: break] access to parameter args # 31| if (...) ... #-----| -> access to parameter args # 31| [finally: break] access to parameter args #-----| -> [finally: break] null # 31| access to parameter args #-----| -> null # 31| ... == ... #-----| false -> foreach (... ... in ...) ... #-----| true -> ; # 31| [finally: break] ... == ... #-----| true -> [finally: break] ; #-----| false -> ; # 31| [finally: break] null #-----| -> [finally: break] ... == ... # 31| null #-----| -> ... == ... # 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| access to parameter args #-----| -> null # 42| ... == ... #-----| true -> return ...; #-----| false -> {...} # 42| null #-----| -> ... == ... # 43| return ...; #-----| return -> [finally: return] {...} # 46| [finally: return] {...} #-----| -> [finally: return] access to parameter args # 46| {...} #-----| -> access to parameter args # 47| [finally: return] foreach (... ... in ...) ... #-----| return -> exit M3 (normal) #-----| non-empty -> [finally: return] String arg # 47| foreach (... ... in ...) ... #-----| non-empty -> String arg #-----| empty -> ; # 47| String arg #-----| -> {...} # 47| [finally: return] String arg #-----| -> [finally: return] {...} # 47| [finally: return] access to parameter args #-----| -> [finally: return] foreach (... ... in ...) ... # 47| access to parameter args #-----| -> foreach (... ... in ...) ... # 48| [finally: return] {...} #-----| -> [finally: return] if (...) ... # 48| {...} #-----| -> if (...) ... # 49| [finally: return] if (...) ... #-----| -> [finally: return] access to local variable arg # 49| if (...) ... #-----| -> access to local variable arg # 49| [finally: return] access to local variable arg #-----| -> [finally: return] null # 49| access to local variable arg #-----| -> null # 49| ... == ... #-----| false -> foreach (... ... in ...) ... #-----| true -> break; # 49| [finally: return] ... == ... #-----| false -> [finally: return] foreach (... ... in ...) ... #-----| true -> [finally: return] break; # 49| [finally: return] null #-----| -> [finally: return] ... == ... # 49| null #-----| -> ... == ... # 50| [finally: return] break; #-----| return -> exit M3 (normal) # 50| break; #-----| break -> ; # 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| access to parameter args #-----| -> null # 60| ... == ... #-----| true -> return ...; #-----| false -> {...} # 60| null #-----| -> ... == ... # 61| return ...; #-----| return -> [finally: return] {...} # 64| [finally: return] {...} #-----| -> [finally: return] access to parameter args # 64| {...} #-----| -> access to parameter args # 65| [finally: return] foreach (... ... in ...) ... #-----| return -> exit M4 (normal) #-----| non-empty -> [finally: return] String arg # 65| foreach (... ... in ...) ... #-----| empty -> exit M4 (normal) #-----| non-empty -> String arg # 65| String arg #-----| -> {...} # 65| [finally: return] String arg #-----| -> [finally: return] {...} # 65| [finally: return] access to parameter args #-----| -> [finally: return] foreach (... ... in ...) ... # 65| access to parameter args #-----| -> foreach (... ... in ...) ... # 66| [finally: return] {...} #-----| -> [finally: return] if (...) ... # 66| {...} #-----| -> if (...) ... # 67| [finally: return] if (...) ... #-----| -> [finally: return] access to local variable arg # 67| if (...) ... #-----| -> access to local variable arg # 67| [finally: return] access to local variable arg #-----| -> [finally: return] null # 67| access to local variable arg #-----| -> null # 67| ... == ... #-----| false -> foreach (... ... in ...) ... #-----| true -> break; # 67| [finally: return] ... == ... #-----| false -> [finally: return] foreach (... ... in ...) ... #-----| true -> [finally: return] break; # 67| [finally: return] null #-----| -> [finally: return] ... == ... # 67| null #-----| -> ... == ... # 68| [finally: return] break; #-----| return -> exit M4 (normal) # 68| break; #-----| break -> 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)] call to method WriteLine #-----| goto(End) -> End: # 37| [finally: goto(End)] ...; #-----| -> [finally: goto(End)] "Finally" # 37| [finally: goto(End)] "Finally" #-----| -> [finally: goto(End)] call to method WriteLine # 40| End: #-----| -> ...; # 40| call to method WriteLine #-----| -> exit M (normal) # 40| ...; #-----| -> "End" # 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 #-----| null -> exit M1 (normal) #-----| non-null -> call to method ToString # 3| call to method ToString #-----| null -> exit M1 (normal) #-----| non-null -> call to method ToLower # 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 #-----| null -> exit M2 (normal) #-----| non-null -> access to property Length # 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| access to parameter s1 #-----| non-null -> ... ?? ... #-----| null -> access to parameter s2 # 7| ... ?? ... #-----| null -> exit M3 (normal) #-----| non-null -> access to property Length # 7| [non-null] ... ?? ... #-----| non-null -> access to property Length # 7| [null] ... ?? ... #-----| null -> exit M3 (normal) # 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| access to parameter s #-----| non-null -> access to property Length #-----| null -> 0 # 9| ... ?? ... #-----| -> exit M4 (normal) # 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| access to parameter s #-----| non-null -> access to property Length #-----| null -> 0 # 13| ... > ... #-----| true -> 0 #-----| false -> 1 # 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 #-----| null -> exit M6 (normal) #-----| non-null -> access to parameter s2 # 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 j = ... #-----| -> ... ...; # 23| (...) ... #-----| null -> Nullable 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| ... = ... #-----| -> exit M7 (normal) # 25| ...; #-----| -> "" # 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| ... = ... #-----| -> ...; # 34| ...; #-----| -> 0 # 34| 0 #-----| -> ... = ... # 35| access to property Prop #-----| null -> exit M8 (normal) #-----| non-null -> call to method Out # 35| this access #-----| -> access to property Prop # 35| ...; #-----| -> this access # 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| access to parameter s1 #-----| -> ", " # 41| ... + ... #-----| -> access to parameter s2 # 41| ... + ... #-----| -> exit CommaJoinWith (normal) # 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] access to parameter x #-----| -> [inc (line 3): true] ...++ # 6| [inc (line 3): true] ...++ #-----| -> [inc (line 3): true] if (...) ... # 6| [inc (line 3): true] ...; #-----| -> [inc (line 3): true] access to parameter x # 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] access to local variable x #-----| -> [b (line 11): true] ...++ # 15| [b (line 11): true] ...++ #-----| -> [b (line 11): true] if (...) ... # 15| [b (line 11): true] ...; #-----| -> [b (line 11): true] access to local variable x # 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] 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] ... > ... #-----| 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] 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] access to local variable x #-----| -> [b2 (line 22): true] ...++ # 27| [b2 (line 22): true] ...++ #-----| -> [b2 (line 22): true] if (...) ... # 27| [b2 (line 22): true] ...; #-----| -> [b2 (line 22): true] access to local variable x # 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| if (...) ... #-----| -> access to parameter b2 # 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 -> ...; # 28| access to parameter b2 #-----| true -> ...; #-----| false -> access to local variable x # 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| ... = ... #-----| -> if (...) ... # 38| ...; #-----| -> access to parameter b1 # 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] access to local variable x #-----| -> [b2 (line 39): true] ...++ # 40| [b2 (line 39): true] ...++ #-----| -> [b2 (line 39): true] if (...) ... # 40| [b2 (line 39): true] ...; #-----| -> [b2 (line 39): true] access to local variable x # 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| [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| access to parameter x #-----| -> ...-- # 49| ...-- #-----| -> 0 # 49| [b (line 46): false] ...-- #-----| -> [b (line 46): false] 0 # 49| [b (line 46): true] ...-- #-----| -> [b (line 46): true] 0 # 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] 0 #-----| -> [b (line 46): false] ... > ... # 49| [b (line 46): true] 0 #-----| -> [b (line 46): true] ... > ... # 50| [b (line 46): false] {...} #-----| -> [b (line 46): false] if (...) ... # 50| [b (line 46): true] {...} #-----| -> [b (line 46): true] if (...) ... # 50| {...} #-----| -> if (...) ... # 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| if (...) ... #-----| -> access to parameter b # 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] ...; # 51| access to parameter b #-----| false -> [b (line 46): false] access to parameter x #-----| true -> [b (line 46): true] ...; # 52| [b (line 46): true] access to local variable y #-----| -> [b (line 46): true] ...++ # 52| [b (line 46): true] ...++ #-----| -> [b (line 46): true] access to parameter x # 52| [b (line 46): true] ...; #-----| -> [b (line 46): true] access to local variable y # 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| [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| access to parameter x #-----| -> ...-- # 60| ...-- #-----| -> 0 # 60| [b (line 57): false] ...-- #-----| -> [b (line 57): false] 0 # 60| [b (line 57): true] ...-- #-----| -> [b (line 57): true] 0 # 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] 0 #-----| -> [b (line 57): false] ... > ... # 60| [b (line 57): true] 0 #-----| -> [b (line 57): true] ... > ... # 61| [b (line 57): false] {...} #-----| -> [b (line 57): false] if (...) ... # 61| [b (line 57): true] {...} #-----| -> [b (line 57): true] if (...) ... # 61| {...} #-----| -> if (...) ... # 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| if (...) ... #-----| -> access to parameter b # 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] ...; # 62| access to parameter b #-----| false -> [b (line 57): false] access to parameter x #-----| true -> [b (line 57): true] ...; # 63| [b (line 57): true] access to local variable y #-----| -> [b (line 57): true] ...++ # 63| [b (line 57): true] ...++ #-----| -> [b (line 57): true] access to parameter x # 63| [b (line 57): true] ...; #-----| -> [b (line 57): true] access to local variable y # 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| if (...) ... #-----| -> access to parameter b # 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 -> ...; # 65| access to parameter b #-----| true -> ...; #-----| false -> access to local variable y # 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| access to parameter ss #-----| -> access to property Length # 72| access to property Length #-----| -> 0 # 72| ... > ... #-----| -> Boolean b = ... # 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| access to local variable x #-----| -> 0 # 78| ... > ... #-----| false -> foreach (... ... in ...) ... #-----| true -> ...; # 78| 0 #-----| -> ... > ... # 79| ... = ... #-----| -> foreach (... ... in ...) ... # 79| ...; #-----| -> false # 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| access to parameter ss #-----| -> access to property Length # 88| access to property Length #-----| -> 0 # 88| ... > ... #-----| -> Boolean b = ... # 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| access to local variable x #-----| -> 0 # 94| ... > ... #-----| true -> ...; #-----| false -> if (...) ... # 94| 0 #-----| -> ... > ... # 95| ... = ... #-----| -> if (...) ... # 95| ...; #-----| -> false # 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| access to parameter b #-----| -> call to method ToString # 104| call to method ToString #-----| -> String x = ... # 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] access to local variable x #-----| -> [b (line 102): true] "" # 106| [b (line 102): true] ... + ... #-----| -> [b (line 102): true] ... = ... # 106| [b (line 102): true] ... = ... #-----| -> [b (line 102): true] if (...) ... # 106| [b (line 102): true] ...; #-----| -> [b (line 102): true] access to local variable x # 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] 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] 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] ... > ... #-----| 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] 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| ... + ... #-----| -> ... = ... # 109| ... = ... #-----| -> access to local variable x # 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| access to local variable i #-----| -> access to parameter args # 116| ... < ... #-----| false -> exit M9 (normal) #-----| true -> {...} # 116| access to parameter args #-----| -> access to property Length # 116| 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| access to local variable i #-----| -> access to parameter args # 118| ... == ... #-----| -> Boolean last = ... # 118| access to parameter args #-----| -> access to property Length # 118| access to property Length #-----| -> 1 # 118| ... - ... #-----| -> ... == ... # 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 #-----| false -> [true, last (line 118): false] !... #-----| true -> [false, last (line 118): true] !... # 120| [last (line 118): false] ... = ... #-----| -> [last (line 118): false] if (...) ... # 120| [last (line 118): false] ...; #-----| -> [last (line 118): false] "" # 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| ... = ... #-----| -> access to local variable i # 122| ...; #-----| -> null # 122| null #-----| -> ... = ... # 129| enter M10 #-----| -> {...} # 130| {...} #-----| -> while (...) ... # 131| while (...) ... #-----| -> 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] {...} # 131| true #-----| true -> {...} # 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 (...) ... # 132| {...} #-----| -> if (...) ... # 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| if (...) ... #-----| -> this access # 133| [Field1 (line 129): false] access to field Field1 #-----| false -> [Field1 (line 129): false] true # 133| [Field1 (line 129): false] this access #-----| -> [Field1 (line 129): false] access to field Field1 # 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): false] this access #-----| -> [Field1 (line 129): true, Field2 (line 129): false] access to field Field1 # 133| [Field1 (line 129): true, Field2 (line 129): true] access to field Field1 #-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...} # 133| [Field1 (line 129): true, Field2 (line 129): true] this access #-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field1 # 133| access to field Field1 #-----| false -> [Field1 (line 129): false] true #-----| true -> [Field1 (line 129): true] {...} # 133| this access #-----| -> access to field Field1 # 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 (...) ... # 134| [Field1 (line 129): true] {...} #-----| -> [Field1 (line 129): true] if (...) ... # 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] if (...) ... #-----| -> [Field1 (line 129): true] this access # 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): false] this access #-----| -> [Field1 (line 129): true, Field2 (line 129): false] access to field Field2 # 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, Field2 (line 129): true] this access #-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field2 # 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] this access #-----| -> [Field1 (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] 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 # 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] ...; #-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access # 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| access to parameter b #-----| true -> [b (line 143): true] "a" #-----| false -> [b (line 143): false] "b" # 145| [b (line 143): false] ... ? ... : ... #-----| -> [b (line 143): false] String s = ... # 145| [b (line 143): true] ... ? ... : ... #-----| -> [b (line 143): true] String s = ... # 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| call to method WriteLine #-----| -> exit M11 (normal) # 147| ...; #-----| -> "a = " # 147| $"..." #-----| -> call to method WriteLine # 147| "a = " #-----| -> access to local variable s # 147| access to local variable s #-----| -> $"..." # 149| call to method WriteLine #-----| -> exit M11 (normal) # 149| ...; #-----| -> "b = " # 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| call to method ErrorMaybe #-----| -> return ...; # 10| ...; #-----| -> true # 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| call to method ErrorMaybe #-----| -> return ...; # 16| ...; #-----| -> false # 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| call to method ErrorAlways #-----| exception(Exception) -> exit M3 (abnormal) # 22| ...; #-----| -> true # 22| true #-----| -> call to method ErrorAlways # 26| enter M4 #-----| -> {...} # 26| exit M4 # 26| exit M4 (abnormal) #-----| -> exit M4 # 27| {...} #-----| -> ...; # 28| call to method Exit #-----| exit -> exit M4 (abnormal) # 28| this access #-----| -> call to method Exit # 28| ...; #-----| -> this access # 32| enter M5 #-----| -> {...} # 32| exit M5 # 32| exit M5 (abnormal) #-----| -> exit M5 # 33| {...} #-----| -> ...; # 34| call to method ApplicationExit #-----| exit -> exit M5 (abnormal) # 34| this access #-----| -> call to method ApplicationExit # 34| ...; #-----| -> this access # 38| enter M6 #-----| -> {...} # 38| exit M6 # 38| exit M6 (normal) #-----| -> exit M6 # 39| {...} #-----| -> try {...} ... # 40| try {...} ... #-----| -> {...} # 41| {...} #-----| -> ...; # 42| call to method ErrorAlways #-----| exception(ArgumentException) -> [exception: ArgumentException] catch (...) {...} #-----| exception(Exception) -> [exception: Exception] catch (...) {...} # 42| ...; #-----| -> false # 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 #-----| exception(Exception) -> exit M7 (abnormal) # 56| ...; #-----| -> call to method ErrorAlways2 # 60| enter M8 #-----| -> {...} # 60| exit M8 # 60| exit M8 (abnormal) #-----| -> exit M8 # 61| {...} #-----| -> ...; # 62| call to method ErrorAlways3 #-----| exception(Exception) -> exit M8 (abnormal) # 62| ...; #-----| -> call to method ErrorAlways3 # 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 #-----| false -> exit ErrorMaybe (normal) #-----| true -> object creation of type Exception # 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| call to method Exit #-----| exit -> exit Exit (abnormal) # 89| ...; #-----| -> 0 # 89| 0 #-----| -> call to method Exit # 92| enter ExitInTry #-----| -> {...} # 92| exit ExitInTry # 92| exit ExitInTry (abnormal) #-----| -> exit ExitInTry # 93| {...} #-----| -> try {...} ... # 94| try {...} ... #-----| -> {...} # 95| {...} #-----| -> ...; # 96| call to method Exit #-----| exit -> exit ExitInTry (abnormal) # 96| this access #-----| -> call to method Exit # 96| ...; #-----| -> this access # 105| enter ApplicationExit #-----| -> {...} # 105| exit ApplicationExit # 105| exit ApplicationExit (abnormal) #-----| -> exit ApplicationExit # 106| {...} #-----| -> ...; # 107| call to method Exit #-----| exit -> exit ApplicationExit (abnormal) # 107| ...; #-----| -> call to method Exit # 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| access to parameter input #-----| -> 0 # 112| ... != ... #-----| true -> 1 #-----| false -> "input" # 112| ... ? ... : ... #-----| -> return ...; # 112| (...) ... #-----| -> ... != ... # 112| 0 #-----| -> (...) ... # 112| (...) ... #-----| -> access to parameter input # 112| 1 #-----| -> (...) ... # 112| ... / ... #-----| -> ... ? ... : ... # 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| access to parameter s #-----| -> - # 117| call to method Contains #-----| true -> 0 #-----| false -> 1 # 117| ... ? ... : ... #-----| -> return ...; # 117| - #-----| -> call to method Contains # 117| 0 #-----| -> ... ? ... : ... # 117| 1 #-----| -> ... ? ... : ... # 120| enter FailingAssertion #-----| -> {...} # 120| exit FailingAssertion # 120| exit FailingAssertion (abnormal) #-----| -> exit FailingAssertion # 121| {...} #-----| -> ...; # 122| [assertion failure] call to method IsTrue #-----| exception(AssertFailedException) -> exit FailingAssertion (abnormal) # 122| ...; #-----| -> false # 122| false #-----| false -> [assertion failure] call to method IsTrue # 126| enter FailingAssertion2 #-----| -> {...} # 126| exit FailingAssertion2 # 126| exit FailingAssertion2 (abnormal) #-----| -> exit FailingAssertion2 # 127| {...} #-----| -> ...; # 128| call to method FailingAssertion #-----| exception(AssertFailedException) -> exit FailingAssertion2 (abnormal) # 128| this access #-----| -> call to method FailingAssertion # 128| ...; #-----| -> this access # 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 #-----| false -> [assertion success] call to method IsFalse #-----| true -> [assertion failure] call to method IsFalse # 134| enter FailingAssertion3 #-----| -> {...} # 134| exit FailingAssertion3 # 134| exit FailingAssertion3 (abnormal) #-----| -> exit FailingAssertion3 # 135| {...} #-----| -> ...; # 136| [assertion failure] call to method AssertFalse #-----| exception(AssertFailedException) -> exit FailingAssertion3 (abnormal) # 136| this access #-----| -> true # 136| ...; #-----| -> this access # 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| call to method Throw #-----| exception(ArgumentException) -> exit ExceptionDispatchInfoThrow (abnormal) # 143| ...; #-----| -> access to parameter e # 143| access to parameter e #-----| -> call to method Throw # 145| call to method Capture #-----| -> call to method Throw # 145| call to method Throw #-----| exception(Exception) -> exit ExceptionDispatchInfoThrow (abnormal) # 145| ...; #-----| -> access to parameter e # 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| access to parameter f #-----| -> access to parameter s # 12| delegate call #-----| -> return ...; # 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 #-----| -> call to method ToInt32 # 22| call to method ToInt32 #-----| -> ...; # 22| ...; #-----| -> access to parameter s # 23| call to method ToInt32 #-----| -> ...; # 23| ...; #-----| -> "" # 23| "" #-----| -> call to method ToInt32 # 24| call to method ToBool #-----| -> ...; # 24| ...; #-----| -> "true" # 24| "true" #-----| -> access to method Parse # 24| access to method Parse #-----| -> delegate creation of type Func # 24| delegate creation of type Func #-----| -> call to method ToBool # 25| "true" #-----| -> access to method Parse # 25| call to method ToBool #-----| -> exit Main (normal) # 25| ...; #-----| -> "true" # 25| access to method Parse #-----| -> delegate creation of type Func # 25| delegate creation of type Func #-----| -> call to method ToBool 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| call to method WriteLine #-----| exception(Exception) -> [finally: exception(Exception)] {...} #-----| -> {...} # 11| ...; #-----| -> "Try1" # 11| "Try1" #-----| -> call to method WriteLine # 14| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 14| {...} #-----| -> ...; # 15| [finally: exception(Exception)] call to method WriteLine #-----| exception(Exception) -> exit M1 (abnormal) # 15| call to method WriteLine #-----| -> exit M1 (normal) # 15| ...; #-----| -> "Finally" # 15| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] "Finally" # 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| call to method WriteLine #-----| -> return ...; #-----| exception(Exception) -> [exception: Exception] catch (...) {...} # 23| ...; #-----| -> "Try2" # 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| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 49| [finally: exception(IOException)] {...} #-----| -> [finally: exception(IOException)] ...; # 49| [finally: return] {...} #-----| -> [finally: return] ...; # 49| {...} #-----| -> ...; # 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: return] call to method WriteLine #-----| return -> exit M2 (normal) # 50| call to method WriteLine #-----| -> exit M2 (normal) # 50| ...; #-----| -> "Finally" # 50| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] "Finally" # 50| [finally: exception(IOException)] ...; #-----| -> [finally: exception(IOException)] "Finally" # 50| [finally: return] ...; #-----| -> [finally: return] "Finally" # 50| "Finally" #-----| -> 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 # 50| [finally: return] "Finally" #-----| -> [finally: return] 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| call to method WriteLine #-----| -> return ...; #-----| exception(Exception) -> [exception: Exception] catch (...) {...} # 58| ...; #-----| -> "Try3" # 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] access to local variable e #-----| -> [exception: Exception] access to property Message # 65| [exception: Exception] access to property Message #-----| -> [exception: Exception] null # 65| [exception: Exception] ... != ... #-----| true -> {...} #-----| exception(Exception) -> [finally: exception(Exception)] {...} # 65| [exception: Exception] null #-----| -> [exception: Exception] ... != ... # 66| {...} #-----| -> {...} # 69| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 69| [finally: exception(IOException)] {...} #-----| -> [finally: exception(IOException)] ...; # 69| [finally: return] {...} #-----| -> [finally: return] ...; # 69| {...} #-----| -> ...; # 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: return] call to method WriteLine #-----| return -> exit M3 (normal) # 70| call to method WriteLine #-----| -> exit M3 (normal) # 70| ...; #-----| -> "Finally" # 70| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] "Finally" # 70| [finally: exception(IOException)] ...; #-----| -> [finally: exception(IOException)] "Finally" # 70| [finally: return] ...; #-----| -> [finally: return] "Finally" # 70| "Finally" #-----| -> 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 # 70| [finally: return] "Finally" #-----| -> [finally: return] 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| access to local variable i #-----| -> 0 # 77| ... > ... #-----| false -> exit M4 (normal) #-----| true -> {...} # 77| 0 #-----| -> ... > ... # 78| {...} #-----| -> try {...} ... # 79| try {...} ... #-----| -> {...} # 80| {...} #-----| -> if (...) ... # 81| if (...) ... #-----| -> access to local variable i # 81| access to local variable i #-----| -> 0 # 81| ... == ... #-----| true -> return ...; #-----| false -> if (...) ... # 81| 0 #-----| -> ... == ... # 82| return ...; #-----| return -> [finally: return] {...} # 83| if (...) ... #-----| -> access to local variable i # 83| access to local variable i #-----| -> 1 # 83| ... == ... #-----| true -> continue; #-----| false -> if (...) ... # 83| 1 #-----| -> ... == ... # 84| continue; #-----| continue -> [finally: continue] {...} # 85| if (...) ... #-----| -> access to local variable i # 85| access to local variable i #-----| -> 2 # 85| ... == ... #-----| true -> break; #-----| false -> {...} # 85| 2 #-----| -> ... == ... # 86| break; #-----| break -> [finally: break] {...} # 89| [finally: break] {...} #-----| -> [finally: break] try {...} ... # 89| [finally: continue] {...} #-----| -> [finally: continue] try {...} ... # 89| [finally: return] {...} #-----| -> [finally: return] try {...} ... # 89| {...} #-----| -> try {...} ... # 90| [finally: break] try {...} ... #-----| -> [finally: break] {...} # 90| [finally: continue] try {...} ... #-----| -> [finally: continue] {...} # 90| [finally: return] try {...} ... #-----| -> [finally: return] {...} # 90| try {...} ... #-----| -> {...} # 91| [finally: break] {...} #-----| -> [finally: break] if (...) ... # 91| [finally: continue] {...} #-----| -> [finally: continue] if (...) ... # 91| [finally: return] {...} #-----| -> [finally: return] if (...) ... # 91| {...} #-----| -> if (...) ... # 92| [finally: break] if (...) ... #-----| -> [finally: break] access to local variable i # 92| [finally: continue] if (...) ... #-----| -> [finally: continue] access to local variable i # 92| [finally: return] if (...) ... #-----| -> [finally: return] access to local variable i # 92| if (...) ... #-----| -> access to local variable i # 92| [finally: break] access to local variable i #-----| -> [finally: break] 3 # 92| [finally: continue] access to local variable i #-----| -> [finally: continue] 3 # 92| [finally: return] access to local variable i #-----| -> [finally: return] 3 # 92| access to local variable i #-----| -> 3 # 92| ... == ... #-----| true -> object creation of type Exception #-----| false -> {...} # 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| [finally: return] ... == ... #-----| true -> [finally: return] object creation of type Exception #-----| false -> [finally: return] {...} # 92| 3 #-----| -> ... == ... # 92| [finally: break] 3 #-----| -> [finally: break] ... == ... # 92| [finally: continue] 3 #-----| -> [finally: continue] ... == ... # 92| [finally: return] 3 #-----| -> [finally: return] ... == ... # 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| [finally: return] throw ...; #-----| exception(Exception) -> [finally: return, finally(1): exception(Exception)] {...} # 93| throw ...; #-----| exception(Exception) -> [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)] {...} # 93| [finally: return] object creation of type Exception #-----| -> [finally: return] throw ...; #-----| exception(Exception) -> [finally: return, finally(1): exception(Exception)] {...} # 93| object creation of type Exception #-----| -> throw ...; #-----| exception(Exception) -> [finally(1): exception(Exception)] {...} # 96| [finally(1): exception(Exception)] {...} #-----| -> [finally(1): exception(Exception)] ...; # 96| [finally: break, finally(1): exception(Exception)] {...} #-----| -> [finally: break, finally(1): exception(Exception)] ...; # 96| [finally: break] {...} #-----| -> [finally: break] ...; # 96| [finally: continue, finally(1): exception(Exception)] {...} #-----| -> [finally: continue, finally(1): exception(Exception)] ...; # 96| [finally: continue] {...} #-----| -> [finally: continue] ...; # 96| [finally: return, finally(1): exception(Exception)] {...} #-----| -> [finally: return, finally(1): exception(Exception)] ...; # 96| [finally: return] {...} #-----| -> [finally: return] ...; # 96| {...} #-----| -> ...; # 97| [finally(1): exception(Exception)] access to local variable i #-----| -> [finally(1): exception(Exception)] ...-- # 97| [finally: break, finally(1): exception(Exception)] access to local variable i #-----| -> [finally: break, finally(1): exception(Exception)] ...-- # 97| [finally: break] access to local variable i #-----| -> [finally: break] ...-- # 97| [finally: continue, finally(1): exception(Exception)] access to local variable i #-----| -> [finally: continue, finally(1): exception(Exception)] ...-- # 97| [finally: continue] access to local variable i #-----| -> [finally: continue] ...-- # 97| [finally: return, finally(1): exception(Exception)] access to local variable i #-----| -> [finally: return, finally(1): exception(Exception)] ...-- # 97| [finally: return] access to local variable i #-----| -> [finally: return] ...-- # 97| access to local variable i #-----| -> ...-- # 97| ...-- #-----| -> access to local variable i # 97| [finally(1): exception(Exception)] ...-- #-----| exception(Exception) -> exit M4 (abnormal) # 97| [finally: break, finally(1): exception(Exception)] ...-- #-----| exception(Exception) -> exit M4 (abnormal) # 97| [finally: break] ...-- #-----| break -> exit M4 (normal) # 97| [finally: continue, finally(1): exception(Exception)] ...-- #-----| exception(Exception) -> exit M4 (abnormal) # 97| [finally: continue] ...-- #-----| continue -> access to local variable i # 97| [finally: return, finally(1): exception(Exception)] ...-- #-----| exception(Exception) -> exit M4 (abnormal) # 97| [finally: return] ...-- #-----| return -> exit M4 (normal) # 97| ...; #-----| -> access to local variable i # 97| [finally(1): exception(Exception)] ...; #-----| -> [finally(1): exception(Exception)] 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: break] ...; #-----| -> [finally: break] access to local variable i # 97| [finally: continue, finally(1): exception(Exception)] ...; #-----| -> [finally: continue, finally(1): exception(Exception)] access to local variable i # 97| [finally: continue] ...; #-----| -> [finally: continue] 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: return] ...; #-----| -> [finally: return] access to local variable i # 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| access to field Field #-----| -> access to property Length #-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...} # 107| this access #-----| -> access to field Field # 107| access to property Length #-----| -> 0 #-----| exception(Exception) -> [finally: exception(Exception)] {...} #-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...} # 107| ... == ... #-----| true -> return ...; #-----| false -> if (...) ... # 107| 0 #-----| -> ... == ... # 108| return ...; #-----| return -> [finally: return] {...} # 109| if (...) ... #-----| -> this access # 109| access to field Field #-----| -> access to property Length #-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...} # 109| this access #-----| -> access to field Field # 109| access to property Length #-----| -> 1 #-----| exception(Exception) -> [finally: exception(Exception)] {...} #-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...} # 109| ... == ... #-----| true -> object creation of type OutOfMemoryException #-----| false -> {...} # 109| 1 #-----| -> ... == ... # 110| throw ...; #-----| exception(OutOfMemoryException) -> [finally: exception(OutOfMemoryException)] {...} # 110| object creation of type OutOfMemoryException #-----| -> throw ...; #-----| exception(Exception) -> [finally: exception(Exception)] {...} # 113| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] if (...) ... # 113| [finally: exception(NullReferenceException)] {...} #-----| -> [finally: exception(NullReferenceException)] if (...) ... # 113| [finally: exception(OutOfMemoryException)] {...} #-----| -> [finally: exception(OutOfMemoryException)] if (...) ... # 113| [finally: return] {...} #-----| -> [finally: return] if (...) ... # 113| {...} #-----| -> if (...) ... # 114| [finally: exception(Exception)] if (...) ... #-----| -> [finally: exception(Exception)] this access # 114| [finally: exception(NullReferenceException)] if (...) ... #-----| -> [finally: exception(NullReferenceException)] this access # 114| [finally: exception(OutOfMemoryException)] if (...) ... #-----| -> [finally: exception(OutOfMemoryException)] this access # 114| [finally: return] if (...) ... #-----| -> [finally: return] this access # 114| if (...) ... #-----| -> this access # 114| [false, finally: exception(Exception)] !... #-----| false -> [finally: exception(Exception)] if (...) ... # 114| [false, finally: exception(NullReferenceException)] !... #-----| false -> [finally: exception(NullReferenceException)] if (...) ... # 114| [false, finally: exception(OutOfMemoryException)] !... #-----| false -> [finally: exception(OutOfMemoryException)] if (...) ... # 114| [false, finally: return] !... #-----| false -> [finally: return] if (...) ... # 114| [false] !... #-----| false -> if (...) ... # 114| [true, finally: exception(Exception)] !... #-----| true -> [finally: exception(Exception)] ...; # 114| [true, finally: exception(NullReferenceException)] !... #-----| true -> [finally: exception(NullReferenceException)] ...; # 114| [true, finally: exception(OutOfMemoryException)] !... #-----| true -> [finally: exception(OutOfMemoryException)] ...; # 114| [true, finally: return] !... #-----| true -> [finally: return] ...; # 114| [true] !... #-----| true -> ...; # 114| [finally: exception(Exception)] access to field Field #-----| -> [finally: exception(Exception)] access to property Length # 114| [finally: exception(Exception)] this access #-----| -> [finally: exception(Exception)] access to field Field # 114| [finally: exception(NullReferenceException)] access to field Field #-----| -> [finally: exception(NullReferenceException)] access to property Length # 114| [finally: exception(NullReferenceException)] this access #-----| -> [finally: exception(NullReferenceException)] access to field Field # 114| [finally: exception(OutOfMemoryException)] access to field Field #-----| -> [finally: exception(OutOfMemoryException)] access to property Length # 114| [finally: exception(OutOfMemoryException)] this access #-----| -> [finally: exception(OutOfMemoryException)] access to field Field # 114| [finally: return] access to field Field #-----| -> [finally: return] access to property Length # 114| [finally: return] this access #-----| -> [finally: return] access to field Field # 114| access to field Field #-----| -> access to property Length # 114| this access #-----| -> access to field Field # 114| [finally: exception(Exception)] access to property Length #-----| -> [finally: exception(Exception)] 0 # 114| [finally: exception(NullReferenceException)] access to property Length #-----| -> [finally: exception(NullReferenceException)] 0 # 114| [finally: exception(OutOfMemoryException)] access to property Length #-----| -> [finally: exception(OutOfMemoryException)] 0 # 114| [finally: return] access to property Length #-----| -> [finally: return] 0 # 114| access to property Length #-----| -> 0 # 114| ... == ... #-----| false -> [true] !... #-----| true -> [false] !... # 114| [finally: exception(Exception)] ... == ... #-----| false -> [true, finally: exception(Exception)] !... #-----| true -> [false, finally: exception(Exception)] !... # 114| [finally: exception(NullReferenceException)] ... == ... #-----| false -> [true, finally: exception(NullReferenceException)] !... #-----| true -> [false, finally: exception(NullReferenceException)] !... # 114| [finally: exception(OutOfMemoryException)] ... == ... #-----| false -> [true, finally: exception(OutOfMemoryException)] !... #-----| true -> [false, finally: exception(OutOfMemoryException)] !... # 114| [finally: return] ... == ... #-----| false -> [true, finally: return] !... #-----| true -> [false, finally: return] !... # 114| 0 #-----| -> ... == ... # 114| [finally: exception(Exception)] 0 #-----| -> [finally: exception(Exception)] ... == ... # 114| [finally: exception(NullReferenceException)] 0 #-----| -> [finally: exception(NullReferenceException)] ... == ... # 114| [finally: exception(OutOfMemoryException)] 0 #-----| -> [finally: exception(OutOfMemoryException)] ... == ... # 114| [finally: return] 0 #-----| -> [finally: return] ... == ... # 115| [finally: exception(Exception)] call to method WriteLine #-----| -> [finally: exception(Exception)] if (...) ... # 115| [finally: exception(NullReferenceException)] call to method WriteLine #-----| -> [finally: exception(NullReferenceException)] if (...) ... # 115| [finally: exception(OutOfMemoryException)] call to method WriteLine #-----| -> [finally: exception(OutOfMemoryException)] if (...) ... # 115| [finally: return] call to method WriteLine #-----| -> [finally: return] if (...) ... # 115| call to method WriteLine #-----| -> if (...) ... # 115| ...; #-----| -> this access # 115| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] this access # 115| [finally: exception(NullReferenceException)] ...; #-----| -> [finally: exception(NullReferenceException)] this access # 115| [finally: exception(OutOfMemoryException)] ...; #-----| -> [finally: exception(OutOfMemoryException)] this access # 115| [finally: return] ...; #-----| -> [finally: return] this access # 115| [finally: exception(Exception)] access to field Field #-----| -> [finally: exception(Exception)] call to method WriteLine # 115| [finally: exception(Exception)] this access #-----| -> [finally: exception(Exception)] access to field Field # 115| [finally: exception(NullReferenceException)] access to field Field #-----| -> [finally: exception(NullReferenceException)] call to method WriteLine # 115| [finally: exception(NullReferenceException)] this access #-----| -> [finally: exception(NullReferenceException)] access to field Field # 115| [finally: exception(OutOfMemoryException)] access to field Field #-----| -> [finally: exception(OutOfMemoryException)] call to method WriteLine # 115| [finally: exception(OutOfMemoryException)] this access #-----| -> [finally: exception(OutOfMemoryException)] access to field Field # 115| [finally: return] access to field Field #-----| -> [finally: return] call to method WriteLine # 115| [finally: return] this access #-----| -> [finally: return] access to field Field # 115| access to field Field #-----| -> call to method WriteLine # 115| this access #-----| -> access to field Field # 116| [finally: exception(Exception)] if (...) ... #-----| -> [finally: exception(Exception)] this access # 116| [finally: exception(NullReferenceException)] if (...) ... #-----| -> [finally: exception(NullReferenceException)] this access # 116| [finally: exception(OutOfMemoryException)] if (...) ... #-----| -> [finally: exception(OutOfMemoryException)] this access # 116| [finally: return] if (...) ... #-----| -> [finally: return] this access # 116| if (...) ... #-----| -> this access # 116| [finally: exception(Exception)] access to field Field #-----| -> [finally: exception(Exception)] access to property Length # 116| [finally: exception(Exception)] this access #-----| -> [finally: exception(Exception)] access to field Field # 116| [finally: exception(NullReferenceException)] access to field Field #-----| -> [finally: exception(NullReferenceException)] access to property Length # 116| [finally: exception(NullReferenceException)] this access #-----| -> [finally: exception(NullReferenceException)] access to field Field # 116| [finally: exception(OutOfMemoryException)] access to field Field #-----| -> [finally: exception(OutOfMemoryException)] access to property Length # 116| [finally: exception(OutOfMemoryException)] this access #-----| -> [finally: exception(OutOfMemoryException)] access to field Field # 116| [finally: return] access to field Field #-----| -> [finally: return] access to property Length # 116| [finally: return] this access #-----| -> [finally: return] access to field Field # 116| access to field Field #-----| -> access to property Length # 116| this access #-----| -> access to field Field # 116| [finally: exception(Exception)] access to property Length #-----| -> [finally: exception(Exception)] 0 # 116| [finally: exception(NullReferenceException)] access to property Length #-----| -> [finally: exception(NullReferenceException)] 0 # 116| [finally: exception(OutOfMemoryException)] access to property Length #-----| -> [finally: exception(OutOfMemoryException)] 0 # 116| [finally: return] access to property Length #-----| -> [finally: return] 0 # 116| access to property Length #-----| -> 0 # 116| ... > ... #-----| false -> exit M5 (normal) #-----| true -> ...; # 116| [finally: exception(Exception)] ... > ... #-----| exception(Exception) -> exit M5 (abnormal) #-----| true -> [finally: exception(Exception)] ...; # 116| [finally: exception(NullReferenceException)] ... > ... #-----| exception(NullReferenceException) -> exit M5 (abnormal) #-----| true -> [finally: exception(NullReferenceException)] ...; # 116| [finally: exception(OutOfMemoryException)] ... > ... #-----| exception(OutOfMemoryException) -> exit M5 (abnormal) #-----| true -> [finally: exception(OutOfMemoryException)] ...; # 116| [finally: return] ... > ... #-----| return -> exit M5 (normal) #-----| true -> [finally: return] ...; # 116| 0 #-----| -> ... > ... # 116| [finally: exception(Exception)] 0 #-----| -> [finally: exception(Exception)] ... > ... # 116| [finally: exception(NullReferenceException)] 0 #-----| -> [finally: exception(NullReferenceException)] ... > ... # 116| [finally: exception(OutOfMemoryException)] 0 #-----| -> [finally: exception(OutOfMemoryException)] ... > ... # 116| [finally: return] 0 #-----| -> [finally: return] ... > ... # 117| [finally: exception(Exception)] call to method WriteLine #-----| exception(Exception) -> exit M5 (abnormal) # 117| [finally: exception(NullReferenceException)] call to method WriteLine #-----| exception(NullReferenceException) -> exit M5 (abnormal) # 117| [finally: exception(OutOfMemoryException)] call to method WriteLine #-----| exception(OutOfMemoryException) -> exit M5 (abnormal) # 117| [finally: return] call to method WriteLine #-----| return -> exit M5 (normal) # 117| call to method WriteLine #-----| -> exit M5 (normal) # 117| ...; #-----| -> 1 # 117| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] 1 # 117| [finally: exception(NullReferenceException)] ...; #-----| -> [finally: exception(NullReferenceException)] 1 # 117| [finally: exception(OutOfMemoryException)] ...; #-----| -> [finally: exception(OutOfMemoryException)] 1 # 117| [finally: return] ...; #-----| -> [finally: return] 1 # 117| 1 #-----| -> call to method WriteLine # 117| [finally: exception(Exception)] 1 #-----| -> [finally: exception(Exception)] call to method WriteLine # 117| [finally: exception(NullReferenceException)] 1 #-----| -> [finally: exception(NullReferenceException)] call to method WriteLine # 117| [finally: exception(OutOfMemoryException)] 1 #-----| -> [finally: exception(OutOfMemoryException)] call to method WriteLine # 117| [finally: return] 1 #-----| -> [finally: return] 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| (...) ... #-----| -> access to constant E # 125| 0 #-----| -> (...) ... # 125| ... / ... #-----| -> Double temp = ... # 125| access to constant E #-----| -> ... / ... # 133| enter M7 #-----| -> {...} # 133| exit M7 # 133| exit M7 (abnormal) #-----| -> exit M7 # 134| {...} #-----| -> try {...} ... # 135| try {...} ... #-----| -> {...} # 136| {...} #-----| -> ...; # 137| call to method WriteLine #-----| exception(Exception) -> [finally: exception(Exception)] {...} #-----| -> {...} # 137| ...; #-----| -> "Try" # 137| "Try" #-----| -> call to method WriteLine # 140| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] "" # 140| {...} #-----| -> "" # 141| [finally: exception(Exception)] throw ...; #-----| exception(ArgumentException) -> exit M7 (abnormal) # 141| throw ...; #-----| exception(ArgumentException) -> exit M7 (abnormal) # 141| [finally: exception(Exception)] object creation of type ArgumentException #-----| -> [finally: exception(Exception)] throw ...; # 141| object creation of type ArgumentException #-----| -> 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| access to parameter args #-----| -> null # 151| ... == ... #-----| true -> object creation of type ArgumentNullException #-----| false -> {...} # 151| null #-----| -> ... == ... # 152| throw ...; #-----| exception(ArgumentNullException) -> [finally: exception(ArgumentNullException)] {...} # 152| object creation of type ArgumentNullException #-----| -> throw ...; #-----| exception(Exception) -> [finally: exception(Exception)] {...} # 155| [finally: exception(ArgumentNullException)] {...} #-----| -> [finally: exception(ArgumentNullException)] try {...} ... # 155| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] try {...} ... # 155| {...} #-----| -> try {...} ... # 156| [finally: exception(ArgumentNullException)] try {...} ... #-----| -> [finally: exception(ArgumentNullException)] {...} # 156| [finally: exception(Exception)] try {...} ... #-----| -> [finally: exception(Exception)] {...} # 156| try {...} ... #-----| -> {...} # 157| [finally: exception(ArgumentNullException)] {...} #-----| -> [finally: exception(ArgumentNullException)] if (...) ... # 157| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] if (...) ... # 157| {...} #-----| -> if (...) ... # 158| [finally: exception(ArgumentNullException)] if (...) ... #-----| -> [finally: exception(ArgumentNullException)] access to parameter args # 158| [finally: exception(Exception)] if (...) ... #-----| -> [finally: exception(Exception)] access to parameter args # 158| if (...) ... #-----| -> access to parameter args # 158| [finally: exception(ArgumentNullException)] access to parameter args #-----| -> [finally: exception(ArgumentNullException)] access to property Length # 158| [finally: exception(Exception)] access to parameter args #-----| -> [finally: exception(Exception)] access to property Length # 158| access to parameter args #-----| -> access to property Length # 158| [finally: exception(ArgumentNullException)] access to property Length #-----| -> [finally: exception(ArgumentNullException)] 1 #-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} #-----| exception(NullReferenceException) -> [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...} # 158| [finally: exception(Exception)] access to property Length #-----| -> [finally: exception(Exception)] 1 #-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...} #-----| exception(NullReferenceException) -> [finally: exception(Exception), exception: NullReferenceException] catch (...) {...} # 158| access to property Length #-----| -> 1 #-----| exception(Exception) -> [exception: Exception] catch (...) {...} #-----| exception(NullReferenceException) -> [exception: NullReferenceException] catch (...) {...} # 158| ... == ... #-----| false -> exit M8 (normal) #-----| true -> "1" # 158| [finally: exception(ArgumentNullException)] ... == ... #-----| exception(ArgumentNullException) -> exit M8 (abnormal) #-----| true -> [finally: exception(ArgumentNullException)] "1" # 158| [finally: exception(Exception)] ... == ... #-----| exception(Exception) -> exit M8 (abnormal) #-----| true -> [finally: exception(Exception)] "1" # 158| 1 #-----| -> ... == ... # 158| [finally: exception(ArgumentNullException)] 1 #-----| -> [finally: exception(ArgumentNullException)] ... == ... # 158| [finally: exception(Exception)] 1 #-----| -> [finally: exception(Exception)] ... == ... # 159| [finally: exception(ArgumentNullException)] throw ...; #-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} # 159| [finally: exception(Exception)] throw ...; #-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...} # 159| throw ...; #-----| exception(Exception) -> [exception: Exception] catch (...) {...} # 159| [finally: exception(ArgumentNullException)] object creation of type Exception #-----| -> [finally: exception(ArgumentNullException)] throw ...; #-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} # 159| [finally: exception(Exception)] object creation of type Exception #-----| -> [finally: exception(Exception)] throw ...; #-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...} # 159| object creation of type Exception #-----| -> throw ...; #-----| exception(Exception) -> [exception: Exception] catch (...) {...} # 159| "1" #-----| -> object creation of type Exception # 159| [finally: exception(ArgumentNullException)] "1" #-----| -> [finally: exception(ArgumentNullException)] object creation of type Exception # 159| [finally: exception(Exception)] "1" #-----| -> [finally: exception(Exception)] object creation of type Exception # 161| [exception: Exception] catch (...) {...} #-----| match -> [exception: Exception] Exception e # 161| [exception: NullReferenceException] catch (...) {...} #-----| match -> [exception: NullReferenceException] Exception e # 161| [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...} #-----| match -> [finally: exception(ArgumentNullException), exception: Exception] Exception e # 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...} #-----| match -> [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e # 161| [finally: exception(Exception), exception: Exception] catch (...) {...} #-----| match -> [finally: exception(Exception), exception: Exception] Exception e # 161| [finally: exception(Exception), exception: NullReferenceException] catch (...) {...} #-----| match -> [finally: exception(Exception), exception: NullReferenceException] Exception e # 161| [exception: Exception] Exception e #-----| -> [exception: Exception] access to local variable e # 161| [exception: NullReferenceException] Exception e #-----| -> [exception: NullReferenceException] access to local variable e # 161| [finally: exception(ArgumentNullException), exception: Exception] Exception e #-----| -> [finally: exception(ArgumentNullException), exception: Exception] access to local variable e # 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e #-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] 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(Exception), exception: NullReferenceException] Exception e #-----| -> [finally: exception(Exception), exception: NullReferenceException] access to local variable e # 161| [exception: Exception] access to local variable e #-----| -> [exception: Exception] access to property Message # 161| [exception: NullReferenceException] access to local variable e #-----| -> [exception: NullReferenceException] 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| [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e #-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] 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(Exception), exception: NullReferenceException] access to local variable e #-----| -> [finally: exception(Exception), exception: NullReferenceException] access to property Message # 161| [exception: Exception] access to property Message #-----| -> [exception: Exception] "1" # 161| [exception: NullReferenceException] access to property Message #-----| -> [exception: NullReferenceException] "1" # 161| [finally: exception(ArgumentNullException), exception: Exception] access to property Message #-----| -> [finally: exception(ArgumentNullException), exception: Exception] "1" # 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message #-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] "1" # 161| [finally: exception(Exception), exception: Exception] access to property Message #-----| -> [finally: exception(Exception), exception: Exception] "1" # 161| [finally: exception(Exception), exception: NullReferenceException] access to property Message #-----| -> [finally: exception(Exception), exception: NullReferenceException] "1" # 161| [exception: Exception] ... == ... #-----| true -> {...} #-----| false -> catch {...} # 161| [exception: NullReferenceException] ... == ... #-----| true -> {...} #-----| false -> catch {...} # 161| [finally: exception(ArgumentNullException), exception: Exception] ... == ... #-----| true -> [finally: exception(ArgumentNullException)] {...} #-----| false -> [finally: exception(ArgumentNullException)] catch {...} # 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ... #-----| true -> [finally: exception(ArgumentNullException)] {...} #-----| false -> [finally: exception(ArgumentNullException)] catch {...} # 161| [finally: exception(Exception), exception: Exception] ... == ... #-----| true -> [finally: exception(Exception)] {...} #-----| false -> [finally: exception(Exception)] catch {...} # 161| [finally: exception(Exception), exception: NullReferenceException] ... == ... #-----| true -> [finally: exception(Exception)] {...} #-----| false -> [finally: exception(Exception)] catch {...} # 161| [exception: Exception] "1" #-----| -> [exception: Exception] ... == ... # 161| [exception: NullReferenceException] "1" #-----| -> [exception: NullReferenceException] ... == ... # 161| [finally: exception(ArgumentNullException), exception: Exception] "1" #-----| -> [finally: exception(ArgumentNullException), exception: Exception] ... == ... # 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] "1" #-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ... # 161| [finally: exception(Exception), exception: Exception] "1" #-----| -> [finally: exception(Exception), exception: Exception] ... == ... # 161| [finally: exception(Exception), exception: NullReferenceException] "1" #-----| -> [finally: exception(Exception), exception: NullReferenceException] ... == ... # 162| [finally: exception(ArgumentNullException)] {...} #-----| -> [finally: exception(ArgumentNullException)] ...; # 162| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 162| {...} #-----| -> ...; # 163| [finally: exception(ArgumentNullException)] call to method WriteLine #-----| exception(ArgumentNullException) -> exit M8 (abnormal) # 163| [finally: exception(Exception)] call to method WriteLine #-----| exception(Exception) -> exit M8 (abnormal) # 163| call to method WriteLine #-----| -> exit M8 (normal) # 163| ...; #-----| -> access to parameter args # 163| [finally: exception(ArgumentNullException)] ...; #-----| -> [finally: exception(ArgumentNullException)] access to parameter args # 163| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] access to parameter args # 163| [finally: exception(ArgumentNullException)] access to parameter args #-----| -> [finally: exception(ArgumentNullException)] 0 # 163| [finally: exception(Exception)] access to parameter args #-----| -> [finally: exception(Exception)] 0 # 163| access to parameter args #-----| -> 0 # 163| [finally: exception(ArgumentNullException)] access to array element #-----| -> [finally: exception(ArgumentNullException)] call to method WriteLine # 163| [finally: exception(Exception)] access to array element #-----| -> [finally: exception(Exception)] call to method WriteLine # 163| access to array element #-----| -> call to method WriteLine # 163| 0 #-----| -> access to array element # 163| [finally: exception(ArgumentNullException)] 0 #-----| -> [finally: exception(ArgumentNullException)] access to array element # 163| [finally: exception(Exception)] 0 #-----| -> [finally: exception(Exception)] access to array element # 165| [finally: exception(ArgumentNullException)] catch {...} #-----| -> [finally: exception(ArgumentNullException)] {...} # 165| [finally: exception(Exception)] catch {...} #-----| -> [finally: exception(Exception)] {...} # 165| catch {...} #-----| -> {...} # 166| [finally: exception(ArgumentNullException)] {...} #-----| -> [finally: exception(ArgumentNullException)] ...; # 166| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 166| {...} #-----| -> ...; # 167| [finally: exception(ArgumentNullException)] call to method WriteLine #-----| exception(ArgumentNullException) -> exit M8 (abnormal) # 167| [finally: exception(Exception)] call to method WriteLine #-----| exception(Exception) -> exit M8 (abnormal) # 167| call to method WriteLine #-----| -> exit M8 (normal) # 167| ...; #-----| -> "" # 167| [finally: exception(ArgumentNullException)] ...; #-----| -> [finally: exception(ArgumentNullException)] "" # 167| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] "" # 167| "" #-----| -> call to method WriteLine # 167| [finally: exception(ArgumentNullException)] "" #-----| -> [finally: exception(ArgumentNullException)] call to method WriteLine # 167| [finally: exception(Exception)] "" #-----| -> [finally: exception(Exception)] 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 #-----| false -> exit M9 (normal) #-----| true -> [b1 (line 176): false, b2 (line 176): true] object creation of type ExceptionB # 186| [finally: exception(Exception), b1 (line 176): true] access to parameter b2 #-----| exception(Exception) -> exit M9 (abnormal) #-----| true -> [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB # 186| [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b2 #-----| exception(ExceptionA) -> exit M9 (abnormal) #-----| true -> [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB # 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 #-----| -> [b1 (line 176): false, b2 (line 176): true] throw ...; #-----| exception(Exception) -> [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...} # 186| [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB #-----| -> [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] throw ...; #-----| exception(Exception) -> [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...} # 186| [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB #-----| -> [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] throw ...; #-----| exception(Exception) -> [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...} # 188| [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...} #-----| exception(Exception) -> exit M9 (abnormal) #-----| match -> [exception: Exception, b1 (line 176): false, b2 (line 176): true] access to parameter b2 # 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 (...) {...} #-----| exception(Exception) -> exit M9 (abnormal) #-----| match -> [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2 # 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 (...) {...} #-----| exception(Exception) -> exit M9 (abnormal) #-----| match -> [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2 # 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| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] try {...} ... # 202| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] try {...} ... # 202| {...} #-----| -> try {...} ... # 203| [finally: exception(Exception)] try {...} ... #-----| -> [finally: exception(Exception)] {...} # 203| [finally: exception(ExceptionA)] try {...} ... #-----| -> [finally: exception(ExceptionA)] {...} # 203| try {...} ... #-----| -> {...} # 204| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] if (...) ... # 204| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] if (...) ... # 204| {...} #-----| -> if (...) ... # 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| if (...) ... #-----| -> access to parameter b2 # 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| access to parameter b2 #-----| true -> object creation of type ExceptionB #-----| false -> {...} # 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| throw ...; #-----| exception(ExceptionB) -> [finally(1): exception(ExceptionB)] {...} # 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)] {...} # 205| object creation of type ExceptionB #-----| -> throw ...; #-----| exception(Exception) -> [finally(1): exception(Exception)] {...} # 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(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(Exception)] {...} #-----| -> [finally: exception(Exception)] 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 (...) ... # 208| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] if (...) ... # 208| {...} #-----| -> if (...) ... # 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), 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(Exception)] if (...) ... #-----| -> [finally: exception(Exception)] 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| [finally: exception(ExceptionA)] if (...) ... #-----| -> [finally: exception(ExceptionA)] access to parameter b3 # 209| if (...) ... #-----| -> access to parameter b3 # 209| [finally(1): exception(Exception)] access to parameter b3 #-----| exception(Exception) -> exit M10 (abnormal) #-----| true -> [finally(1): exception(Exception)] object creation of type ExceptionC # 209| [finally(1): exception(ExceptionB)] access to parameter b3 #-----| exception(ExceptionB) -> exit M10 (abnormal) #-----| true -> [finally(1): exception(ExceptionB)] object creation of type ExceptionC # 209| [finally: exception(Exception), finally(1): exception(Exception)] access to parameter b3 #-----| exception(Exception) -> exit M10 (abnormal) #-----| true -> [finally: exception(Exception), finally(1): exception(Exception)] object creation of type ExceptionC # 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] access to parameter b3 #-----| exception(ExceptionB) -> exit M10 (abnormal) #-----| true -> [finally: exception(Exception), finally(1): exception(ExceptionB)] object creation of type ExceptionC # 209| [finally: exception(Exception)] access to parameter b3 #-----| true -> [finally: exception(Exception)] object creation of type ExceptionC #-----| false -> [finally: exception(Exception)] ...; # 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] access to parameter b3 #-----| exception(Exception) -> exit M10 (abnormal) #-----| true -> [finally: exception(ExceptionA), finally(1): exception(Exception)] object creation of type ExceptionC # 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] access to parameter b3 #-----| exception(ExceptionB) -> exit M10 (abnormal) #-----| true -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] object creation of type ExceptionC # 209| [finally: exception(ExceptionA)] access to parameter b3 #-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionC #-----| false -> [finally: exception(ExceptionA)] ...; # 209| access to parameter b3 #-----| true -> object creation of type ExceptionC #-----| false -> ...; # 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), 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(Exception)] 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| [finally: exception(ExceptionA)] throw ...; #-----| exception(ExceptionC) -> exit M10 (abnormal) # 209| throw ...; #-----| exception(ExceptionC) -> exit M10 (abnormal) # 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), 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(Exception)] object creation of type ExceptionC #-----| -> [finally: exception(Exception)] 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 ...; # 209| [finally: exception(ExceptionA)] object creation of type ExceptionC #-----| -> [finally: exception(ExceptionA)] throw ...; # 209| object creation of type ExceptionC #-----| -> throw ...; # 211| [finally: exception(Exception)] this access #-----| -> [finally: exception(Exception)] "0" # 211| [finally: exception(ExceptionA)] this access #-----| -> [finally: exception(ExceptionA)] "0" # 211| this access #-----| -> "0" # 211| ... = ... #-----| -> ...; # 211| [finally: exception(Exception)] ... = ... #-----| exception(Exception) -> exit M10 (abnormal) # 211| [finally: exception(ExceptionA)] ... = ... #-----| exception(ExceptionA) -> exit M10 (abnormal) # 211| ...; #-----| -> this access # 211| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] this access # 211| [finally: exception(ExceptionA)] ...; #-----| -> [finally: exception(ExceptionA)] this access # 211| "0" #-----| -> ... = ... # 211| [finally: exception(Exception)] "0" #-----| -> [finally: exception(Exception)] ... = ... # 211| [finally: exception(ExceptionA)] "0" #-----| -> [finally: exception(ExceptionA)] ... = ... # 213| this access #-----| -> "1" # 213| ... = ... #-----| -> exit M10 (normal) # 213| ...; #-----| -> this access # 213| "1" #-----| -> ... = ... # 216| enter M11 #-----| -> {...} # 216| exit M11 # 216| exit M11 (normal) #-----| -> exit M11 # 217| {...} #-----| -> try {...} ... # 218| try {...} ... #-----| -> {...} # 219| {...} #-----| -> ...; # 220| call to method WriteLine #-----| exception(Exception) -> catch {...} #-----| -> {...} # 220| ...; #-----| -> "Try" # 220| "Try" #-----| -> call to method WriteLine # 222| catch {...} #-----| -> {...} # 223| {...} #-----| -> ...; # 224| call to method WriteLine #-----| -> {...} # 224| ...; #-----| -> "Catch" # 224| "Catch" #-----| -> call to method WriteLine # 227| {...} #-----| -> ...; # 228| call to method WriteLine #-----| -> ...; # 228| ...; #-----| -> "Finally" # 228| "Finally" #-----| -> call to method WriteLine # 230| call to method WriteLine #-----| -> exit M11 (normal) # 230| ...; #-----| -> "Done" # 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| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] try {...} ... # 243| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] try {...} ... # 243| {...} #-----| -> try {...} ... # 244| [finally: exception(Exception)] try {...} ... #-----| -> [finally: exception(Exception)] {...} # 244| [finally: exception(ExceptionA)] try {...} ... #-----| -> [finally: exception(ExceptionA)] {...} # 244| try {...} ... #-----| -> {...} # 245| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] if (...) ... # 245| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] if (...) ... # 245| {...} #-----| -> if (...) ... # 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| if (...) ... #-----| -> access to parameter b2 # 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)] {...} # 246| access to parameter b2 #-----| true -> object creation of type ExceptionA #-----| false -> {...} # 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| throw ...; #-----| exception(ExceptionA) -> [finally(1): exception(ExceptionA)] {...} # 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)] {...} # 247| object creation of type ExceptionA #-----| -> throw ...; #-----| exception(Exception) -> [finally(1): exception(Exception)] {...} # 250| [finally(1): exception(Exception)] {...} #-----| -> [finally(1): exception(Exception)] ...; # 250| [finally(1): exception(ExceptionA)] {...} #-----| -> [finally(1): exception(ExceptionA)] ...; # 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(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 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)] ...; # 250| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] ...; # 250| {...} #-----| -> ...; # 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), 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(Exception)] call to method WriteLine #-----| exception(Exception) -> [finally: exception(Exception)] {...} # 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| [finally: exception(ExceptionA)] call to method WriteLine #-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...} # 251| call to method WriteLine #-----| -> ...; # 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(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(Exception)] ...; #-----| -> [finally: exception(Exception)] "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| [finally: exception(ExceptionA)] ...; #-----| -> [finally: exception(ExceptionA)] "Inner finally" # 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), 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(Exception)] "Inner finally" #-----| -> [finally: exception(Exception)] 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 # 251| [finally: exception(ExceptionA)] "Inner finally" #-----| -> [finally: exception(ExceptionA)] call to method WriteLine # 254| call to method WriteLine #-----| exception(Exception) -> [finally: exception(Exception)] {...} #-----| -> {...} # 254| ...; #-----| -> "Mid finally" # 254| "Mid finally" #-----| -> call to method WriteLine # 257| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 257| [finally: exception(ExceptionA)] {...} #-----| -> [finally: exception(ExceptionA)] ...; # 257| {...} #-----| -> ...; # 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| call to method WriteLine #-----| -> ...; # 258| ...; #-----| -> "Outer finally" # 258| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] "Outer finally" # 258| [finally: exception(ExceptionA)] ...; #-----| -> [finally: exception(ExceptionA)] "Outer finally" # 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| call to method WriteLine #-----| -> exit M12 (normal) # 260| ...; #-----| -> "Done" # 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| call to method WriteLine #-----| exception(Exception) -> [finally: exception(Exception)] {...} #-----| -> {...} # 267| ...; #-----| -> "1" # 267| "1" #-----| -> call to method WriteLine # 270| [finally: exception(Exception)] {...} #-----| -> [finally: exception(Exception)] ...; # 270| {...} #-----| -> ...; # 271| [finally: exception(Exception)] call to method WriteLine #-----| -> [finally: exception(Exception)] ...; # 271| call to method WriteLine #-----| -> ...; # 271| ...; #-----| -> "3" # 271| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] "3" # 271| "3" #-----| -> call to method WriteLine # 271| [finally: exception(Exception)] "3" #-----| -> [finally: exception(Exception)] call to method WriteLine # 272| [finally: exception(Exception)] access to parameter i #-----| -> [finally: exception(Exception)] 3 # 272| access to parameter i #-----| -> 3 # 272| ... + ... #-----| -> ... = ... # 272| ... = ... #-----| -> exit M13 (normal) # 272| [finally: exception(Exception)] ... + ... #-----| -> [finally: exception(Exception)] ... = ... # 272| [finally: exception(Exception)] ... = ... #-----| exception(Exception) -> exit M13 (abnormal) # 272| ...; #-----| -> access to parameter i # 272| [finally: exception(Exception)] ...; #-----| -> [finally: exception(Exception)] access to parameter i # 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 ...) ... #-----| empty -> exit M1 (normal) #-----| non-empty -> String arg # 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 ...) ... #-----| empty -> exit M2 (normal) #-----| non-empty -> String _ # 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 ...) ... #-----| empty -> exit M3 (normal) #-----| non-empty -> String x # 20| String x #-----| -> ; # 20| access to parameter e #-----| non-null -> call to method ToArray #-----| null -> call to method Empty # 20| ... ?? ... #-----| -> foreach (... ... in ...) ... # 20| call to method ToArray #-----| non-null -> ... ?? ... #-----| null -> call to method Empty # 20| call to method Empty #-----| -> ... ?? ... # 21| ; #-----| -> foreach (... ... in ...) ... # 24| enter M4 #-----| -> {...} # 24| exit M4 # 24| exit M4 (normal) #-----| -> exit M4 # 25| {...} #-----| -> access to parameter args # 26| foreach (... ... in ...) ... #-----| empty -> exit M4 (normal) #-----| non-empty -> String x # 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 ...) ... #-----| empty -> exit M5 (normal) #-----| non-empty -> String x # 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 ...) ... #-----| empty -> exit M6 (normal) #-----| non-empty -> String x # 38| (..., ...) #-----| -> ; # 38| String x #-----| -> Int32 y # 38| Int32 y #-----| -> (..., ...) # 38| access to parameter args #-----| -> foreach (... ... in ...) ... # 39| ; #-----| -> foreach (... ... in ...) ... Initializers.cs: # 5| this access #-----| -> access to field H # 5| this access #-----| -> access to field H # 5| ... = ... #-----| -> this access # 5| ... = ... #-----| -> this access # 5| access to field H #-----| -> 1 # 5| access to field H #-----| -> 1 # 5| ... + ... #-----| -> ... = ... # 5| ... + ... #-----| -> ... = ... # 5| 1 #-----| -> ... + ... # 5| 1 #-----| -> ... + ... # 6| access to property G #-----| -> ... = ... # 6| access to property G #-----| -> ... = ... # 6| this access #-----| -> access to field H # 6| this access #-----| -> access to field H # 6| ... = ... #-----| -> {...} # 6| ... = ... #-----| -> {...} # 6| access to field H #-----| -> 2 # 6| access to field H #-----| -> 2 # 6| ... + ... #-----| -> access to property G # 6| ... + ... #-----| -> access to property G # 6| 2 #-----| -> ... + ... # 6| 2 #-----| -> ... + ... # 8| call to constructor Object #-----| -> this access # 8| enter Initializers #-----| -> call to constructor Object # 8| exit Initializers # 8| exit Initializers (normal) #-----| -> exit Initializers # 8| {...} #-----| -> exit Initializers (normal) # 10| call to constructor Object #-----| -> this access # 10| enter Initializers #-----| -> call to constructor Object # 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| access to property G #-----| -> ... = ... # 14| ... = ... #-----| -> { ..., ... } # 14| 1 #-----| -> access to property G # 15| ... ...; #-----| -> 2 # 15| Initializers[] iz = ... #-----| -> exit M (normal) # 15| 2 #-----| -> array creation of type Initializers[] # 15| array creation of type Initializers[] #-----| -> access to local variable i # 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 # 18| exit H (normal) #-----| -> exit H # 18| ... = ... #-----| -> exit H (normal) # 18| 1 #-----| -> ... = ... # 20| enter NoConstructor #-----| -> this access # 20| exit NoConstructor # 20| exit NoConstructor (normal) #-----| -> exit NoConstructor # 22| this access #-----| -> 0 # 22| ... = ... #-----| -> this access # 22| 0 #-----| -> ... = ... # 23| this access #-----| -> 1 # 23| ... = ... #-----| -> exit NoConstructor (normal) # 23| 1 #-----| -> ... = ... # 28| this access #-----| -> 2 # 28| this access #-----| -> 2 # 28| ... = ... #-----| -> {...} # 28| ... = ... #-----| -> {...} # 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 #-----| -> 3 # 31| ... = ... #-----| -> exit Sub (normal) # 31| ...; #-----| -> this access # 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 #-----| -> access to parameter i # 33| ... = ... #-----| -> exit Sub (normal) # 33| ...; #-----| -> this access # 33| access to parameter i #-----| -> ... = ... # 35| call to constructor NoConstructor #-----| -> this access # 35| enter Sub #-----| -> call to constructor NoConstructor # 35| exit Sub # 35| exit Sub (normal) #-----| -> exit Sub # 35| {...} #-----| -> ...; # 35| this access #-----| -> access to parameter i # 35| ... = ... #-----| -> exit Sub (normal) # 35| ...; #-----| -> this access # 35| access to parameter i #-----| -> access to parameter j # 35| ... + ... #-----| -> ... = ... # 35| access to parameter j #-----| -> ... + ... # 51| enter Test #-----| -> {...} # 51| exit Test # 51| exit Test (normal) #-----| -> exit Test # 52| {...} #-----| -> ... ...; # 54| ... ...; #-----| -> object creation of type Dictionary # 54| Dictionary dict = ... #-----| -> ... ...; # 54| object creation of type Dictionary #-----| -> 0 # 54| { ..., ... } #-----| -> Dictionary dict = ... # 54| access to indexer #-----| -> ... = ... # 54| ... = ... #-----| -> 1 # 54| 0 #-----| -> "Zero" # 54| "Zero" #-----| -> access to indexer # 54| access to indexer #-----| -> ... = ... # 54| ... = ... #-----| -> access to parameter i # 54| 1 #-----| -> "One" # 54| "One" #-----| -> access to indexer # 54| access to indexer #-----| -> ... = ... # 54| ... = ... #-----| -> { ..., ... } # 54| access to parameter i #-----| -> 2 # 54| ... + ... #-----| -> "Two" # 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| access to indexer #-----| -> ... = ... # 59| ... = ... #-----| -> 1 # 59| 0 #-----| -> "Zero" # 59| "Zero" #-----| -> access to indexer # 59| access to indexer #-----| -> ... = ... # 59| ... = ... #-----| -> access to parameter i # 59| 1 #-----| -> "One" # 59| "One" #-----| -> access to indexer # 59| access to indexer #-----| -> ... = ... # 59| ... = ... #-----| -> { ..., ... } # 59| access to parameter i #-----| -> 2 # 59| ... + ... #-----| -> "Two" # 59| 2 #-----| -> ... + ... # 59| "Two" #-----| -> access to indexer # 60| access to property DictionaryProperty #-----| -> ... = ... # 60| ... = ... #-----| -> 0 # 60| { ..., ... } #-----| -> access to property DictionaryProperty # 60| access to indexer #-----| -> ... = ... # 60| ... = ... #-----| -> 2 # 60| 3 #-----| -> "Three" # 60| "Three" #-----| -> access to indexer # 60| access to indexer #-----| -> ... = ... # 60| ... = ... #-----| -> access to parameter i # 60| 2 #-----| -> "Two" # 60| "Two" #-----| -> access to indexer # 60| access to indexer #-----| -> ... = ... # 60| ... = ... #-----| -> { ..., ... } # 60| access to parameter i #-----| -> 1 # 60| ... + ... #-----| -> "One" # 60| 1 #-----| -> ... + ... # 60| "One" #-----| -> access to indexer # 61| ... = ... #-----| -> 0 # 61| { ..., ... } #-----| -> ... = ... # 61| ... = ... #-----| -> access to parameter i # 61| 0 #-----| -> "Zero" # 61| "Zero" #-----| -> ... = ... # 61| ... = ... #-----| -> { ..., ... } # 61| access to parameter i #-----| -> 1 # 61| ... + ... #-----| -> "One" # 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| access to parameter i #-----| -> 0 # 62| ... + ... #-----| -> "1" # 62| 0 #-----| -> ... + ... # 62| "1" #-----| -> ... = ... # 63| access to property ArrayProperty #-----| -> ... = ... # 63| ... = ... #-----| -> 0 # 63| { ..., ... } #-----| -> access to property ArrayProperty # 63| ... = ... #-----| -> access to parameter i # 63| 1 #-----| -> "One" # 63| "One" #-----| -> ... = ... # 63| ... = ... #-----| -> { ..., ... } # 63| access to parameter i #-----| -> 2 # 63| ... + ... #-----| -> "Two" # 63| 2 #-----| -> ... + ... # 63| "Two" #-----| -> ... = ... # 64| access to property ArrayProperty2 #-----| -> ... = ... # 64| ... = ... #-----| -> { ..., ... } # 64| { ..., ... } #-----| -> access to property ArrayProperty2 # 64| ... = ... #-----| -> 1 # 64| 0 #-----| -> 1 # 64| 1 #-----| -> "i" # 64| "i" #-----| -> ... = ... # 64| ... = ... #-----| -> { ..., ... } # 64| 1 #-----| -> access to parameter i # 64| access to parameter i #-----| -> 0 # 64| ... + ... #-----| -> "1" # 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| access to parameter args #-----| -> access to property Length # 9| access to property Length #-----| -> 0 # 9| ... == ... #-----| true -> return ...; #-----| false -> access to parameter args # 9| 0 #-----| -> ... == ... # 10| return ...; #-----| return -> exit M1 (normal) # 11| [unroll (line 11)] foreach (... ... in ...) ... #-----| non-empty -> String arg # 11| foreach (... ... in ...) ... #-----| empty -> exit M1 (normal) #-----| non-empty -> String arg # 11| String arg #-----| -> ...; # 11| access to parameter args #-----| -> [unroll (line 11)] foreach (... ... in ...) ... # 12| call to method WriteLine #-----| -> foreach (... ... in ...) ... # 12| ...; #-----| -> access to local variable arg # 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| 3 #-----| -> array creation of type String[] # 17| array creation of type String[] #-----| -> "a" # 17| { ..., ... } #-----| -> String[] xs = ... # 17| "a" #-----| -> "b" # 17| "b" #-----| -> "c" # 17| "c" #-----| -> { ..., ... } # 18| [unroll (line 18)] foreach (... ... in ...) ... #-----| non-empty -> String x # 18| foreach (... ... in ...) ... #-----| empty -> exit M2 (normal) #-----| non-empty -> String x # 18| String x #-----| -> ...; # 18| access to local variable xs #-----| -> [unroll (line 18)] foreach (... ... in ...) ... # 19| call to method WriteLine #-----| -> foreach (... ... in ...) ... # 19| ...; #-----| -> access to local variable x # 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 ...) ... #-----| empty -> exit M3 (normal) #-----| non-empty -> Char arg # 24| Char arg #-----| -> access to parameter args # 24| access to parameter args #-----| -> foreach (... ... in ...) ... # 25| [unroll (line 25)] foreach (... ... in ...) ... #-----| non-empty -> Char arg0 # 25| foreach (... ... in ...) ... #-----| empty -> foreach (... ... in ...) ... #-----| non-empty -> Char arg0 # 25| Char arg0 #-----| -> ...; # 25| access to parameter args #-----| -> [unroll (line 25)] foreach (... ... in ...) ... # 26| call to method WriteLine #-----| -> foreach (... ... in ...) ... # 26| ...; #-----| -> access to local variable arg0 # 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| 3 #-----| -> array creation of type String[] # 38| array creation of type String[] #-----| -> "a" # 38| { ..., ... } #-----| -> String[] xs = ... # 38| "a" #-----| -> "b" # 38| "b" #-----| -> "c" # 38| "c" #-----| -> { ..., ... } # 39| ... ...; #-----| -> 3 # 39| String[] ys = ... #-----| -> access to local variable xs # 39| 3 #-----| -> array creation of type String[] # 39| array creation of type String[] #-----| -> "0" # 39| { ..., ... } #-----| -> String[] ys = ... # 39| "0" #-----| -> "1" # 39| "1" #-----| -> "2" # 39| "2" #-----| -> { ..., ... } # 40| [unroll (line 40)] foreach (... ... in ...) ... #-----| non-empty -> String x # 40| foreach (... ... in ...) ... #-----| empty -> exit M5 (normal) #-----| non-empty -> String x # 40| String x #-----| -> access to local variable ys # 40| access to local variable xs #-----| -> [unroll (line 40)] foreach (... ... in ...) ... # 41| [unroll (line 41)] foreach (... ... in ...) ... #-----| non-empty -> String y # 41| foreach (... ... in ...) ... #-----| empty -> foreach (... ... in ...) ... #-----| non-empty -> String y # 41| String y #-----| -> ...; # 41| access to local variable ys #-----| -> [unroll (line 41)] foreach (... ... in ...) ... # 42| call to method WriteLine #-----| -> foreach (... ... in ...) ... # 42| ...; #-----| -> access to local variable x # 42| access to local variable x #-----| -> access to local variable y # 42| ... + ... #-----| -> call to method WriteLine # 42| access to local variable y #-----| -> ... + ... # 45| enter M6 #-----| -> {...} # 46| {...} #-----| -> ... ...; # 47| ... ...; #-----| -> 3 # 47| String[] xs = ... #-----| -> access to local variable xs # 47| 3 #-----| -> array creation of type String[] # 47| array creation of type String[] #-----| -> "a" # 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| call to method WriteLine #-----| -> goto ...; # 50| ...; #-----| -> access to local variable x # 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| 3 #-----| -> array creation of type String[] # 57| array creation of type String[] #-----| -> "a" # 57| { ..., ... } #-----| -> String[] xs = ... # 57| "a" #-----| -> "b" # 57| "b" #-----| -> "c" # 57| "c" #-----| -> { ..., ... } # 58| [b (line 55): false] foreach (... ... in ...) ... #-----| empty -> exit M7 (normal) #-----| non-empty -> [b (line 55): false] String x # 58| [b (line 55): true] foreach (... ... in ...) ... #-----| empty -> exit M7 (normal) #-----| non-empty -> [b (line 55): true] String x # 58| [unroll (line 58)] foreach (... ... in ...) ... #-----| non-empty -> String x # 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| [b (line 55): false] {...} #-----| -> [b (line 55): false] if (...) ... # 59| [b (line 55): true] {...} #-----| -> [b (line 55): true] if (...) ... # 59| {...} #-----| -> if (...) ... # 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| if (...) ... #-----| -> access to parameter b # 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] ...; # 60| access to parameter b #-----| true -> [b (line 55): true] ...; #-----| false -> [b (line 55): false] if (...) ... # 61| [b (line 55): true] call to method WriteLine #-----| -> [b (line 55): true] if (...) ... # 61| [b (line 55): true] ...; #-----| -> [b (line 55): true] access to local variable x # 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] call to method WriteLine #-----| -> [b (line 55): true] foreach (... ... in ...) ... # 63| [b (line 55): true] ...; #-----| -> [b (line 55): true] access to local variable x # 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| access to parameter args #-----| -> call to method Any # 69| call to method Any #-----| false -> [true] !... #-----| true -> [false] !... # 70| return ...; #-----| return -> exit M8 (normal) # 71| access to parameter args #-----| -> call to method Clear # 71| call to method Clear #-----| -> access to parameter args # 71| ...; #-----| -> access to parameter args # 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| [unroll (line 97)] foreach (... ... in ...) ... #-----| non-empty -> String x # 97| foreach (... ... in ...) ... #-----| empty -> exit M11 (normal) #-----| non-empty -> String x # 97| String x #-----| -> {...} # 97| access to local variable xs #-----| -> [unroll (line 97)] foreach (... ... in ...) ... # 98| {...} #-----| -> ...; # 99| call to method WriteLine #-----| -> foreach (... ... in ...) ... # 99| ...; #-----| -> access to local variable x # 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 #-----| -> 0 # 13| ... = ... #-----| -> this access # 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| M2(...) #-----| -> exit M1 (normal) #-----| -> exit M1 (normal) # 18| enter M2 #-----| -> 0 # 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 #-----| -> access to parameter i # 20| ... = ... #-----| -> exit C2 (normal) #-----| -> exit C2 (normal) # 20| ...; #-----| -> this access # 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 ...; MultiImplementationB.cs: # 3| 0 #-----| -> exit get_P1 (normal) #-----| -> exit get_P1 (normal) MultiImplementationA.cs: # 6| enter get_P1 #-----| -> null #-----| -> 0 MultiImplementationB.cs: # 3| enter get_P1 #-----| -> null #-----| -> 0 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 #-----| -> 1 # 11| ... = ... #-----| -> this access # 11| 1 #-----| -> ... = ... MultiImplementationA.cs: # 14| enter get_Item #-----| -> access to parameter i #-----| -> null MultiImplementationB.cs: # 12| enter get_Item #-----| -> access to parameter i #-----| -> null 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| throw ... #-----| exception(NullReferenceException) -> exit get_Item (abnormal) #-----| exception(NullReferenceException) -> exit get_Item (abnormal) # 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| M2(...) #-----| -> exit M1 (normal) #-----| -> exit M1 (normal) # 16| enter M2 #-----| -> null # 16| exit M2 # 16| exit M2 (abnormal) #-----| -> exit M2 # 16| throw ... #-----| exception(NullReferenceException) -> exit M2 (abnormal) # 16| null #-----| -> throw ... # 18| call to constructor Object #-----| -> this access 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 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| access to parameter i #-----| non-null -> ... ?? ... #-----| null -> 0 # 3| ... ?? ... #-----| -> exit M1 (normal) # 3| 0 #-----| -> ... ?? ... # 5| enter M2 #-----| -> access to parameter b # 5| exit M2 # 5| exit M2 (normal) #-----| -> exit M2 # 5| ... ? ... : ... #-----| -> exit M2 (normal) # 5| access to parameter b #-----| false -> [false] ... ?? ... #-----| true -> [true] ... ?? ... #-----| null -> false # 5| [false] ... ?? ... #-----| false -> 1 # 5| [true] ... ?? ... #-----| true -> 0 # 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| access to parameter s1 #-----| non-null -> ... ?? ... #-----| null -> access to parameter s2 # 7| ... ?? ... #-----| -> exit M3 (normal) # 7| access to parameter s2 #-----| non-null -> ... ?? ... #-----| null -> "" # 7| ... ?? ... #-----| -> ... ?? ... # 7| "" #-----| -> ... ?? ... # 9| enter M4 #-----| -> access to parameter b # 9| exit M4 # 9| exit M4 (normal) #-----| -> exit M4 # 9| ... ?? ... #-----| -> exit M4 (normal) # 9| access to parameter b #-----| true -> access to parameter s #-----| false -> access to parameter s # 9| [non-null] ... ? ... : ... #-----| non-null -> ... ?? ... # 9| [null] ... ? ... : ... #-----| null -> "" # 9| access to parameter s #-----| non-null -> [non-null] ... ? ... : ... #-----| null -> [null] ... ? ... : ... # 9| access to parameter s #-----| non-null -> [non-null] ... ? ... : ... #-----| null -> [null] ... ? ... : ... # 9| "" #-----| non-null -> ... ?? ... # 9| ... ?? ... #-----| -> ... ?? ... # 11| enter M5 #-----| -> access to parameter b1 # 11| exit M5 # 11| exit M5 (normal) #-----| -> exit M5 # 11| ... ? ... : ... #-----| -> exit M5 (normal) # 11| access to parameter b1 #-----| false -> [false] ... ?? ... #-----| true -> [true] ... ?? ... #-----| null -> access to parameter b2 # 11| [false] ... ?? ... #-----| false -> 1 # 11| [true] ... ?? ... #-----| true -> 0 # 11| access to parameter b2 #-----| false -> [false] ... && ... #-----| true -> access to parameter b3 # 11| [false] ... && ... #-----| false -> [false] ... ?? ... # 11| [true] ... && ... #-----| true -> [true] ... ?? ... # 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| (...) ... #-----| null -> 0 # 15| ... ?? ... #-----| -> Int32 j = ... # 15| null #-----| -> (...) ... # 15| 0 #-----| -> ... ?? ... # 16| ... ...; #-----| -> "" # 16| String s = ... #-----| -> ...; # 16| "" #-----| non-null -> ... ?? ... # 16| ... ?? ... #-----| -> String s = ... # 17| ... = ... #-----| -> exit M6 (normal) # 17| ...; #-----| -> access to parameter i # 17| (...) ... #-----| non-null -> ... ?? ... # 17| ... ?? ... #-----| -> ... = ... # 17| access to parameter i #-----| -> (...) ... PartialImplementationA.cs: # 3| call to constructor Object #-----| -> this access # 3| enter Partial #-----| -> call to constructor Object # 3| exit Partial # 3| exit Partial (normal) #-----| -> exit Partial # 3| {...} #-----| -> exit Partial (normal) PartialImplementationB.cs: # 3| this access #-----| -> 0 # 3| this access #-----| -> 0 # 3| ... = ... #-----| -> this access # 3| ... = ... #-----| -> this access # 3| 0 #-----| -> ... = ... # 3| 0 #-----| -> ... = ... # 4| call to constructor Object #-----| -> this access # 4| enter Partial #-----| -> call to constructor Object # 4| exit Partial # 4| exit Partial (normal) #-----| -> exit Partial # 4| {...} #-----| -> exit Partial (normal) # 5| access to property P #-----| -> ... = ... # 5| access to property P #-----| -> ... = ... # 5| this access #-----| -> 0 # 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| access to local variable o #-----| -> Int32 i1 # 8| [false] ... is ... #-----| false -> if (...) ... # 8| [true] ... is ... #-----| true -> {...} # 8| Int32 i1 #-----| match -> [true] ... is ... #-----| no-match -> [false] ... is ... # 9| {...} #-----| -> ...; # 10| call to method WriteLine #-----| -> switch (...) {...} # 10| ...; #-----| -> "int " # 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| access to local variable o #-----| -> String s1 # 12| [false] ... is ... #-----| false -> if (...) ... # 12| [true] ... is ... #-----| true -> {...} # 12| String s1 #-----| match -> [true] ... is ... #-----| no-match -> [false] ... is ... # 13| {...} #-----| -> ...; # 14| call to method WriteLine #-----| -> switch (...) {...} # 14| ...; #-----| -> "string " # 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| access to local variable o #-----| -> Object v1 # 16| [false] ... is ... #-----| false -> switch (...) {...} # 16| [true] ... is ... #-----| true -> {...} # 16| Object v1 #-----| match -> [true] ... is ... #-----| no-match -> [false] ... 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 #-----| match -> access to local variable i2 #-----| no-match -> case ...: # 24| access to local variable i2 #-----| -> 0 # 24| ... > ... #-----| true -> ...; #-----| false -> case ...: # 24| 0 #-----| -> ... > ... # 25| call to method WriteLine #-----| -> break; # 25| ...; #-----| -> "positive " # 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| call to method WriteLine #-----| -> break; # 28| ...; #-----| -> "int " # 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| call to method WriteLine #-----| -> break; # 31| ...; #-----| -> "string " # 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| call to method WriteLine #-----| -> break; # 36| ...; #-----| -> "Something else" # 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| access to parameter c #-----| -> a # 48| ... is ... #-----| -> exit M2 (normal) # 48| not ... #-----| -> ... is ... # 48| a #-----| -> not ... # 50| enter M3 #-----| -> access to parameter c # 50| exit M3 # 50| exit M3 (normal) #-----| -> exit M3 # 51| access to parameter c #-----| -> null # 51| [false] ... is ... #-----| false -> access to parameter c # 51| [true] ... is ... #-----| true -> access to parameter c # 51| ... ? ... : ... #-----| -> exit M3 (normal) # 51| [match] not ... #-----| match -> [true] ... is ... # 51| [no-match] not ... #-----| no-match -> [false] ... is ... # 51| null #-----| match -> [no-match] not ... #-----| no-match -> [match] not ... # 51| access to parameter c #-----| -> 1 # 51| ... is ... #-----| -> ... ? ... : ... # 51| 1 #-----| -> ... is ... # 51| access to parameter c #-----| -> 2 # 51| ... is ... #-----| -> ... ? ... : ... # 51| 2 #-----| -> ... is ... # 53| enter M4 #-----| -> access to parameter c # 53| exit M4 # 53| exit M4 (normal) #-----| -> exit M4 # 54| access to parameter c #-----| -> Patterns u # 54| ... is ... #-----| -> exit M4 (normal) # 54| not ... #-----| -> ... is ... # 54| Patterns u #-----| no-match -> { ... } #-----| match -> 1 # 54| { ... } #-----| -> not ... # 54| [match] { ... } #-----| match -> { ... } # 54| [no-match] { ... } #-----| no-match -> { ... } # 54| 1 #-----| match -> [match] { ... } #-----| no-match -> [no-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| access to parameter i #-----| -> 1 # 58| ... switch { ... } #-----| -> return ...; # 60| [match] not ... #-----| match -> "not 1" # 60| [no-match] not ... #-----| no-match -> _ # 60| ... => ... #-----| -> ... switch { ... } # 60| 1 #-----| match -> [no-match] not ... #-----| no-match -> [match] not ... # 60| "not 1" #-----| -> ... => ... # 61| _ #-----| match -> "other" # 61| ... => ... #-----| -> ... switch { ... } # 61| "other" #-----| -> ... => ... # 65| enter M6 #-----| -> {...} # 65| exit M6 # 65| exit M6 (normal) #-----| -> exit M6 # 66| {...} #-----| -> 2 # 67| return ...; #-----| return -> exit M6 (normal) # 67| 2 #-----| -> 2 # 67| ... switch { ... } #-----| -> return ...; # 69| [no-match] not ... #-----| no-match -> 2 # 69| 2 #-----| match -> [no-match] not ... # 70| 2 #-----| match -> "possible" # 70| ... => ... #-----| -> ... switch { ... } # 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| access to parameter i #-----| -> 1 # 76| ... switch { ... } #-----| -> return ...; # 78| > ... #-----| match -> "> 1" #-----| no-match -> 0 # 78| ... => ... #-----| -> ... switch { ... } # 78| 1 #-----| -> > ... # 78| "> 1" #-----| -> ... => ... # 79| < ... #-----| match -> "< 0" #-----| no-match -> 1 # 79| ... => ... #-----| -> ... switch { ... } # 79| 0 #-----| -> < ... # 79| "< 0" #-----| -> ... => ... # 80| 1 #-----| match -> "1" #-----| no-match -> _ # 80| ... => ... #-----| -> ... switch { ... } # 80| "1" #-----| -> ... => ... # 81| _ #-----| match -> "0" # 81| ... => ... #-----| -> ... switch { ... } # 81| "0" #-----| -> ... => ... # 85| enter M8 #-----| -> access to parameter i # 85| exit M8 # 85| exit M8 (normal) #-----| -> exit M8 # 85| access to parameter i #-----| -> 1 # 85| [false] ... is ... #-----| false -> "2" # 85| [true] ... is ... #-----| true -> "not 2" # 85| ... ? ... : ... #-----| -> exit M8 (normal) # 85| 1 #-----| match -> [match] ... or ... #-----| no-match -> 2 # 85| [match] ... or ... #-----| match -> [true] ... is ... # 85| [no-match] ... or ... #-----| no-match -> [false] ... is ... # 85| [match] not ... #-----| match -> [match] ... or ... # 85| [no-match] not ... #-----| no-match -> [no-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| access to parameter i #-----| -> 1 # 87| [false] ... is ... #-----| false -> "not 1" # 87| [true] ... is ... #-----| true -> "1" # 87| ... ? ... : ... #-----| -> exit M9 (normal) # 87| 1 #-----| no-match -> [no-match] ... and ... #-----| match -> 2 # 87| [match] ... and ... #-----| match -> [true] ... is ... # 87| [no-match] ... and ... #-----| no-match -> [false] ... is ... # 87| [match] not ... #-----| match -> [match] ... and ... # 87| [no-match] not ... #-----| no-match -> [no-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| this access #-----| -> access to constant A # 95| [false] ... is ... #-----| false -> exit M10 (normal) # 95| [true] ... is ... #-----| true -> {...} # 95| [match] { ... } #-----| match -> [true] ... is ... # 95| [match] { ... } #-----| match -> [match] { ... } # 95| [no-match] { ... } #-----| no-match -> [false] ... is ... # 95| [no-match] { ... } #-----| no-match -> [no-match] { ... } # 95| access to constant A #-----| match -> [match] ... or ... #-----| no-match -> access to constant B # 95| [match] ... or ... #-----| match -> [match] { ... } # 95| [no-match] ... or ... #-----| no-match -> [no-match] { ... } # 95| access to constant B #-----| match -> [match] ... or ... #-----| no-match -> [no-match] ... or ... # 96| {...} #-----| -> ...; # 97| call to method WriteLine #-----| -> exit M10 (normal) # 97| ...; #-----| -> "not C" # 97| "not C" #-----| -> call to method WriteLine PostDominance.cs: # 5| enter M1 #-----| -> {...} # 5| exit M1 # 5| exit M1 (normal) #-----| -> exit M1 # 6| {...} #-----| -> ...; # 7| call to method WriteLine #-----| -> exit M1 (normal) # 7| ...; #-----| -> access to parameter s # 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| access to parameter s #-----| -> null # 12| [false] ... is ... #-----| false -> ...; # 12| [true] ... is ... #-----| true -> return ...; # 12| null #-----| match -> [true] ... is ... #-----| no-match -> [false] ... is ... # 13| return ...; #-----| return -> exit M2 (normal) # 14| call to method WriteLine #-----| -> exit M2 (normal) # 14| ...; #-----| -> access to parameter s # 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| access to parameter s #-----| -> null # 19| [false] ... is ... #-----| false -> ...; # 19| [true] ... is ... #-----| true -> nameof(...) # 19| null #-----| match -> [true] ... is ... #-----| no-match -> [false] ... is ... # 20| throw ...; #-----| exception(ArgumentNullException) -> exit M3 (abnormal) # 20| object creation of type ArgumentNullException #-----| -> throw ...; # 20| nameof(...) #-----| -> object creation of type ArgumentNullException # 21| call to method WriteLine #-----| -> exit M3 (normal) # 21| ...; #-----| -> access to parameter s # 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| ... = ... #-----| -> ...; # 13| ...; #-----| -> this access # 13| access to property Property #-----| -> ... = ... # 13| this access #-----| -> access to property Property # 14| ... = ... #-----| -> ...; # 14| ...; #-----| -> this access # 14| call to method Method #-----| -> ... = ... # 14| this access #-----| -> call to method Method # 16| ... = ... #-----| -> ...; # 16| ...; #-----| -> this access # 16| this access #-----| -> access to field Field # 16| access to field Field #-----| -> ... = ... # 17| ... = ... #-----| -> ...; # 17| ...; #-----| -> this access # 17| this access #-----| -> access to property Property # 17| access to property Property #-----| -> ... = ... # 18| ... = ... #-----| -> ...; # 18| ...; #-----| -> this access # 18| this access #-----| -> call to method Method # 18| call to method Method #-----| -> ... = ... # 20| ... = ... #-----| -> ...; # 20| ...; #-----| -> access to field StaticField # 20| access to field StaticField #-----| -> ... = ... # 21| ... = ... #-----| -> ...; # 21| ...; #-----| -> access to property StaticProperty # 21| access to property StaticProperty #-----| -> ... = ... # 22| ... = ... #-----| -> ...; # 22| ...; #-----| -> call to method StaticMethod # 22| call to method StaticMethod #-----| -> ... = ... # 24| ... = ... #-----| -> ...; # 24| ...; #-----| -> access to field StaticField # 24| access to field StaticField #-----| -> ... = ... # 25| ... = ... #-----| -> ...; # 25| ...; #-----| -> access to property StaticProperty # 25| access to property StaticProperty #-----| -> ... = ... # 26| ... = ... #-----| -> ...; # 26| ...; #-----| -> call to method StaticMethod # 26| call to method StaticMethod #-----| -> ... = ... # 28| ... = ... #-----| -> ...; # 28| ...; #-----| -> access to field StaticField # 28| access to field StaticField #-----| -> access to field Field # 28| access to field Field #-----| -> ... = ... # 29| ... = ... #-----| -> ...; # 29| ...; #-----| -> access to property StaticProperty # 29| access to property StaticProperty #-----| -> access to property Property # 29| access to property Property #-----| -> ... = ... # 30| ... = ... #-----| -> exit M (normal) # 30| ...; #-----| -> call to method StaticMethod # 30| call to method StaticMethod #-----| -> call to method Method # 30| 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| access to parameter o #-----| -> null # 21| ... == ... #-----| true -> return ...; #-----| false -> 0 # 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 #-----| match -> access to local variable s #-----| no-match -> case ...: # 24| access to local variable s #-----| -> access to property Length # 24| access to property Length #-----| -> 0 # 24| ... > ... #-----| false -> [false] ... && ... #-----| true -> access to local variable s # 24| [false] ... && ... #-----| false -> case ...: # 24| [true] ... && ... #-----| true -> ...; # 24| 0 #-----| -> ... > ... # 24| access to local variable s #-----| -> "a" # 24| ... != ... #-----| false -> [false] ... && ... #-----| true -> [true] ... && ... # 24| "a" #-----| -> ... != ... # 25| call to method WriteLine #-----| -> return ...; # 25| ...; #-----| -> access to local variable s # 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 #-----| no-match -> exit M4 (normal) #-----| match -> access to parameter o # 50| access to parameter o #-----| -> null # 50| ... != ... #-----| false -> exit M4 (normal) #-----| true -> break; # 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| 1 #-----| -> 2 # 57| ... + ... #-----| -> case ...: # 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| "" #-----| no-match -> exit M6 (normal) #-----| match -> break; # 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| access to parameter j #-----| -> 2 # 84| ... > ... #-----| true -> break; #-----| false -> true # 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 parameter s #-----| -> access to property Length # 115| access to property Length #-----| -> case ...: # 117| case ...: #-----| -> 3 # 117| 3 #-----| match -> access to parameter s #-----| no-match -> case ...: # 117| access to parameter s #-----| -> "foo" # 117| ... == ... #-----| true -> 1 #-----| false -> case ...: # 117| "foo" #-----| -> ... == ... # 117| return ...; #-----| return -> exit M10 (normal) # 117| 1 #-----| -> return ...; # 118| case ...: #-----| -> 2 # 118| 2 #-----| match -> access to parameter s #-----| no-match -> 1 # 118| access to parameter s #-----| -> "fu" # 118| ... == ... #-----| true -> 2 #-----| false -> 1 # 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| access to parameter o #-----| -> Boolean b # 125| [false] ... switch { ... } #-----| false -> exit M11 (normal) # 125| [true] ... switch { ... } #-----| true -> return ...; # 125| Boolean b #-----| match -> access to local variable b #-----| no-match -> _ # 125| [false] ... => ... #-----| false -> [false] ... switch { ... } # 125| [true] ... => ... #-----| true -> [true] ... switch { ... } # 125| access to local variable b #-----| false -> [false] ... => ... #-----| true -> [true] ... => ... # 125| _ #-----| match -> false # 125| [false] ... => ... #-----| false -> [false] ... switch { ... } # 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| access to parameter o #-----| -> String s # 131| [non-null] ... switch { ... } #-----| non-null -> call to method ToString # 131| [null] ... switch { ... } #-----| null -> return ...; # 131| String s #-----| match -> access to local variable s #-----| no-match -> _ # 131| [non-null] ... => ... #-----| non-null -> [non-null] ... switch { ... } # 131| [null] ... => ... #-----| null -> [null] ... switch { ... } # 131| access to local variable s #-----| non-null -> [non-null] ... => ... #-----| null -> [null] ... => ... # 131| _ #-----| match -> null # 131| [null] ... => ... #-----| null -> [null] ... switch { ... } # 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| access to parameter b #-----| -> true # 156| ... switch { ... } #-----| -> String s = ... # 156| true #-----| match -> "a" #-----| no-match -> false # 156| ... => ... #-----| -> ... switch { ... } # 156| "a" #-----| -> ... => ... # 156| false #-----| exception(InvalidOperationException) -> exit M15 (abnormal) #-----| match -> "b" # 156| ... => ... #-----| -> ... switch { ... } # 156| "b" #-----| -> ... => ... # 157| if (...) ... #-----| -> access to parameter b # 157| access to parameter b #-----| true -> ...; #-----| false -> ...; # 158| call to method WriteLine #-----| -> exit M15 (normal) # 158| ...; #-----| -> "a = " # 158| $"..." #-----| -> call to method WriteLine # 158| "a = " #-----| -> access to local variable s # 158| access to local variable s #-----| -> $"..." # 160| call to method WriteLine #-----| -> exit M15 (normal) # 160| ...; #-----| -> "b = " # 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| ... = ... #-----| -> if (...) ... # 6| ...; #-----| -> access to parameter o # 6| access to parameter o #-----| -> ... as ... # 6| ... as ... #-----| -> ... = ... # 7| if (...) ... #-----| -> access to parameter o # 7| access to parameter o #-----| -> Int32 j # 7| [false] ... is ... #-----| false -> ... ...; # 7| [true] ... is ... #-----| true -> ; # 7| Int32 j #-----| match -> [true] ... is ... #-----| no-match -> [false] ... 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| access to parameter strings #-----| -> 0 # 7| (...) ... #-----| -> Char* c1 = ... # 7| access to array element #-----| -> (...) ... # 7| 0 #-----| -> access to array element # 7| Char* c2 = ... #-----| -> {...} # 7| access to parameter strings #-----| -> 1 # 7| (...) ... #-----| -> Char* c2 = ... # 7| access to array element #-----| -> (...) ... # 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| access to local variable s1 #-----| -> access to local variable s2 # 16| ... + ... #-----| -> return ...; # 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| access to parameter b #-----| true -> access to local variable x #-----| false -> access to local variable y # 25| ... ? ... : ... #-----| -> return ...; # 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 parameter args #-----| -> access to property Length # 7| access to property Length #-----| -> Int32 a = ... # 9| ... = ... #-----| -> if (...) ... # 9| ...; #-----| -> object creation of type ControlFlow # 9| object creation of type ControlFlow #-----| -> access to local variable a # 9| call to method Switch #-----| -> ... = ... # 9| access to local variable a #-----| -> call to method Switch # 11| if (...) ... #-----| -> access to local variable a # 11| access to local variable a #-----| -> 3 # 11| ... > ... #-----| true -> ...; #-----| false -> while (...) ... # 11| 3 #-----| -> ... > ... # 12| call to method WriteLine #-----| -> while (...) ... # 12| ...; #-----| -> "more than a few" # 12| "more than a few" #-----| -> call to method WriteLine # 14| while (...) ... #-----| -> access to local variable a # 14| access to local variable a #-----| -> 0 # 14| ... > ... #-----| true -> {...} #-----| false -> do ... while (...); # 14| 0 #-----| -> ... > ... # 15| {...} #-----| -> ...; # 16| call to method WriteLine #-----| -> access to local variable a # 16| ...; #-----| -> access to local variable a # 16| access to local variable a #-----| -> ...-- # 16| ...-- #-----| -> 100 # 16| ... * ... #-----| -> call to method WriteLine # 16| 100 #-----| -> ... * ... # 19| do ... while (...); #-----| -> {...} # 20| {...} #-----| -> ...; # 21| call to method WriteLine #-----| -> access to local variable a # 21| ...; #-----| -> access to local variable a # 21| -... #-----| -> call to method WriteLine # 21| access to local variable a #-----| -> ...++ # 21| ...++ #-----| -> -... # 22| access to local variable a #-----| -> 10 # 22| ... < ... #-----| true -> {...} #-----| false -> for (...;...;...) ... # 22| 10 #-----| -> ... < ... # 24| for (...;...;...) ... #-----| -> 1 # 24| Int32 i = ... #-----| -> access to local variable i # 24| 1 #-----| -> Int32 i = ... # 24| access to local variable i #-----| -> 20 # 24| ... <= ... #-----| false -> exit Main (normal) #-----| true -> {...} # 24| 20 #-----| -> ... <= ... # 24| access to local variable i #-----| -> ...++ # 24| ...++ #-----| -> access to local variable i # 25| {...} #-----| -> if (...) ... # 26| if (...) ... #-----| -> access to local variable i # 26| access to local variable i #-----| -> 3 # 26| ... % ... #-----| -> 0 # 26| ... == ... #-----| false -> [false] ... && ... #-----| true -> access to local variable i # 26| [false] ... && ... #-----| false -> if (...) ... # 26| [true] ... && ... #-----| true -> ...; # 26| 3 #-----| -> ... % ... # 26| 0 #-----| -> ... == ... # 26| access to local variable i #-----| -> 5 # 26| ... % ... #-----| -> 0 # 26| ... == ... #-----| false -> [false] ... && ... #-----| true -> [true] ... && ... # 26| 5 #-----| -> ... % ... # 26| 0 #-----| -> ... == ... # 27| call to method WriteLine #-----| -> access to local variable i # 27| ...; #-----| -> "FizzBuzz" # 27| "FizzBuzz" #-----| -> call to method WriteLine # 28| if (...) ... #-----| -> access to local variable i # 28| access to local variable i #-----| -> 3 # 28| ... % ... #-----| -> 0 # 28| ... == ... #-----| true -> ...; #-----| false -> if (...) ... # 28| 3 #-----| -> ... % ... # 28| 0 #-----| -> ... == ... # 29| call to method WriteLine #-----| -> access to local variable i # 29| ...; #-----| -> "Fizz" # 29| "Fizz" #-----| -> call to method WriteLine # 30| if (...) ... #-----| -> access to local variable i # 30| access to local variable i #-----| -> 5 # 30| ... % ... #-----| -> 0 # 30| ... == ... #-----| true -> ...; #-----| false -> ...; # 30| 5 #-----| -> ... % ... # 30| 0 #-----| -> ... == ... # 31| call to method WriteLine #-----| -> access to local variable i # 31| ...; #-----| -> "Buzz" # 31| "Buzz" #-----| -> call to method WriteLine # 33| call to method WriteLine #-----| -> access to local variable i # 33| ...; #-----| -> 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| call to method WriteLine #-----| -> 2 # 42| ...; #-----| -> "1" # 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| call to method WriteLine #-----| -> 1 # 45| ...; #-----| -> "2" # 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| call to method WriteLine #-----| -> break; # 48| ...; #-----| -> "3" # 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| call to method WriteLine #-----| -> break; # 54| ...; #-----| -> "The answer" # 54| "The answer" #-----| -> call to method WriteLine # 55| break; #-----| break -> switch (...) {...} # 56| default: #-----| -> ...; # 57| call to method WriteLine #-----| -> break; # 57| ...; #-----| -> "Not the answer" # 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| access to field Field #-----| -> "" # 63| this access #-----| -> access to field Field # 63| ... == ... #-----| false -> [true] !... #-----| true -> [false] !... # 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| access to parameter s #-----| -> null # 72| ... == ... #-----| true -> return ...; #-----| false -> if (...) ... # 72| null #-----| -> ... == ... # 73| return ...; #-----| return -> exit M (normal) # 74| if (...) ... #-----| -> access to parameter s # 74| access to parameter s #-----| -> access to property Length # 74| access to property Length #-----| -> 0 # 74| ... > ... #-----| true -> {...} #-----| false -> {...} # 74| 0 #-----| -> ... > ... # 75| {...} #-----| -> ...; # 76| call to method WriteLine #-----| -> exit M (normal) # 76| ...; #-----| -> access to parameter s # 76| access to parameter s #-----| -> call to method WriteLine # 79| {...} #-----| -> ...; # 80| call to method WriteLine #-----| -> exit M (normal) # 80| ...; #-----| -> "" # 80| "" #-----| -> 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| access to parameter s #-----| -> null # 86| ... != ... #-----| false -> [false] ... && ... #-----| true -> access to parameter s # 86| [false] ... && ... #-----| false -> exit M2 (normal) # 86| [true] ... && ... #-----| true -> ...; # 86| null #-----| -> ... != ... # 86| access to parameter s #-----| -> access to property Length # 86| access to property Length #-----| -> 0 # 86| ... > ... #-----| false -> [false] ... && ... #-----| true -> [true] ... && ... # 86| 0 #-----| -> ... > ... # 87| call to method WriteLine #-----| -> exit M2 (normal) # 87| ...; #-----| -> access to parameter s # 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| call to method WriteLine #-----| -> if (...) ... # 94| ...; #-----| -> access to parameter s # 94| access to parameter s #-----| -> call to method WriteLine # 96| if (...) ... #-----| -> this access # 96| access to field Field #-----| -> null # 96| this access #-----| -> access to field Field # 96| ... != ... #-----| true -> ...; #-----| false -> if (...) ... # 96| null #-----| -> ... != ... # 97| call to method WriteLine #-----| -> if (...) ... # 97| ...; #-----| -> object creation of type ControlFlow # 97| object creation of type ControlFlow #-----| -> access to field Field # 97| access to field Field #-----| -> call to method WriteLine # 99| if (...) ... #-----| -> this access # 99| access to field Field #-----| -> null # 99| this access #-----| -> access to field Field # 99| ... != ... #-----| true -> ...; #-----| false -> if (...) ... # 99| null #-----| -> ... != ... # 100| call to method WriteLine #-----| -> if (...) ... # 100| ...; #-----| -> this access # 100| this access #-----| -> access to field Field # 100| access to field Field #-----| -> call to method WriteLine # 102| if (...) ... #-----| -> this access # 102| this access #-----| -> access to property Prop # 102| access to property Prop #-----| -> null # 102| ... != ... #-----| false -> exit M3 (normal) #-----| true -> ...; # 102| null #-----| -> ... != ... # 103| call to method WriteLine #-----| -> exit M3 (normal) # 103| ...; #-----| -> this access # 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| access to parameter s #-----| -> null # 108| ... != ... #-----| true -> {...} #-----| false -> ...; # 108| null #-----| -> ... != ... # 109| {...} #-----| -> while (...) ... # 110| while (...) ... #-----| -> true # 110| true #-----| true -> {...} # 111| {...} #-----| -> ...; # 112| call to method WriteLine #-----| -> true # 112| ...; #-----| -> access to parameter s # 112| access to parameter s #-----| -> call to method WriteLine # 116| call to method WriteLine #-----| -> exit M4 (normal) # 116| ...; #-----| -> access to parameter s # 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| access to local variable x #-----| -> " " # 122| ... + ... #-----| -> ... = ... # 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| access to field Field #-----| -> null # 127| this access #-----| -> access to field Field # 127| ... == ... #-----| true -> "" #-----| false -> this access # 127| ... ? ... : ... #-----| -> return ...; # 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 #-----| -> access to parameter value # 127| ... = ... #-----| -> exit set_Prop (normal) # 127| ...; #-----| -> this access # 127| access to parameter value #-----| -> ... = ... # 129| call to constructor Object #-----| -> {...} # 129| enter ControlFlow #-----| -> call to constructor Object # 129| exit ControlFlow # 129| exit ControlFlow (normal) #-----| -> exit ControlFlow # 130| {...} #-----| -> ...; # 131| this access #-----| -> access to parameter s # 131| ... = ... #-----| -> exit ControlFlow (normal) # 131| ...; #-----| -> this access # 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| (...) ... #-----| -> "" # 134| access to parameter i #-----| -> (...) ... # 134| ... + ... #-----| -> call to constructor ControlFlow # 134| "" #-----| -> ... + ... # 134| {...} #-----| -> exit ControlFlow (normal) # 136| enter ControlFlow #-----| -> 0 # 136| exit ControlFlow # 136| exit ControlFlow (normal) #-----| -> exit ControlFlow # 136| call to constructor ControlFlow #-----| -> {...} # 136| 0 #-----| -> 1 # 136| ... + ... #-----| -> call to constructor ControlFlow # 136| 1 #-----| -> ... + ... # 136| {...} #-----| -> exit ControlFlow (normal) # 138| enter + #-----| -> {...} # 138| exit + # 138| exit + (normal) #-----| -> exit + # 139| {...} #-----| -> ...; # 140| call to method WriteLine #-----| -> access to parameter y # 140| ...; #-----| -> access to parameter x # 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| (...) ... #-----| -> "" # 144| access to parameter i #-----| -> (...) ... # 144| ... + ... #-----| -> return ...; # 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| access to local variable x #-----| -> 10 # 149| ... < ... #-----| true -> ...; #-----| false -> for (...;...;...) ... # 149| 10 #-----| -> ... < ... # 149| ++... #-----| -> access to local variable x # 149| access to local variable x #-----| -> ++... # 150| call to method WriteLine #-----| -> access to local variable x # 150| ...; #-----| -> access to local variable x # 150| access to local variable x #-----| -> call to method WriteLine # 152| for (...;...;...) ... #-----| -> {...} # 152| access to local variable x #-----| -> ...++ # 152| ...++ #-----| -> {...} # 153| {...} #-----| -> ...; # 154| call to method WriteLine #-----| -> if (...) ... # 154| ...; #-----| -> access to local variable x # 154| access to local variable x #-----| -> call to method WriteLine # 155| if (...) ... #-----| -> access to local variable x # 155| access to local variable x #-----| -> 20 # 155| ... > ... #-----| false -> access to local variable x #-----| true -> break; # 155| 20 #-----| -> ... > ... # 156| break; #-----| break -> for (...;...;...) ... # 159| for (...;...;...) ... #-----| -> {...} # 160| {...} #-----| -> ...; # 161| call to method WriteLine #-----| -> ...; # 161| ...; #-----| -> access to local variable x # 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| access to local variable x #-----| -> 30 # 163| ... > ... #-----| false -> {...} #-----| true -> break; # 163| 30 #-----| -> ... > ... # 164| break; #-----| break -> for (...;...;...) ... # 167| for (...;...;...) ... #-----| -> access to local variable x # 167| access to local variable x #-----| -> 40 # 167| ... < ... #-----| true -> {...} #-----| false -> for (...;...;...) ... # 167| 40 #-----| -> ... < ... # 168| {...} #-----| -> ...; # 169| call to method WriteLine #-----| -> ...; # 169| ...; #-----| -> access to local variable x # 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| access to local variable i #-----| -> access to local variable j # 173| ... + ... #-----| -> 10 # 173| ... < ... #-----| false -> exit For (normal) #-----| true -> {...} # 173| access to local variable j #-----| -> ... + ... # 173| 10 #-----| -> ... < ... # 173| access to local variable i #-----| -> ...++ # 173| ...++ #-----| -> access to local variable j # 173| access to local variable j #-----| -> ...++ # 173| ...++ #-----| -> access to local variable i # 174| {...} #-----| -> ...; # 175| call to method WriteLine #-----| -> access to local variable i # 175| ...; #-----| -> access to local variable i # 175| access to local variable i #-----| -> access to local variable j # 175| ... + ... #-----| -> call to method WriteLine # 175| access to local variable j #-----| -> ... + ... # 179| enter Lambdas #-----| -> {...} # 179| exit Lambdas # 179| exit Lambdas (normal) #-----| -> exit Lambdas # 180| {...} #-----| -> ... ...; # 181| ... ...; #-----| -> (...) => ... # 181| Func y = ... #-----| -> ... ...; # 181| (...) => ... #-----| -> Func y = ... # 181| enter (...) => ... #-----| -> access to parameter x # 181| exit (...) => ... # 181| exit (...) => ... (normal) #-----| -> exit (...) => ... # 181| access to parameter x #-----| -> 1 # 181| ... + ... #-----| -> exit (...) => ... (normal) # 181| 1 #-----| -> ... + ... # 182| ... ...; #-----| -> delegate(...) { ... } # 182| Func z = ... #-----| -> exit Lambdas (normal) # 182| delegate(...) { ... } #-----| -> Func z = ... # 182| enter delegate(...) { ... } #-----| -> {...} # 182| exit delegate(...) { ... } # 182| exit delegate(...) { ... } (normal) #-----| -> exit delegate(...) { ... } # 182| {...} #-----| -> access to parameter x # 182| return ...; #-----| return -> exit delegate(...) { ... } (normal) # 182| access to parameter x #-----| -> 1 # 182| ... + ... #-----| -> return ...; # 182| 1 #-----| -> ... + ... # 185| enter LogicalOr #-----| -> {...} # 185| exit LogicalOr # 185| exit LogicalOr (normal) #-----| -> exit LogicalOr # 186| {...} #-----| -> if (...) ... # 187| if (...) ... #-----| -> 1 # 187| 1 #-----| -> 2 # 187| ... == ... #-----| false -> 2 # 187| [false] ... || ... #-----| false -> 1 # 187| [false] ... || ... #-----| false -> ...; # 187| 2 #-----| -> ... == ... # 187| 2 #-----| -> 3 # 187| ... == ... #-----| false -> [false] ... || ... # 187| 3 #-----| -> ... == ... # 187| 1 #-----| -> 3 # 187| ... == ... #-----| false -> [false] ... && ... # 187| [false] ... && ... #-----| false -> [false] ... || ... # 187| 3 #-----| -> ... == ... # 190| call to method WriteLine #-----| -> exit LogicalOr (normal) # 190| ...; #-----| -> "This should happen" # 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| access to field Field #-----| -> access to property Length # 195| this access #-----| -> access to field Field # 195| access to property Length #-----| -> 0 # 195| ... > ... #-----| false -> ... && ... #-----| true -> this access # 195| ... && ... #-----| -> Boolean b = ... # 195| 0 #-----| -> ... > ... # 195| !... #-----| -> ... && ... # 195| access to field Field #-----| -> access to property Length # 195| this access #-----| -> access to field Field # 195| access to property Length #-----| -> 1 # 195| ... == ... #-----| -> !... # 195| 1 #-----| -> ... == ... # 197| if (...) ... #-----| -> this access # 197| [false] !... #-----| false -> if (...) ... # 197| [true] !... #-----| true -> ...; # 197| access to field Field #-----| -> access to property Length # 197| this access #-----| -> access to field Field # 197| access to property Length #-----| -> 0 # 197| ... == ... #-----| true -> false #-----| false -> true # 197| [false] ... ? ... : ... #-----| false -> [true] !... # 197| [true] ... ? ... : ... #-----| true -> [false] !... # 197| 0 #-----| -> ... == ... # 197| false #-----| false -> [false] ... ? ... : ... # 197| true #-----| true -> [true] ... ? ... : ... # 198| ... = ... #-----| -> if (...) ... # 198| ...; #-----| -> this access # 198| access to field Field #-----| -> access to property Length # 198| this access #-----| -> access to field Field # 198| access to property Length #-----| -> 0 # 198| ... == ... #-----| true -> false #-----| false -> true # 198| ... ? ... : ... #-----| -> ... = ... # 198| 0 #-----| -> ... == ... # 198| false #-----| -> ... ? ... : ... # 198| true #-----| -> ... ? ... : ... # 200| if (...) ... #-----| -> this access # 200| [false] !... #-----| false -> this access # 200| [true] !... #-----| true -> [true] ... || ... # 200| [false] ... || ... #-----| false -> exit Booleans (normal) # 200| [true] ... || ... #-----| true -> {...} # 200| access to field Field #-----| -> access to property Length # 200| this access #-----| -> access to field Field # 200| access to property Length #-----| -> 0 # 200| ... == ... #-----| false -> [true] !... #-----| true -> [false] !... # 200| 0 #-----| -> ... == ... # 200| [false] !... #-----| false -> [false] ... || ... # 200| [true] !... #-----| true -> [true] ... || ... # 200| [false] !... #-----| false -> [true] !... # 200| [true] !... #-----| true -> [false] !... # 200| access to field Field #-----| -> access to property Length # 200| this access #-----| -> access to field Field # 200| access to property Length #-----| -> 1 # 200| ... == ... #-----| false -> [false] ... && ... #-----| true -> access to local variable b # 200| [false] ... && ... #-----| false -> [true] !... # 200| [true] ... && ... #-----| true -> [false] !... # 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| access to field Field #-----| -> "a" # 212| this access #-----| -> this access # 212| this access #-----| -> access to field Field # 212| ... + ... #-----| -> ... = ... # 212| ... = ... #-----| -> if (...) ... # 212| ...; #-----| -> this access # 212| "a" #-----| -> ... + ... # 213| if (...) ... #-----| -> this access # 213| access to field Field #-----| -> access to property Length # 213| this access #-----| -> access to field Field # 213| access to property Length #-----| -> 0 # 213| ... > ... #-----| true -> {...} #-----| false -> if (...) ... # 213| 0 #-----| -> ... > ... # 214| {...} #-----| -> continue; # 215| continue; #-----| continue -> this access # 217| if (...) ... #-----| -> this access # 217| access to field Field #-----| -> access to property Length # 217| this access #-----| -> access to field Field # 217| access to property Length #-----| -> 0 # 217| ... < ... #-----| true -> {...} #-----| false -> this access # 217| 0 #-----| -> ... < ... # 218| {...} #-----| -> break; # 219| break; #-----| break -> exit Do (normal) # 221| access to field Field #-----| -> access to property Length # 221| this access #-----| -> access to field Field # 221| access to property Length #-----| -> 10 # 221| ... < ... #-----| false -> exit Do (normal) #-----| true -> {...} # 221| 10 #-----| -> ... < ... # 224| enter Foreach #-----| -> {...} # 224| exit Foreach # 224| exit Foreach (normal) #-----| -> exit Foreach # 225| {...} #-----| -> "a" # 226| foreach (... ... in ...) ... #-----| empty -> exit Foreach (normal) #-----| non-empty -> String x # 226| String x #-----| -> {...} # 226| call to method Repeat #-----| -> foreach (... ... in ...) ... # 226| "a" #-----| -> 10 # 226| 10 #-----| -> call to method Repeat # 227| {...} #-----| -> ...; # 228| access to field Field #-----| -> access to local variable x # 228| this access #-----| -> this access # 228| this access #-----| -> access to field Field # 228| ... + ... #-----| -> ... = ... # 228| ... = ... #-----| -> if (...) ... # 228| ...; #-----| -> this access # 228| access to local variable x #-----| -> ... + ... # 229| if (...) ... #-----| -> this access # 229| access to field Field #-----| -> access to property Length # 229| this access #-----| -> access to field Field # 229| access to property Length #-----| -> 0 # 229| ... > ... #-----| true -> {...} #-----| false -> if (...) ... # 229| 0 #-----| -> ... > ... # 230| {...} #-----| -> continue; # 231| continue; #-----| continue -> foreach (... ... in ...) ... # 233| if (...) ... #-----| -> this access # 233| access to field Field #-----| -> access to property Length # 233| this access #-----| -> access to field Field # 233| access to property Length #-----| -> 0 # 233| ... < ... #-----| false -> foreach (... ... in ...) ... #-----| true -> {...} # 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| access to field Field #-----| -> access to property Length # 242| this access #-----| -> access to field Field # 242| access to property Length #-----| -> 0 # 242| ... == ... #-----| false -> [true] !... #-----| true -> [false] !... # 242| 0 #-----| -> ... == ... # 242| {...} #-----| -> if (...) ... # 244| if (...) ... #-----| -> this access # 244| access to field Field #-----| -> access to property Length # 244| this access #-----| -> access to field Field # 244| access to property Length #-----| -> 0 # 244| ... > ... #-----| true -> goto ...; #-----| false -> switch (...) {...} # 244| 0 #-----| -> ... > ... # 244| goto ...; #-----| goto(Label) -> Label: # 246| switch (...) {...} #-----| -> this access # 246| access to field Field #-----| -> access to property Length # 246| this access #-----| -> access to field Field # 246| access to property Length #-----| -> 3 # 246| ... + ... #-----| -> case ...: # 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| call to method WriteLine #-----| -> break; # 251| ...; #-----| -> 1 # 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| call to method WriteLine #-----| -> break; # 256| ...; #-----| -> 0 # 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| access to local variable i #-----| -> 10 # 264| ... < ... #-----| true -> {...} #-----| false -> try {...} ... # 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] call to method WriteLine #-----| return -> exit Yield (normal) # 275| [finally: return] ...; #-----| -> [finally: return] "not dead" # 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| access to parameter i #-----| -> call to method ToString # 286| call to method ToString #-----| -> call to constructor ControlFlowSub # 286| {...} #-----| -> exit ControlFlowSub (normal) # 291| enter M #-----| -> access to parameter f # 291| exit M # 291| exit M (normal) #-----| -> exit M # 291| access to parameter f #-----| -> 0 # 291| delegate call #-----| -> exit M (normal) # 291| 0 #-----| -> delegate call # 296| call to constructor Object #-----| -> {...} # 296| enter NegationInConstructor #-----| -> 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| object creation of type NegationInConstructor #-----| -> exit M (normal) # 300| ...; #-----| -> 0 # 300| 0 #-----| -> access to parameter i # 300| [false] !... #-----| false -> ... && ... # 300| [true] !... #-----| true -> access to parameter s # 300| ... && ... #-----| -> "" # 300| access to parameter i #-----| -> 0 # 300| ... > ... #-----| false -> [true] !... #-----| true -> [false] !... # 300| 0 #-----| -> ... > ... # 300| access to parameter s #-----| -> null # 300| ... != ... #-----| -> ... && ... # 300| null #-----| -> ... != ... # 300| "" #-----| -> object creation of type NegationInConstructor # 306| (...) => ... #-----| -> exit get__getter (normal) # 306| enter (...) => ... #-----| -> {...} # 306| enter get__getter #-----| -> (...) => ... # 306| exit (...) => ... # 306| exit (...) => ... (normal) #-----| -> exit (...) => ... # 306| exit get__getter # 306| exit get__getter (normal) #-----| -> exit get__getter # 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 ...;