mirror of
https://github.com/github/codeql.git
synced 2025-12-19 02:13:17 +01:00
14495 lines
305 KiB
Plaintext
14495 lines
305 KiB
Plaintext
AccessorCalls.cs:
|
|
# 5| enter get_Item
|
|
#-----| -> access to parameter i
|
|
|
|
# 5| exit get_Item
|
|
|
|
# 5| exit get_Item (normal)
|
|
#-----| -> exit get_Item
|
|
|
|
# 5| access to parameter i
|
|
#-----| -> exit get_Item (normal)
|
|
|
|
# 5| enter set_Item
|
|
#-----| -> {...}
|
|
|
|
# 5| exit set_Item
|
|
|
|
# 5| exit set_Item (normal)
|
|
#-----| -> exit set_Item
|
|
|
|
# 5| {...}
|
|
#-----| -> exit set_Item (normal)
|
|
|
|
# 7| enter add_Event
|
|
#-----| -> {...}
|
|
|
|
# 7| exit add_Event
|
|
|
|
# 7| exit add_Event (normal)
|
|
#-----| -> exit add_Event
|
|
|
|
# 7| {...}
|
|
#-----| -> exit add_Event (normal)
|
|
|
|
# 7| enter remove_Event
|
|
#-----| -> {...}
|
|
|
|
# 7| exit remove_Event
|
|
|
|
# 7| exit remove_Event (normal)
|
|
#-----| -> exit remove_Event
|
|
|
|
# 7| {...}
|
|
#-----| -> exit remove_Event (normal)
|
|
|
|
# 10| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 10| exit M1
|
|
|
|
# 10| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 11| {...}
|
|
#-----| -> ...;
|
|
|
|
# 12| ...;
|
|
#-----| -> this access
|
|
|
|
# 12| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 12| this access
|
|
#-----| -> this access
|
|
|
|
# 12| access to field Field
|
|
#-----| -> ... = ...
|
|
|
|
# 12| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 13| ...;
|
|
#-----| -> this access
|
|
|
|
# 13| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 13| access to property Prop
|
|
#-----| -> ... = ...
|
|
|
|
# 13| this access
|
|
#-----| -> this access
|
|
|
|
# 13| access to property Prop
|
|
#-----| -> access to property Prop
|
|
|
|
# 13| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 14| ...;
|
|
#-----| -> this access
|
|
|
|
# 14| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 14| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 14| this access
|
|
#-----| -> 0
|
|
|
|
# 14| 0
|
|
#-----| -> this access
|
|
|
|
# 14| access to indexer
|
|
#-----| -> access to indexer
|
|
|
|
# 14| this access
|
|
#-----| -> 1
|
|
|
|
# 14| 1
|
|
#-----| -> access to indexer
|
|
|
|
# 15| ...;
|
|
#-----| -> this access
|
|
|
|
# 15| ... += ...
|
|
#-----| -> ...;
|
|
|
|
# 15| access to event Event
|
|
#-----| -> ... += ...
|
|
|
|
# 15| this access
|
|
#-----| -> access to parameter e
|
|
|
|
# 15| access to parameter e
|
|
#-----| -> access to event Event
|
|
|
|
# 16| ...;
|
|
#-----| -> this access
|
|
|
|
# 16| ... -= ...
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 16| access to event Event
|
|
#-----| -> ... -= ...
|
|
|
|
# 16| this access
|
|
#-----| -> access to parameter e
|
|
|
|
# 16| access to parameter e
|
|
#-----| -> access to event Event
|
|
|
|
# 19| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 19| exit M2
|
|
|
|
# 19| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 20| {...}
|
|
#-----| -> ...;
|
|
|
|
# 21| ...;
|
|
#-----| -> this access
|
|
|
|
# 21| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 21| access to field x
|
|
#-----| -> this access
|
|
|
|
# 21| this access
|
|
#-----| -> access to field x
|
|
|
|
# 21| access to field Field
|
|
#-----| -> ... = ...
|
|
|
|
# 21| access to field x
|
|
#-----| -> access to field Field
|
|
|
|
# 21| this access
|
|
#-----| -> access to field x
|
|
|
|
# 22| ...;
|
|
#-----| -> this access
|
|
|
|
# 22| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 22| access to property Prop
|
|
#-----| -> ... = ...
|
|
|
|
# 22| access to field x
|
|
#-----| -> this access
|
|
|
|
# 22| this access
|
|
#-----| -> access to field x
|
|
|
|
# 22| access to property Prop
|
|
#-----| -> access to property Prop
|
|
|
|
# 22| access to field x
|
|
#-----| -> access to property Prop
|
|
|
|
# 22| this access
|
|
#-----| -> access to field x
|
|
|
|
# 23| ...;
|
|
#-----| -> this access
|
|
|
|
# 23| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 23| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 23| access to field x
|
|
#-----| -> 0
|
|
|
|
# 23| this access
|
|
#-----| -> access to field x
|
|
|
|
# 23| 0
|
|
#-----| -> this access
|
|
|
|
# 23| access to indexer
|
|
#-----| -> access to indexer
|
|
|
|
# 23| access to field x
|
|
#-----| -> 1
|
|
|
|
# 23| this access
|
|
#-----| -> access to field x
|
|
|
|
# 23| 1
|
|
#-----| -> access to indexer
|
|
|
|
# 24| ...;
|
|
#-----| -> this access
|
|
|
|
# 24| ... += ...
|
|
#-----| -> ...;
|
|
|
|
# 24| access to event Event
|
|
#-----| -> ... += ...
|
|
|
|
# 24| access to field x
|
|
#-----| -> access to parameter e
|
|
|
|
# 24| this access
|
|
#-----| -> access to field x
|
|
|
|
# 24| access to parameter e
|
|
#-----| -> access to event Event
|
|
|
|
# 25| ...;
|
|
#-----| -> this access
|
|
|
|
# 25| ... -= ...
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 25| access to event Event
|
|
#-----| -> ... -= ...
|
|
|
|
# 25| access to field x
|
|
#-----| -> access to parameter e
|
|
|
|
# 25| this access
|
|
#-----| -> access to field x
|
|
|
|
# 25| access to parameter e
|
|
#-----| -> access to event Event
|
|
|
|
# 28| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 28| exit M3
|
|
|
|
# 28| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 29| {...}
|
|
#-----| -> ...;
|
|
|
|
# 30| ...;
|
|
#-----| -> this access
|
|
|
|
# 30| ...++
|
|
#-----| -> ...;
|
|
|
|
# 30| access to field Field
|
|
#-----| -> ...++
|
|
|
|
# 30| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 31| ...;
|
|
#-----| -> this access
|
|
|
|
# 31| ...++
|
|
#-----| -> ...;
|
|
|
|
# 31| access to property Prop
|
|
#-----| -> ...++
|
|
|
|
# 31| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 32| ...;
|
|
#-----| -> this access
|
|
|
|
# 32| ...++
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 32| access to indexer
|
|
#-----| -> ...++
|
|
|
|
# 32| this access
|
|
#-----| -> 0
|
|
|
|
# 32| 0
|
|
#-----| -> access to indexer
|
|
|
|
# 35| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 35| exit M4
|
|
|
|
# 35| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 36| {...}
|
|
#-----| -> ...;
|
|
|
|
# 37| ...;
|
|
#-----| -> this access
|
|
|
|
# 37| ...++
|
|
#-----| -> ...;
|
|
|
|
# 37| access to field Field
|
|
#-----| -> ...++
|
|
|
|
# 37| access to field x
|
|
#-----| -> access to field Field
|
|
|
|
# 37| this access
|
|
#-----| -> access to field x
|
|
|
|
# 38| ...;
|
|
#-----| -> this access
|
|
|
|
# 38| ...++
|
|
#-----| -> ...;
|
|
|
|
# 38| access to property Prop
|
|
#-----| -> ...++
|
|
|
|
# 38| access to field x
|
|
#-----| -> access to property Prop
|
|
|
|
# 38| this access
|
|
#-----| -> access to field x
|
|
|
|
# 39| ...;
|
|
#-----| -> this access
|
|
|
|
# 39| ...++
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 39| access to indexer
|
|
#-----| -> ...++
|
|
|
|
# 39| access to field x
|
|
#-----| -> 0
|
|
|
|
# 39| this access
|
|
#-----| -> access to field x
|
|
|
|
# 39| 0
|
|
#-----| -> access to indexer
|
|
|
|
# 42| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 42| exit M5
|
|
|
|
# 42| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 43| {...}
|
|
#-----| -> ...;
|
|
|
|
# 44| ...;
|
|
#-----| -> this access
|
|
|
|
# 44| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 44| this access
|
|
#-----| -> this access
|
|
|
|
# 44| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 44| access to field Field
|
|
#-----| -> this access
|
|
|
|
# 44| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 44| access to field Field
|
|
#-----| -> ... + ...
|
|
|
|
# 44| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 45| ...;
|
|
#-----| -> this access
|
|
|
|
# 45| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 45| access to property Prop
|
|
#-----| -> ... = ...
|
|
|
|
# 45| this access
|
|
#-----| -> this access
|
|
|
|
# 45| ... + ...
|
|
#-----| -> access to property Prop
|
|
|
|
# 45| access to property Prop
|
|
#-----| -> this access
|
|
|
|
# 45| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 45| access to property Prop
|
|
#-----| -> ... + ...
|
|
|
|
# 45| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 46| ...;
|
|
#-----| -> this access
|
|
|
|
# 46| ... = ...
|
|
#-----| -> exit M5 (normal)
|
|
|
|
# 46| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 46| this access
|
|
#-----| -> 0
|
|
|
|
# 46| ... + ...
|
|
#-----| -> access to indexer
|
|
|
|
# 46| access to indexer
|
|
#-----| -> this access
|
|
|
|
# 46| this access
|
|
#-----| -> 0
|
|
|
|
# 46| 0
|
|
#-----| -> this access
|
|
|
|
# 46| 0
|
|
#-----| -> access to indexer
|
|
|
|
# 46| access to indexer
|
|
#-----| -> ... + ...
|
|
|
|
# 46| this access
|
|
#-----| -> 0
|
|
|
|
# 46| 0
|
|
#-----| -> access to indexer
|
|
|
|
# 49| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 49| exit M6
|
|
|
|
# 49| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 50| {...}
|
|
#-----| -> ...;
|
|
|
|
# 51| ...;
|
|
#-----| -> this access
|
|
|
|
# 51| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 51| access to field x
|
|
#-----| -> this access
|
|
|
|
# 51| this access
|
|
#-----| -> access to field x
|
|
|
|
# 51| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 51| access to field Field
|
|
#-----| -> this access
|
|
|
|
# 51| access to field x
|
|
#-----| -> access to field Field
|
|
|
|
# 51| this access
|
|
#-----| -> access to field x
|
|
|
|
# 51| access to field Field
|
|
#-----| -> ... + ...
|
|
|
|
# 51| access to field x
|
|
#-----| -> access to field Field
|
|
|
|
# 51| this access
|
|
#-----| -> access to field x
|
|
|
|
# 52| ...;
|
|
#-----| -> this access
|
|
|
|
# 52| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 52| access to property Prop
|
|
#-----| -> ... = ...
|
|
|
|
# 52| access to field x
|
|
#-----| -> this access
|
|
|
|
# 52| this access
|
|
#-----| -> access to field x
|
|
|
|
# 52| ... + ...
|
|
#-----| -> access to property Prop
|
|
|
|
# 52| access to property Prop
|
|
#-----| -> this access
|
|
|
|
# 52| access to field x
|
|
#-----| -> access to property Prop
|
|
|
|
# 52| this access
|
|
#-----| -> access to field x
|
|
|
|
# 52| access to property Prop
|
|
#-----| -> ... + ...
|
|
|
|
# 52| access to field x
|
|
#-----| -> access to property Prop
|
|
|
|
# 52| this access
|
|
#-----| -> access to field x
|
|
|
|
# 53| ...;
|
|
#-----| -> this access
|
|
|
|
# 53| ... = ...
|
|
#-----| -> exit M6 (normal)
|
|
|
|
# 53| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 53| access to field x
|
|
#-----| -> 0
|
|
|
|
# 53| this access
|
|
#-----| -> access to field x
|
|
|
|
# 53| ... + ...
|
|
#-----| -> access to indexer
|
|
|
|
# 53| access to indexer
|
|
#-----| -> this access
|
|
|
|
# 53| access to field x
|
|
#-----| -> 0
|
|
|
|
# 53| this access
|
|
#-----| -> access to field x
|
|
|
|
# 53| 0
|
|
#-----| -> this access
|
|
|
|
# 53| 0
|
|
#-----| -> access to indexer
|
|
|
|
# 53| access to indexer
|
|
#-----| -> ... + ...
|
|
|
|
# 53| access to field x
|
|
#-----| -> 0
|
|
|
|
# 53| this access
|
|
#-----| -> access to field x
|
|
|
|
# 53| 0
|
|
#-----| -> access to indexer
|
|
|
|
# 56| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 56| exit M7
|
|
|
|
# 56| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 57| {...}
|
|
#-----| -> ...;
|
|
|
|
# 58| ...;
|
|
#-----| -> this access
|
|
|
|
# 58| ... = ...
|
|
#-----| -> exit M7 (normal)
|
|
|
|
# 58| (..., ...)
|
|
#-----| -> this access
|
|
|
|
# 58| this access
|
|
#-----| -> this access
|
|
|
|
# 58| access to property Prop
|
|
#-----| -> access to indexer
|
|
|
|
# 58| this access
|
|
#-----| -> this access
|
|
|
|
# 58| (..., ...)
|
|
#-----| -> (..., ...)
|
|
|
|
# 58| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 58| this access
|
|
#-----| -> 0
|
|
|
|
# 58| 0
|
|
#-----| -> (..., ...)
|
|
|
|
# 58| (..., ...)
|
|
#-----| -> access to property Prop
|
|
|
|
# 58| access to field Field
|
|
#-----| -> this access
|
|
|
|
# 58| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 58| access to property Prop
|
|
#-----| -> 0
|
|
|
|
# 58| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 58| (..., ...)
|
|
#-----| -> (..., ...)
|
|
|
|
# 58| 0
|
|
#-----| -> this access
|
|
|
|
# 58| access to indexer
|
|
#-----| -> (..., ...)
|
|
|
|
# 58| this access
|
|
#-----| -> 1
|
|
|
|
# 58| 1
|
|
#-----| -> access to indexer
|
|
|
|
# 61| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 61| exit M8
|
|
|
|
# 61| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 62| {...}
|
|
#-----| -> ...;
|
|
|
|
# 63| ...;
|
|
#-----| -> this access
|
|
|
|
# 63| ... = ...
|
|
#-----| -> exit M8 (normal)
|
|
|
|
# 63| (..., ...)
|
|
#-----| -> this access
|
|
|
|
# 63| access to field x
|
|
#-----| -> this access
|
|
|
|
# 63| this access
|
|
#-----| -> access to field x
|
|
|
|
# 63| access to property Prop
|
|
#-----| -> access to indexer
|
|
|
|
# 63| access to field x
|
|
#-----| -> this access
|
|
|
|
# 63| this access
|
|
#-----| -> access to field x
|
|
|
|
# 63| (..., ...)
|
|
#-----| -> (..., ...)
|
|
|
|
# 63| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 63| access to field x
|
|
#-----| -> 0
|
|
|
|
# 63| this access
|
|
#-----| -> access to field x
|
|
|
|
# 63| 0
|
|
#-----| -> (..., ...)
|
|
|
|
# 63| (..., ...)
|
|
#-----| -> access to property Prop
|
|
|
|
# 63| access to field Field
|
|
#-----| -> this access
|
|
|
|
# 63| access to field x
|
|
#-----| -> access to field Field
|
|
|
|
# 63| this access
|
|
#-----| -> access to field x
|
|
|
|
# 63| access to property Prop
|
|
#-----| -> 0
|
|
|
|
# 63| access to field x
|
|
#-----| -> access to property Prop
|
|
|
|
# 63| this access
|
|
#-----| -> access to field x
|
|
|
|
# 63| (..., ...)
|
|
#-----| -> (..., ...)
|
|
|
|
# 63| 0
|
|
#-----| -> this access
|
|
|
|
# 63| access to indexer
|
|
#-----| -> (..., ...)
|
|
|
|
# 63| access to field x
|
|
#-----| -> 1
|
|
|
|
# 63| this access
|
|
#-----| -> access to field x
|
|
|
|
# 63| 1
|
|
#-----| -> access to indexer
|
|
|
|
# 66| enter M9
|
|
#-----| -> {...}
|
|
|
|
# 66| exit M9
|
|
|
|
# 66| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 67| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 68| ... ...;
|
|
#-----| -> access to parameter o
|
|
|
|
# 68| dynamic d = ...
|
|
#-----| -> ...;
|
|
|
|
# 68| access to parameter o
|
|
#-----| -> dynamic d = ...
|
|
|
|
# 69| ...;
|
|
#-----| -> access to local variable d
|
|
|
|
# 69| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 69| dynamic access to member MaybeProp1
|
|
#-----| -> ... = ...
|
|
|
|
# 69| access to local variable d
|
|
#-----| -> access to local variable d
|
|
|
|
# 69| dynamic access to member MaybeProp2
|
|
#-----| -> dynamic access to member MaybeProp1
|
|
|
|
# 69| access to local variable d
|
|
#-----| -> dynamic access to member MaybeProp2
|
|
|
|
# 70| ...;
|
|
#-----| -> access to local variable d
|
|
|
|
# 70| dynamic call to operator ++
|
|
#-----| -> ...;
|
|
|
|
# 70| dynamic access to member MaybeProp
|
|
#-----| -> dynamic call to operator ++
|
|
|
|
# 70| access to local variable d
|
|
#-----| -> dynamic access to member MaybeProp
|
|
|
|
# 71| ...;
|
|
#-----| -> access to local variable d
|
|
|
|
# 71| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 71| dynamic access to member MaybeEvent
|
|
#-----| -> ... = ...
|
|
|
|
# 71| access to local variable d
|
|
#-----| -> access to local variable d
|
|
|
|
# 71| dynamic call to operator +
|
|
#-----| -> dynamic access to member MaybeEvent
|
|
|
|
# 71| dynamic access to member MaybeEvent
|
|
#-----| -> access to parameter e
|
|
|
|
# 71| access to local variable d
|
|
#-----| -> dynamic access to member MaybeEvent
|
|
|
|
# 71| access to parameter e
|
|
#-----| -> dynamic call to operator +
|
|
|
|
# 72| ...;
|
|
#-----| -> access to local variable d
|
|
|
|
# 72| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 72| dynamic access to element
|
|
#-----| -> ... = ...
|
|
|
|
# 72| access to local variable d
|
|
#-----| -> 0
|
|
|
|
# 72| dynamic call to operator +
|
|
#-----| -> dynamic access to element
|
|
|
|
# 72| dynamic access to element
|
|
#-----| -> access to local variable d
|
|
|
|
# 72| access to local variable d
|
|
#-----| -> 0
|
|
|
|
# 72| 0
|
|
#-----| -> access to local variable d
|
|
|
|
# 72| 0
|
|
#-----| -> dynamic access to element
|
|
|
|
# 72| dynamic access to element
|
|
#-----| -> dynamic call to operator +
|
|
|
|
# 72| access to local variable d
|
|
#-----| -> 1
|
|
|
|
# 72| 1
|
|
#-----| -> dynamic access to element
|
|
|
|
# 73| ...;
|
|
#-----| -> access to local variable d
|
|
|
|
# 73| ... = ...
|
|
#-----| -> exit M9 (normal)
|
|
|
|
# 73| (..., ...)
|
|
#-----| -> access to local variable d
|
|
|
|
# 73| dynamic access to member MaybeProp1
|
|
#-----| -> access to property Prop
|
|
|
|
# 73| access to local variable d
|
|
#-----| -> this access
|
|
|
|
# 73| access to property Prop
|
|
#-----| -> dynamic access to element
|
|
|
|
# 73| this access
|
|
#-----| -> access to local variable d
|
|
|
|
# 73| (..., ...)
|
|
#-----| -> (..., ...)
|
|
|
|
# 73| dynamic access to element
|
|
#-----| -> ... = ...
|
|
|
|
# 73| access to local variable d
|
|
#-----| -> 0
|
|
|
|
# 73| 0
|
|
#-----| -> (..., ...)
|
|
|
|
# 73| (..., ...)
|
|
#-----| -> dynamic access to member MaybeProp1
|
|
|
|
# 73| dynamic access to member MaybeProp1
|
|
#-----| -> this access
|
|
|
|
# 73| access to local variable d
|
|
#-----| -> dynamic access to member MaybeProp1
|
|
|
|
# 73| access to property Prop
|
|
#-----| -> 0
|
|
|
|
# 73| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 73| (..., ...)
|
|
#-----| -> (..., ...)
|
|
|
|
# 73| 0
|
|
#-----| -> access to local variable d
|
|
|
|
# 73| dynamic access to element
|
|
#-----| -> (..., ...)
|
|
|
|
# 73| access to local variable d
|
|
#-----| -> 1
|
|
|
|
# 73| 1
|
|
#-----| -> dynamic access to element
|
|
|
|
ArrayCreation.cs:
|
|
# 3| enter M1
|
|
#-----| -> 0
|
|
|
|
# 3| exit M1
|
|
|
|
# 3| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 3| array creation of type Int32[]
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 3| 0
|
|
#-----| -> array creation of type Int32[]
|
|
|
|
# 5| enter M2
|
|
#-----| -> 0
|
|
|
|
# 5| exit M2
|
|
|
|
# 5| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 5| array creation of type Int32[,]
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 5| 0
|
|
#-----| -> 1
|
|
|
|
# 5| 1
|
|
#-----| -> array creation of type Int32[,]
|
|
|
|
# 7| enter M3
|
|
#-----| -> 2
|
|
|
|
# 7| exit M3
|
|
|
|
# 7| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 7| array creation of type Int32[]
|
|
#-----| -> 0
|
|
|
|
# 7| 2
|
|
#-----| -> array creation of type Int32[]
|
|
|
|
# 7| { ..., ... }
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 7| 0
|
|
#-----| -> 1
|
|
|
|
# 7| 1
|
|
#-----| -> { ..., ... }
|
|
|
|
# 9| enter M4
|
|
#-----| -> 2
|
|
|
|
# 9| exit M4
|
|
|
|
# 9| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 9| array creation of type Int32[,]
|
|
#-----| -> 0
|
|
|
|
# 9| 2
|
|
#-----| -> 2
|
|
|
|
# 9| 2
|
|
#-----| -> array creation of type Int32[,]
|
|
|
|
# 9| { ..., ... }
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 9| { ..., ... }
|
|
#-----| -> 2
|
|
|
|
# 9| 0
|
|
#-----| -> 1
|
|
|
|
# 9| 1
|
|
#-----| -> { ..., ... }
|
|
|
|
# 9| { ..., ... }
|
|
#-----| -> { ..., ... }
|
|
|
|
# 9| 2
|
|
#-----| -> 3
|
|
|
|
# 9| 3
|
|
#-----| -> { ..., ... }
|
|
|
|
Assert.cs:
|
|
# 7| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 7| exit M1
|
|
|
|
# 7| exit M1 (abnormal)
|
|
#-----| -> exit M1
|
|
|
|
# 7| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 8| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 9| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 9| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 9| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 9| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 9| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 9| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 10| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 10| [assertion failure] call to method Assert
|
|
#-----| exit -> exit M1 (abnormal)
|
|
|
|
# 10| [assertion success] call to method Assert
|
|
#-----| -> ...;
|
|
|
|
# 10| ... != ...
|
|
#-----| false -> [assertion failure] call to method Assert
|
|
#-----| true -> [assertion success] call to method Assert
|
|
|
|
# 10| access to local variable s
|
|
#-----| -> null
|
|
|
|
# 10| null
|
|
#-----| -> ... != ...
|
|
|
|
# 11| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 11| call to method WriteLine
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 11| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 11| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 14| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 14| exit M2
|
|
|
|
# 14| exit M2 (abnormal)
|
|
#-----| -> exit M2
|
|
|
|
# 14| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 15| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 16| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 16| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 16| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 16| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 16| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 16| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 17| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 17| [assertion failure] call to method IsNull
|
|
#-----| exception(AssertFailedException) -> exit M2 (abnormal)
|
|
|
|
# 17| [assertion success] call to method IsNull
|
|
#-----| -> ...;
|
|
|
|
# 17| access to local variable s
|
|
#-----| non-null -> [assertion failure] call to method IsNull
|
|
#-----| null -> [assertion success] call to method IsNull
|
|
|
|
# 18| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 18| call to method WriteLine
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 18| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 18| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 21| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 21| exit M3
|
|
|
|
# 21| exit M3 (abnormal)
|
|
#-----| -> exit M3
|
|
|
|
# 21| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 22| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 23| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 23| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 23| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 23| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 23| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 23| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 24| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 24| [assertion failure] call to method IsNotNull
|
|
#-----| exception(AssertFailedException) -> exit M3 (abnormal)
|
|
|
|
# 24| [assertion success] call to method IsNotNull
|
|
#-----| -> ...;
|
|
|
|
# 24| access to local variable s
|
|
#-----| null -> [assertion failure] call to method IsNotNull
|
|
#-----| non-null -> [assertion success] call to method IsNotNull
|
|
|
|
# 25| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 25| call to method WriteLine
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 25| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 25| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 28| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 28| exit M4
|
|
|
|
# 28| exit M4 (abnormal)
|
|
#-----| -> exit M4
|
|
|
|
# 28| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 29| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 30| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 30| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 30| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 30| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 30| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 30| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 31| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 31| [assertion failure] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M4 (abnormal)
|
|
|
|
# 31| [assertion success] call to method IsTrue
|
|
#-----| -> ...;
|
|
|
|
# 31| ... == ...
|
|
#-----| false -> [assertion failure] call to method IsTrue
|
|
#-----| true -> [assertion success] call to method IsTrue
|
|
|
|
# 31| access to local variable s
|
|
#-----| -> null
|
|
|
|
# 31| null
|
|
#-----| -> ... == ...
|
|
|
|
# 32| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 32| call to method WriteLine
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 32| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 32| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 35| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 35| exit M5
|
|
|
|
# 35| exit M5 (abnormal)
|
|
#-----| -> exit M5
|
|
|
|
# 35| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 36| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 37| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 37| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 37| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 37| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 37| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 37| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 38| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 38| [assertion failure] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M5 (abnormal)
|
|
|
|
# 38| [assertion success] call to method IsTrue
|
|
#-----| -> ...;
|
|
|
|
# 38| ... != ...
|
|
#-----| false -> [assertion failure] call to method IsTrue
|
|
#-----| true -> [assertion success] call to method IsTrue
|
|
|
|
# 38| access to local variable s
|
|
#-----| -> null
|
|
|
|
# 38| null
|
|
#-----| -> ... != ...
|
|
|
|
# 39| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 39| call to method WriteLine
|
|
#-----| -> exit M5 (normal)
|
|
|
|
# 39| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 39| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 42| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 42| exit M6
|
|
|
|
# 42| exit M6 (abnormal)
|
|
#-----| -> exit M6
|
|
|
|
# 42| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 43| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 44| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 44| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 44| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 44| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 44| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 44| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 45| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 45| [assertion failure] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M6 (abnormal)
|
|
|
|
# 45| [assertion success] call to method IsFalse
|
|
#-----| -> ...;
|
|
|
|
# 45| ... != ...
|
|
#-----| true -> [assertion failure] call to method IsFalse
|
|
#-----| false -> [assertion success] call to method IsFalse
|
|
|
|
# 45| access to local variable s
|
|
#-----| -> null
|
|
|
|
# 45| null
|
|
#-----| -> ... != ...
|
|
|
|
# 46| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 46| call to method WriteLine
|
|
#-----| -> exit M6 (normal)
|
|
|
|
# 46| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 46| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 49| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 49| exit M7
|
|
|
|
# 49| exit M7 (abnormal)
|
|
#-----| -> exit M7
|
|
|
|
# 49| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 50| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 51| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 51| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 51| ... ? ... : ...
|
|
#-----| -> String s = ...
|
|
|
|
# 51| access to parameter b
|
|
#-----| true -> null
|
|
#-----| false -> ""
|
|
|
|
# 51| null
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 51| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 52| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 52| [assertion failure] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M7 (abnormal)
|
|
|
|
# 52| [assertion success] call to method IsFalse
|
|
#-----| -> ...;
|
|
|
|
# 52| ... == ...
|
|
#-----| true -> [assertion failure] call to method IsFalse
|
|
#-----| false -> [assertion success] call to method IsFalse
|
|
|
|
# 52| access to local variable s
|
|
#-----| -> null
|
|
|
|
# 52| null
|
|
#-----| -> ... == ...
|
|
|
|
# 53| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 53| call to method WriteLine
|
|
#-----| -> exit M7 (normal)
|
|
|
|
# 53| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 53| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 56| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 56| exit M8
|
|
|
|
# 56| exit M8 (abnormal)
|
|
#-----| -> exit M8
|
|
|
|
# 56| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 57| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 58| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 58| [b (line 56): false] String s = ...
|
|
#-----| -> [b (line 56): false] ...;
|
|
|
|
# 58| [b (line 56): true] String s = ...
|
|
#-----| -> [b (line 56): true] ...;
|
|
|
|
# 58| [b (line 56): false] ... ? ... : ...
|
|
#-----| -> [b (line 56): false] String s = ...
|
|
|
|
# 58| [b (line 56): true] ... ? ... : ...
|
|
#-----| -> [b (line 56): true] String s = ...
|
|
|
|
# 58| access to parameter b
|
|
#-----| true -> [b (line 56): true] null
|
|
#-----| false -> [b (line 56): false] ""
|
|
|
|
# 58| [b (line 56): true] null
|
|
#-----| -> [b (line 56): true] ... ? ... : ...
|
|
|
|
# 58| [b (line 56): false] ""
|
|
#-----| -> [b (line 56): false] ... ? ... : ...
|
|
|
|
# 59| [b (line 56): false] ...;
|
|
#-----| -> [b (line 56): false] access to local variable s
|
|
|
|
# 59| [b (line 56): true] ...;
|
|
#-----| -> [b (line 56): true] access to local variable s
|
|
|
|
# 59| [assertion failure] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M8 (abnormal)
|
|
|
|
# 59| [assertion success] call to method IsTrue
|
|
#-----| -> ...;
|
|
|
|
# 59| [false] ... && ...
|
|
#-----| false -> [assertion failure] call to method IsTrue
|
|
|
|
# 59| [true] ... && ...
|
|
#-----| true -> [assertion success] call to method IsTrue
|
|
|
|
# 59| [b (line 56): false] ... != ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [b (line 56): false] access to parameter b
|
|
|
|
# 59| [b (line 56): true] ... != ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [b (line 56): true] access to parameter b
|
|
|
|
# 59| [b (line 56): false] access to local variable s
|
|
#-----| -> [b (line 56): false] null
|
|
|
|
# 59| [b (line 56): true] access to local variable s
|
|
#-----| -> [b (line 56): true] null
|
|
|
|
# 59| [b (line 56): false] null
|
|
#-----| -> [b (line 56): false] ... != ...
|
|
|
|
# 59| [b (line 56): true] null
|
|
#-----| -> [b (line 56): true] ... != ...
|
|
|
|
# 59| [b (line 56): false] access to parameter b
|
|
#-----| false -> [false] ... && ...
|
|
|
|
# 59| [b (line 56): true] access to parameter b
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 60| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 60| call to method WriteLine
|
|
#-----| -> exit M8 (normal)
|
|
|
|
# 60| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 60| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 63| enter M9
|
|
#-----| -> {...}
|
|
|
|
# 63| exit M9
|
|
|
|
# 63| exit M9 (abnormal)
|
|
#-----| -> exit M9
|
|
|
|
# 63| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 64| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 65| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 65| [b (line 63): false] String s = ...
|
|
#-----| -> [b (line 63): false] ...;
|
|
|
|
# 65| [b (line 63): true] String s = ...
|
|
#-----| -> [b (line 63): true] ...;
|
|
|
|
# 65| [b (line 63): false] ... ? ... : ...
|
|
#-----| -> [b (line 63): false] String s = ...
|
|
|
|
# 65| [b (line 63): true] ... ? ... : ...
|
|
#-----| -> [b (line 63): true] String s = ...
|
|
|
|
# 65| access to parameter b
|
|
#-----| true -> [b (line 63): true] null
|
|
#-----| false -> [b (line 63): false] ""
|
|
|
|
# 65| [b (line 63): true] null
|
|
#-----| -> [b (line 63): true] ... ? ... : ...
|
|
|
|
# 65| [b (line 63): false] ""
|
|
#-----| -> [b (line 63): false] ... ? ... : ...
|
|
|
|
# 66| [b (line 63): false] ...;
|
|
#-----| -> [b (line 63): false] access to local variable s
|
|
|
|
# 66| [b (line 63): true] ...;
|
|
#-----| -> [b (line 63): true] access to local variable s
|
|
|
|
# 66| [assertion failure] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M9 (abnormal)
|
|
|
|
# 66| [assertion success] call to method IsFalse
|
|
#-----| -> ...;
|
|
|
|
# 66| [false] ... || ...
|
|
#-----| false -> [assertion success] call to method IsFalse
|
|
|
|
# 66| [true] ... || ...
|
|
#-----| true -> [assertion failure] call to method IsFalse
|
|
|
|
# 66| [b (line 63): false] ... == ...
|
|
#-----| true -> [true] ... || ...
|
|
#-----| false -> [b (line 63): false] access to parameter b
|
|
|
|
# 66| [b (line 63): true] ... == ...
|
|
#-----| true -> [true] ... || ...
|
|
#-----| false -> [b (line 63): true] access to parameter b
|
|
|
|
# 66| [b (line 63): false] access to local variable s
|
|
#-----| -> [b (line 63): false] null
|
|
|
|
# 66| [b (line 63): true] access to local variable s
|
|
#-----| -> [b (line 63): true] null
|
|
|
|
# 66| [b (line 63): false] null
|
|
#-----| -> [b (line 63): false] ... == ...
|
|
|
|
# 66| [b (line 63): true] null
|
|
#-----| -> [b (line 63): true] ... == ...
|
|
|
|
# 66| [b (line 63): false] access to parameter b
|
|
#-----| false -> [false] ... || ...
|
|
|
|
# 66| [b (line 63): true] access to parameter b
|
|
#-----| true -> [true] ... || ...
|
|
|
|
# 67| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 67| call to method WriteLine
|
|
#-----| -> exit M9 (normal)
|
|
|
|
# 67| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 67| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 70| enter M10
|
|
#-----| -> {...}
|
|
|
|
# 70| exit M10
|
|
|
|
# 70| exit M10 (abnormal)
|
|
#-----| -> exit M10
|
|
|
|
# 70| exit M10 (normal)
|
|
#-----| -> exit M10
|
|
|
|
# 71| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 72| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 72| [b (line 70): false] String s = ...
|
|
#-----| -> [b (line 70): false] ...;
|
|
|
|
# 72| [b (line 70): true] String s = ...
|
|
#-----| -> [b (line 70): true] ...;
|
|
|
|
# 72| [b (line 70): false] ... ? ... : ...
|
|
#-----| -> [b (line 70): false] String s = ...
|
|
|
|
# 72| [b (line 70): true] ... ? ... : ...
|
|
#-----| -> [b (line 70): true] String s = ...
|
|
|
|
# 72| access to parameter b
|
|
#-----| true -> [b (line 70): true] null
|
|
#-----| false -> [b (line 70): false] ""
|
|
|
|
# 72| [b (line 70): true] null
|
|
#-----| -> [b (line 70): true] ... ? ... : ...
|
|
|
|
# 72| [b (line 70): false] ""
|
|
#-----| -> [b (line 70): false] ... ? ... : ...
|
|
|
|
# 73| [b (line 70): false] ...;
|
|
#-----| -> [b (line 70): false] access to local variable s
|
|
|
|
# 73| [b (line 70): true] ...;
|
|
#-----| -> [b (line 70): true] access to local variable s
|
|
|
|
# 73| [assertion failure] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M10 (abnormal)
|
|
|
|
# 73| [assertion success] call to method IsTrue
|
|
#-----| -> ...;
|
|
|
|
# 73| [false] ... && ...
|
|
#-----| false -> [assertion failure] call to method IsTrue
|
|
|
|
# 73| [true] ... && ...
|
|
#-----| true -> [assertion success] call to method IsTrue
|
|
|
|
# 73| [b (line 70): false] ... == ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [b (line 70): false] access to parameter b
|
|
|
|
# 73| [b (line 70): true] ... == ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [b (line 70): true] access to parameter b
|
|
|
|
# 73| [b (line 70): false] access to local variable s
|
|
#-----| -> [b (line 70): false] null
|
|
|
|
# 73| [b (line 70): true] access to local variable s
|
|
#-----| -> [b (line 70): true] null
|
|
|
|
# 73| [b (line 70): false] null
|
|
#-----| -> [b (line 70): false] ... == ...
|
|
|
|
# 73| [b (line 70): true] null
|
|
#-----| -> [b (line 70): true] ... == ...
|
|
|
|
# 73| [b (line 70): false] access to parameter b
|
|
#-----| false -> [false] ... && ...
|
|
|
|
# 73| [b (line 70): true] access to parameter b
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 74| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 74| call to method WriteLine
|
|
#-----| -> exit M10 (normal)
|
|
|
|
# 74| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 74| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 77| enter M11
|
|
#-----| -> {...}
|
|
|
|
# 77| exit M11
|
|
|
|
# 77| exit M11 (abnormal)
|
|
#-----| -> exit M11
|
|
|
|
# 77| exit M11 (normal)
|
|
#-----| -> exit M11
|
|
|
|
# 78| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 79| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 79| [b (line 77): false] String s = ...
|
|
#-----| -> [b (line 77): false] ...;
|
|
|
|
# 79| [b (line 77): true] String s = ...
|
|
#-----| -> [b (line 77): true] ...;
|
|
|
|
# 79| [b (line 77): false] ... ? ... : ...
|
|
#-----| -> [b (line 77): false] String s = ...
|
|
|
|
# 79| [b (line 77): true] ... ? ... : ...
|
|
#-----| -> [b (line 77): true] String s = ...
|
|
|
|
# 79| access to parameter b
|
|
#-----| true -> [b (line 77): true] null
|
|
#-----| false -> [b (line 77): false] ""
|
|
|
|
# 79| [b (line 77): true] null
|
|
#-----| -> [b (line 77): true] ... ? ... : ...
|
|
|
|
# 79| [b (line 77): false] ""
|
|
#-----| -> [b (line 77): false] ... ? ... : ...
|
|
|
|
# 80| [b (line 77): false] ...;
|
|
#-----| -> [b (line 77): false] access to local variable s
|
|
|
|
# 80| [b (line 77): true] ...;
|
|
#-----| -> [b (line 77): true] access to local variable s
|
|
|
|
# 80| [assertion failure] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M11 (abnormal)
|
|
|
|
# 80| [assertion success] call to method IsFalse
|
|
#-----| -> ...;
|
|
|
|
# 80| [false] ... || ...
|
|
#-----| false -> [assertion success] call to method IsFalse
|
|
|
|
# 80| [true] ... || ...
|
|
#-----| true -> [assertion failure] call to method IsFalse
|
|
|
|
# 80| [b (line 77): false] ... != ...
|
|
#-----| true -> [true] ... || ...
|
|
#-----| false -> [b (line 77): false] access to parameter b
|
|
|
|
# 80| [b (line 77): true] ... != ...
|
|
#-----| true -> [true] ... || ...
|
|
#-----| false -> [b (line 77): true] access to parameter b
|
|
|
|
# 80| [b (line 77): false] access to local variable s
|
|
#-----| -> [b (line 77): false] null
|
|
|
|
# 80| [b (line 77): true] access to local variable s
|
|
#-----| -> [b (line 77): true] null
|
|
|
|
# 80| [b (line 77): false] null
|
|
#-----| -> [b (line 77): false] ... != ...
|
|
|
|
# 80| [b (line 77): true] null
|
|
#-----| -> [b (line 77): true] ... != ...
|
|
|
|
# 80| [b (line 77): false] access to parameter b
|
|
#-----| false -> [false] ... || ...
|
|
|
|
# 80| [b (line 77): true] access to parameter b
|
|
#-----| true -> [true] ... || ...
|
|
|
|
# 81| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 81| call to method WriteLine
|
|
#-----| -> exit M11 (normal)
|
|
|
|
# 81| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 81| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 84| enter M12
|
|
#-----| -> {...}
|
|
|
|
# 84| exit M12
|
|
|
|
# 84| exit M12 (abnormal)
|
|
#-----| -> exit M12
|
|
|
|
# 84| exit M12 (normal)
|
|
#-----| -> exit M12
|
|
|
|
# 85| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 86| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 86| [b (line 84): false] String s = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 86| [b (line 84): true] String s = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 86| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] String s = ...
|
|
|
|
# 86| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] String s = ...
|
|
|
|
# 86| access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 86| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 86| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 87| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 87| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 87| [assertion failure, b (line 84): false] call to method Assert
|
|
#-----| exit -> exit M12 (abnormal)
|
|
|
|
# 87| [assertion failure, b (line 84): true] call to method Assert
|
|
#-----| exit -> exit M12 (abnormal)
|
|
|
|
# 87| [assertion success, b (line 84): false] call to method Assert
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 87| [assertion success, b (line 84): true] call to method Assert
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 87| [b (line 84): false] ... != ...
|
|
#-----| false -> [assertion failure, b (line 84): false] call to method Assert
|
|
#-----| true -> [assertion success, b (line 84): false] call to method Assert
|
|
|
|
# 87| [b (line 84): true] ... != ...
|
|
#-----| false -> [assertion failure, b (line 84): true] call to method Assert
|
|
#-----| true -> [assertion success, b (line 84): true] call to method Assert
|
|
|
|
# 87| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] null
|
|
|
|
# 87| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 87| [b (line 84): false] null
|
|
#-----| -> [b (line 84): false] ... != ...
|
|
|
|
# 87| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... != ...
|
|
|
|
# 88| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 88| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 88| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 88| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 88| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 88| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 88| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 88| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 90| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 90| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 90| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 90| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 90| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 90| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 90| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 90| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 90| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 90| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 91| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 91| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 91| [assertion failure, b (line 84): false] call to method IsNull
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 91| [assertion failure, b (line 84): true] call to method IsNull
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 91| [assertion success, b (line 84): false] call to method IsNull
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 91| [assertion success, b (line 84): true] call to method IsNull
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 91| [b (line 84): false] access to local variable s
|
|
#-----| non-null -> [assertion failure, b (line 84): false] call to method IsNull
|
|
#-----| null -> [assertion success, b (line 84): false] call to method IsNull
|
|
|
|
# 91| [b (line 84): true] access to local variable s
|
|
#-----| non-null -> [assertion failure, b (line 84): true] call to method IsNull
|
|
#-----| null -> [assertion success, b (line 84): true] call to method IsNull
|
|
|
|
# 92| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 92| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 92| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 92| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 92| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 92| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 92| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 92| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 94| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 94| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 94| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 94| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 94| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 94| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 94| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 94| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 94| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 94| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 95| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 95| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 95| [assertion failure, b (line 84): false] call to method IsNotNull
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 95| [assertion failure, b (line 84): true] call to method IsNotNull
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 95| [assertion success, b (line 84): false] call to method IsNotNull
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 95| [assertion success, b (line 84): true] call to method IsNotNull
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 95| [b (line 84): false] access to local variable s
|
|
#-----| null -> [assertion failure, b (line 84): false] call to method IsNotNull
|
|
#-----| non-null -> [assertion success, b (line 84): false] call to method IsNotNull
|
|
|
|
# 95| [b (line 84): true] access to local variable s
|
|
#-----| null -> [assertion failure, b (line 84): true] call to method IsNotNull
|
|
#-----| non-null -> [assertion success, b (line 84): true] call to method IsNotNull
|
|
|
|
# 96| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 96| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 96| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 96| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 96| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 96| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 96| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 96| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 98| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 98| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 98| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 98| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 98| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 98| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 98| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 98| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 98| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 98| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 99| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 99| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 99| [assertion failure, b (line 84): false] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 99| [assertion failure, b (line 84): true] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 99| [assertion success, b (line 84): false] call to method IsTrue
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 99| [assertion success, b (line 84): true] call to method IsTrue
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 99| [b (line 84): false] ... == ...
|
|
#-----| false -> [assertion failure, b (line 84): false] call to method IsTrue
|
|
#-----| true -> [assertion success, b (line 84): false] call to method IsTrue
|
|
|
|
# 99| [b (line 84): true] ... == ...
|
|
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
|
|
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
|
|
|
|
# 99| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] null
|
|
|
|
# 99| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 99| [b (line 84): false] null
|
|
#-----| -> [b (line 84): false] ... == ...
|
|
|
|
# 99| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... == ...
|
|
|
|
# 100| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 100| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 100| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 100| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 100| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 100| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 100| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 100| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 102| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 102| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 102| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 102| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 102| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 102| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 102| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 102| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 102| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 102| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 103| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 103| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 103| [assertion failure, b (line 84): false] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 103| [assertion failure, b (line 84): true] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 103| [assertion success, b (line 84): false] call to method IsTrue
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 103| [assertion success, b (line 84): true] call to method IsTrue
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 103| [b (line 84): false] ... != ...
|
|
#-----| false -> [assertion failure, b (line 84): false] call to method IsTrue
|
|
#-----| true -> [assertion success, b (line 84): false] call to method IsTrue
|
|
|
|
# 103| [b (line 84): true] ... != ...
|
|
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
|
|
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
|
|
|
|
# 103| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] null
|
|
|
|
# 103| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 103| [b (line 84): false] null
|
|
#-----| -> [b (line 84): false] ... != ...
|
|
|
|
# 103| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... != ...
|
|
|
|
# 104| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 104| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 104| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 104| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 104| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 104| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 104| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 104| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 106| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 106| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 106| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 106| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 106| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 106| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 106| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 106| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 106| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 106| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 107| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 107| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 107| [assertion failure, b (line 84): false] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 107| [assertion failure, b (line 84): true] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 107| [assertion success, b (line 84): false] call to method IsFalse
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 107| [assertion success, b (line 84): true] call to method IsFalse
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 107| [b (line 84): false] ... != ...
|
|
#-----| true -> [assertion failure, b (line 84): false] call to method IsFalse
|
|
#-----| false -> [assertion success, b (line 84): false] call to method IsFalse
|
|
|
|
# 107| [b (line 84): true] ... != ...
|
|
#-----| true -> [assertion failure, b (line 84): true] call to method IsFalse
|
|
#-----| false -> [assertion success, b (line 84): true] call to method IsFalse
|
|
|
|
# 107| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] null
|
|
|
|
# 107| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 107| [b (line 84): false] null
|
|
#-----| -> [b (line 84): false] ... != ...
|
|
|
|
# 107| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... != ...
|
|
|
|
# 108| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 108| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 108| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 108| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 108| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 108| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 108| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 108| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 110| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 110| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 110| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 110| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 110| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 110| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 110| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 110| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 110| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 110| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 111| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 111| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 111| [assertion failure, b (line 84): false] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 111| [assertion failure, b (line 84): true] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 111| [assertion success, b (line 84): false] call to method IsFalse
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 111| [assertion success, b (line 84): true] call to method IsFalse
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 111| [b (line 84): false] ... == ...
|
|
#-----| true -> [assertion failure, b (line 84): false] call to method IsFalse
|
|
#-----| false -> [assertion success, b (line 84): false] call to method IsFalse
|
|
|
|
# 111| [b (line 84): true] ... == ...
|
|
#-----| true -> [assertion failure, b (line 84): true] call to method IsFalse
|
|
#-----| false -> [assertion success, b (line 84): true] call to method IsFalse
|
|
|
|
# 111| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] null
|
|
|
|
# 111| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 111| [b (line 84): false] null
|
|
#-----| -> [b (line 84): false] ... == ...
|
|
|
|
# 111| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... == ...
|
|
|
|
# 112| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 112| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 112| [b (line 84): false] call to method WriteLine
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 112| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 112| [b (line 84): false] access to property Length
|
|
#-----| -> [b (line 84): false] call to method WriteLine
|
|
|
|
# 112| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 112| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] access to property Length
|
|
|
|
# 112| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 114| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to parameter b
|
|
|
|
# 114| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 114| [b (line 84): false] ... = ...
|
|
#-----| -> [b (line 84): false] ...;
|
|
|
|
# 114| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 114| [b (line 84): false] ... ? ... : ...
|
|
#-----| -> [b (line 84): false] ... = ...
|
|
|
|
# 114| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 114| [b (line 84): false] access to parameter b
|
|
#-----| false -> [b (line 84): false] ""
|
|
|
|
# 114| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 114| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 114| [b (line 84): false] ""
|
|
#-----| -> [b (line 84): false] ... ? ... : ...
|
|
|
|
# 115| [b (line 84): false] ...;
|
|
#-----| -> [b (line 84): false] access to local variable s
|
|
|
|
# 115| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 115| [assertion failure, b (line 84): false] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 115| [assertion failure, b (line 84): true] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 115| [assertion success, b (line 84): true] call to method IsTrue
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 115| [false, b (line 84): false] ... && ...
|
|
#-----| false -> [assertion failure, b (line 84): false] call to method IsTrue
|
|
|
|
# 115| [false, b (line 84): true] ... && ...
|
|
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
|
|
|
|
# 115| [true, b (line 84): true] ... && ...
|
|
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
|
|
|
|
# 115| [b (line 84): false] ... != ...
|
|
#-----| false -> [false, b (line 84): false] ... && ...
|
|
#-----| true -> [b (line 84): false] access to parameter b
|
|
|
|
# 115| [b (line 84): true] ... != ...
|
|
#-----| false -> [false, b (line 84): true] ... && ...
|
|
#-----| true -> [b (line 84): true] access to parameter b
|
|
|
|
# 115| [b (line 84): false] access to local variable s
|
|
#-----| -> [b (line 84): false] null
|
|
|
|
# 115| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 115| [b (line 84): false] null
|
|
#-----| -> [b (line 84): false] ... != ...
|
|
|
|
# 115| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... != ...
|
|
|
|
# 115| [b (line 84): false] access to parameter b
|
|
#-----| false -> [false, b (line 84): false] ... && ...
|
|
|
|
# 115| [b (line 84): true] access to parameter b
|
|
#-----| true -> [true, b (line 84): true] ... && ...
|
|
|
|
# 116| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 116| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 116| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 116| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 118| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 118| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 118| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 118| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 118| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 119| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 119| [assertion failure, b (line 84): true] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 119| [assertion success, b (line 84): true] call to method IsFalse
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 119| [false, b (line 84): true] ... || ...
|
|
#-----| false -> [assertion success, b (line 84): true] call to method IsFalse
|
|
|
|
# 119| [true, b (line 84): true] ... || ...
|
|
#-----| true -> [assertion failure, b (line 84): true] call to method IsFalse
|
|
|
|
# 119| [b (line 84): true] ... == ...
|
|
#-----| true -> [true, b (line 84): true] ... || ...
|
|
#-----| false -> [b (line 84): true] access to parameter b
|
|
|
|
# 119| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 119| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... == ...
|
|
|
|
# 119| [false, b (line 84): true] !...
|
|
#-----| false -> [false, b (line 84): true] ... || ...
|
|
|
|
# 119| [b (line 84): true] access to parameter b
|
|
#-----| true -> [false, b (line 84): true] !...
|
|
|
|
# 120| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 120| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 120| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 120| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 122| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 122| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 122| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 122| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 122| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 123| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 123| [assertion failure, b (line 84): true] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 123| [assertion success, b (line 84): true] call to method IsTrue
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 123| [false, b (line 84): true] ... && ...
|
|
#-----| false -> [assertion failure, b (line 84): true] call to method IsTrue
|
|
|
|
# 123| [true, b (line 84): true] ... && ...
|
|
#-----| true -> [assertion success, b (line 84): true] call to method IsTrue
|
|
|
|
# 123| [b (line 84): true] ... == ...
|
|
#-----| false -> [false, b (line 84): true] ... && ...
|
|
#-----| true -> [b (line 84): true] access to parameter b
|
|
|
|
# 123| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 123| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... == ...
|
|
|
|
# 123| [b (line 84): true] access to parameter b
|
|
#-----| true -> [true, b (line 84): true] ... && ...
|
|
|
|
# 124| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 124| [b (line 84): true] call to method WriteLine
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 124| [b (line 84): true] access to property Length
|
|
#-----| -> [b (line 84): true] call to method WriteLine
|
|
|
|
# 124| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] access to property Length
|
|
|
|
# 126| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to parameter b
|
|
|
|
# 126| [b (line 84): true] ... = ...
|
|
#-----| -> [b (line 84): true] ...;
|
|
|
|
# 126| [b (line 84): true] ... ? ... : ...
|
|
#-----| -> [b (line 84): true] ... = ...
|
|
|
|
# 126| [b (line 84): true] access to parameter b
|
|
#-----| true -> [b (line 84): true] null
|
|
|
|
# 126| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... ? ... : ...
|
|
|
|
# 127| [b (line 84): true] ...;
|
|
#-----| -> [b (line 84): true] access to local variable s
|
|
|
|
# 127| [assertion failure] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit M12 (abnormal)
|
|
|
|
# 127| [assertion success] call to method IsFalse
|
|
#-----| -> ...;
|
|
|
|
# 127| [false] ... || ...
|
|
#-----| false -> [assertion success] call to method IsFalse
|
|
|
|
# 127| [true] ... || ...
|
|
#-----| true -> [assertion failure] call to method IsFalse
|
|
|
|
# 127| [b (line 84): true] ... != ...
|
|
#-----| true -> [true] ... || ...
|
|
#-----| false -> [b (line 84): true] access to parameter b
|
|
|
|
# 127| [b (line 84): true] access to local variable s
|
|
#-----| -> [b (line 84): true] null
|
|
|
|
# 127| [b (line 84): true] null
|
|
#-----| -> [b (line 84): true] ... != ...
|
|
|
|
# 127| [false] !...
|
|
#-----| false -> [false] ... || ...
|
|
|
|
# 127| [b (line 84): true] access to parameter b
|
|
#-----| true -> [false] !...
|
|
|
|
# 128| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 128| call to method WriteLine
|
|
#-----| -> exit M12 (normal)
|
|
|
|
# 128| access to property Length
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 128| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 131| enter AssertTrueFalse
|
|
#-----| -> {...}
|
|
|
|
# 131| exit AssertTrueFalse
|
|
|
|
# 131| exit AssertTrueFalse (normal)
|
|
#-----| -> exit AssertTrueFalse
|
|
|
|
# 135| {...}
|
|
#-----| -> exit AssertTrueFalse (normal)
|
|
|
|
# 138| enter M13
|
|
#-----| -> {...}
|
|
|
|
# 138| exit M13
|
|
|
|
# 138| exit M13 (abnormal)
|
|
#-----| -> exit M13
|
|
|
|
# 138| exit M13 (normal)
|
|
#-----| -> exit M13
|
|
|
|
# 139| {...}
|
|
#-----| -> ...;
|
|
|
|
# 140| ...;
|
|
#-----| -> this access
|
|
|
|
# 140| [assertion failure] call to method AssertTrueFalse
|
|
#-----| exception(Exception) -> exit M13 (abnormal)
|
|
|
|
# 140| [assertion failure] call to method AssertTrueFalse
|
|
#-----| exception(Exception) -> exit M13 (abnormal)
|
|
|
|
# 140| [assertion success] call to method AssertTrueFalse
|
|
#-----| -> return ...;
|
|
|
|
# 140| this access
|
|
#-----| -> access to parameter b1
|
|
|
|
# 140| access to parameter b1
|
|
#-----| true -> access to parameter b2
|
|
#-----| false -> [assertion failure] access to parameter b2
|
|
|
|
# 140| access to parameter b2
|
|
#-----| true -> [assertion failure] access to parameter b3
|
|
#-----| false -> [assertion success] access to parameter b3
|
|
|
|
# 140| [assertion failure] access to parameter b2
|
|
#-----| true -> [assertion failure] access to parameter b3
|
|
|
|
# 140| [assertion failure] access to parameter b3
|
|
#-----| -> [assertion failure] call to method AssertTrueFalse
|
|
|
|
# 140| [assertion failure] access to parameter b3
|
|
#-----| -> [assertion failure] call to method AssertTrueFalse
|
|
|
|
# 140| [assertion success] access to parameter b3
|
|
#-----| -> [assertion success] call to method AssertTrueFalse
|
|
|
|
# 141| return ...;
|
|
#-----| return -> exit M13 (normal)
|
|
|
|
Assignments.cs:
|
|
# 3| enter M
|
|
#-----| -> {...}
|
|
|
|
# 3| exit M
|
|
|
|
# 3| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 4| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 5| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 5| Int32 x = ...
|
|
#-----| -> ...;
|
|
|
|
# 5| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 6| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 6| ... = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 6| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 6| access to local variable x
|
|
#-----| -> 1
|
|
|
|
# 6| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 8| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 8| dynamic d = ...
|
|
#-----| -> ...;
|
|
|
|
# 8| (...) ...
|
|
#-----| -> dynamic d = ...
|
|
|
|
# 8| 0
|
|
#-----| -> (...) ...
|
|
|
|
# 9| ...;
|
|
#-----| -> access to local variable d
|
|
|
|
# 9| ... = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 9| dynamic call to operator -
|
|
#-----| -> ... = ...
|
|
|
|
# 9| access to local variable d
|
|
#-----| -> 2
|
|
|
|
# 9| 2
|
|
#-----| -> dynamic call to operator -
|
|
|
|
# 11| ... ...;
|
|
#-----| -> object creation of type Assignments
|
|
|
|
# 11| Assignments a = ...
|
|
#-----| -> ...;
|
|
|
|
# 11| object creation of type Assignments
|
|
#-----| -> Assignments a = ...
|
|
|
|
# 12| ...;
|
|
#-----| -> access to local variable a
|
|
|
|
# 12| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 12| call to operator +
|
|
#-----| -> ... = ...
|
|
|
|
# 12| access to local variable a
|
|
#-----| -> this access
|
|
|
|
# 12| this access
|
|
#-----| -> call to operator +
|
|
|
|
# 14| ...;
|
|
#-----| -> this access
|
|
|
|
# 14| ... += ...
|
|
#-----| -> exit M (normal)
|
|
|
|
# 14| access to event Event
|
|
#-----| -> ... += ...
|
|
|
|
# 14| this access
|
|
#-----| -> (...) => ...
|
|
|
|
# 14| enter (...) => ...
|
|
#-----| -> {...}
|
|
|
|
# 14| (...) => ...
|
|
#-----| -> access to event Event
|
|
|
|
# 14| exit (...) => ...
|
|
|
|
# 14| exit (...) => ... (normal)
|
|
#-----| -> exit (...) => ...
|
|
|
|
# 14| {...}
|
|
#-----| -> exit (...) => ... (normal)
|
|
|
|
# 17| enter +
|
|
#-----| -> {...}
|
|
|
|
# 17| exit +
|
|
|
|
# 17| exit + (normal)
|
|
#-----| -> exit +
|
|
|
|
# 18| {...}
|
|
#-----| -> access to parameter x
|
|
|
|
# 19| return ...;
|
|
#-----| return -> exit + (normal)
|
|
|
|
# 19| access to parameter x
|
|
#-----| -> return ...;
|
|
|
|
BreakInTry.cs:
|
|
# 3| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 3| exit M1
|
|
|
|
# 3| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 4| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 5| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 6| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 7| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
#-----| empty -> {...}
|
|
|
|
# 7| String arg
|
|
#-----| -> {...}
|
|
|
|
# 7| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 8| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 9| if (...) ...
|
|
#-----| -> access to local variable arg
|
|
|
|
# 9| ... == ...
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> break;
|
|
|
|
# 9| access to local variable arg
|
|
#-----| -> null
|
|
|
|
# 9| null
|
|
#-----| -> ... == ...
|
|
|
|
# 10| break;
|
|
#-----| break -> {...}
|
|
|
|
# 14| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 15| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 15| ... == ...
|
|
#-----| true -> ;
|
|
#-----| false -> exit M1 (normal)
|
|
|
|
# 15| access to parameter args
|
|
#-----| -> null
|
|
|
|
# 15| null
|
|
#-----| -> ... == ...
|
|
|
|
# 16| ;
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 20| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 20| exit M2
|
|
|
|
# 20| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 21| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 22| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
#-----| empty -> ;
|
|
|
|
# 22| String arg
|
|
#-----| -> {...}
|
|
|
|
# 22| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 23| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 24| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 25| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 26| if (...) ...
|
|
#-----| -> access to local variable arg
|
|
|
|
# 26| ... == ...
|
|
#-----| true -> break;
|
|
#-----| false -> {...}
|
|
|
|
# 26| access to local variable arg
|
|
#-----| -> null
|
|
|
|
# 26| null
|
|
#-----| -> ... == ...
|
|
|
|
# 27| break;
|
|
#-----| break -> [finally: break] {...}
|
|
|
|
# 30| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 30| [finally: break] {...}
|
|
#-----| -> [finally: break] if (...) ...
|
|
|
|
# 31| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 31| [finally: break] if (...) ...
|
|
#-----| -> [finally: break] access to parameter args
|
|
|
|
# 31| ... == ...
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> ;
|
|
|
|
# 31| [finally: break] ... == ...
|
|
#-----| true -> [finally: break] ;
|
|
#-----| false -> ;
|
|
|
|
# 31| access to parameter args
|
|
#-----| -> null
|
|
|
|
# 31| [finally: break] access to parameter args
|
|
#-----| -> [finally: break] null
|
|
|
|
# 31| null
|
|
#-----| -> ... == ...
|
|
|
|
# 31| [finally: break] null
|
|
#-----| -> [finally: break] ... == ...
|
|
|
|
# 32| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 32| [finally: break] ;
|
|
#-----| break -> ;
|
|
|
|
# 35| ;
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 38| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 38| exit M3
|
|
|
|
# 38| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 39| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 40| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 41| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 42| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 42| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> {...}
|
|
|
|
# 42| access to parameter args
|
|
#-----| -> null
|
|
|
|
# 42| null
|
|
#-----| -> ... == ...
|
|
|
|
# 43| return ...;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 46| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 46| [finally: return] {...}
|
|
#-----| -> [finally: return] access to parameter args
|
|
|
|
# 47| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
#-----| empty -> ;
|
|
|
|
# 47| [finally: return] foreach (... ... in ...) ...
|
|
#-----| non-empty -> [finally: return] String arg
|
|
#-----| return -> exit M3 (normal)
|
|
|
|
# 47| String arg
|
|
#-----| -> {...}
|
|
|
|
# 47| [finally: return] String arg
|
|
#-----| -> [finally: return] {...}
|
|
|
|
# 47| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 47| [finally: return] access to parameter args
|
|
#-----| -> [finally: return] foreach (... ... in ...) ...
|
|
|
|
# 48| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 48| [finally: return] {...}
|
|
#-----| -> [finally: return] if (...) ...
|
|
|
|
# 49| if (...) ...
|
|
#-----| -> access to local variable arg
|
|
|
|
# 49| [finally: return] if (...) ...
|
|
#-----| -> [finally: return] access to local variable arg
|
|
|
|
# 49| ... == ...
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> break;
|
|
|
|
# 49| [finally: return] ... == ...
|
|
#-----| false -> [finally: return] foreach (... ... in ...) ...
|
|
#-----| true -> [finally: return] break;
|
|
|
|
# 49| access to local variable arg
|
|
#-----| -> null
|
|
|
|
# 49| [finally: return] access to local variable arg
|
|
#-----| -> [finally: return] null
|
|
|
|
# 49| null
|
|
#-----| -> ... == ...
|
|
|
|
# 49| [finally: return] null
|
|
#-----| -> [finally: return] ... == ...
|
|
|
|
# 50| break;
|
|
#-----| break -> ;
|
|
|
|
# 50| [finally: return] break;
|
|
#-----| return -> exit M3 (normal)
|
|
|
|
# 53| ;
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 56| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 56| exit M4
|
|
|
|
# 56| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 57| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 58| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 59| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 60| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 60| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> {...}
|
|
|
|
# 60| access to parameter args
|
|
#-----| -> null
|
|
|
|
# 60| null
|
|
#-----| -> ... == ...
|
|
|
|
# 61| return ...;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 64| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 64| [finally: return] {...}
|
|
#-----| -> [finally: return] access to parameter args
|
|
|
|
# 65| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
#-----| empty -> exit M4 (normal)
|
|
|
|
# 65| [finally: return] foreach (... ... in ...) ...
|
|
#-----| non-empty -> [finally: return] String arg
|
|
#-----| return -> exit M4 (normal)
|
|
|
|
# 65| String arg
|
|
#-----| -> {...}
|
|
|
|
# 65| [finally: return] String arg
|
|
#-----| -> [finally: return] {...}
|
|
|
|
# 65| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 65| [finally: return] access to parameter args
|
|
#-----| -> [finally: return] foreach (... ... in ...) ...
|
|
|
|
# 66| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 66| [finally: return] {...}
|
|
#-----| -> [finally: return] if (...) ...
|
|
|
|
# 67| if (...) ...
|
|
#-----| -> access to local variable arg
|
|
|
|
# 67| [finally: return] if (...) ...
|
|
#-----| -> [finally: return] access to local variable arg
|
|
|
|
# 67| ... == ...
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> break;
|
|
|
|
# 67| [finally: return] ... == ...
|
|
#-----| false -> [finally: return] foreach (... ... in ...) ...
|
|
#-----| true -> [finally: return] break;
|
|
|
|
# 67| access to local variable arg
|
|
#-----| -> null
|
|
|
|
# 67| [finally: return] access to local variable arg
|
|
#-----| -> [finally: return] null
|
|
|
|
# 67| null
|
|
#-----| -> ... == ...
|
|
|
|
# 67| [finally: return] null
|
|
#-----| -> [finally: return] ... == ...
|
|
|
|
# 68| break;
|
|
#-----| break -> exit M4 (normal)
|
|
|
|
# 68| [finally: return] break;
|
|
#-----| return -> exit M4 (normal)
|
|
|
|
CompileTimeOperators.cs:
|
|
# 5| enter Default
|
|
#-----| -> {...}
|
|
|
|
# 5| exit Default
|
|
|
|
# 5| exit Default (normal)
|
|
#-----| -> exit Default
|
|
|
|
# 6| {...}
|
|
#-----| -> default(...)
|
|
|
|
# 7| return ...;
|
|
#-----| return -> exit Default (normal)
|
|
|
|
# 7| default(...)
|
|
#-----| -> return ...;
|
|
|
|
# 10| enter Sizeof
|
|
#-----| -> {...}
|
|
|
|
# 10| exit Sizeof
|
|
|
|
# 10| exit Sizeof (normal)
|
|
#-----| -> exit Sizeof
|
|
|
|
# 11| {...}
|
|
#-----| -> sizeof(..)
|
|
|
|
# 12| return ...;
|
|
#-----| return -> exit Sizeof (normal)
|
|
|
|
# 12| sizeof(..)
|
|
#-----| -> return ...;
|
|
|
|
# 15| enter Typeof
|
|
#-----| -> {...}
|
|
|
|
# 15| exit Typeof
|
|
|
|
# 15| exit Typeof (normal)
|
|
#-----| -> exit Typeof
|
|
|
|
# 16| {...}
|
|
#-----| -> typeof(...)
|
|
|
|
# 17| return ...;
|
|
#-----| return -> exit Typeof (normal)
|
|
|
|
# 17| typeof(...)
|
|
#-----| -> return ...;
|
|
|
|
# 20| enter Nameof
|
|
#-----| -> {...}
|
|
|
|
# 20| exit Nameof
|
|
|
|
# 20| exit Nameof (normal)
|
|
#-----| -> exit Nameof
|
|
|
|
# 21| {...}
|
|
#-----| -> nameof(...)
|
|
|
|
# 22| return ...;
|
|
#-----| return -> exit Nameof (normal)
|
|
|
|
# 22| nameof(...)
|
|
#-----| -> return ...;
|
|
|
|
# 28| enter M
|
|
#-----| -> {...}
|
|
|
|
# 28| exit M
|
|
|
|
# 28| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 29| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 30| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 31| {...}
|
|
#-----| -> goto ...;
|
|
|
|
# 32| goto ...;
|
|
#-----| goto(End) -> [finally: goto(End)] {...}
|
|
|
|
# 36| [finally: goto(End)] {...}
|
|
#-----| -> [finally: goto(End)] ...;
|
|
|
|
# 37| [finally: goto(End)] ...;
|
|
#-----| -> [finally: goto(End)] "Finally"
|
|
|
|
# 37| [finally: goto(End)] call to method WriteLine
|
|
#-----| goto(End) -> End:
|
|
|
|
# 37| [finally: goto(End)] "Finally"
|
|
#-----| -> [finally: goto(End)] call to method WriteLine
|
|
|
|
# 40| End:
|
|
#-----| -> ...;
|
|
|
|
# 40| ...;
|
|
#-----| -> "End"
|
|
|
|
# 40| call to method WriteLine
|
|
#-----| -> exit M (normal)
|
|
|
|
# 40| "End"
|
|
#-----| -> call to method WriteLine
|
|
|
|
ConditionalAccess.cs:
|
|
# 3| enter M1
|
|
#-----| -> access to parameter i
|
|
|
|
# 3| exit M1
|
|
|
|
# 3| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 3| access to parameter i
|
|
#-----| non-null -> call to method ToString
|
|
#-----| null -> exit M1 (normal)
|
|
|
|
# 3| call to method ToString
|
|
#-----| non-null -> call to method ToLower
|
|
#-----| null -> exit M1 (normal)
|
|
|
|
# 3| call to method ToLower
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 5| enter M2
|
|
#-----| -> access to parameter s
|
|
|
|
# 5| exit M2
|
|
|
|
# 5| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 5| access to parameter s
|
|
#-----| non-null -> access to property Length
|
|
#-----| null -> exit M2 (normal)
|
|
|
|
# 5| access to property Length
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 7| enter M3
|
|
#-----| -> access to parameter s1
|
|
|
|
# 7| exit M3
|
|
|
|
# 7| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 7| ... ?? ...
|
|
#-----| non-null -> access to property Length
|
|
#-----| null -> exit M3 (normal)
|
|
|
|
# 7| [non-null] ... ?? ...
|
|
#-----| non-null -> access to property Length
|
|
|
|
# 7| [null] ... ?? ...
|
|
#-----| null -> exit M3 (normal)
|
|
|
|
# 7| access to parameter s1
|
|
#-----| non-null -> ... ?? ...
|
|
#-----| null -> access to parameter s2
|
|
|
|
# 7| access to parameter s2
|
|
#-----| non-null -> [non-null] ... ?? ...
|
|
#-----| null -> [null] ... ?? ...
|
|
|
|
# 7| access to property Length
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 9| enter M4
|
|
#-----| -> access to parameter s
|
|
|
|
# 9| exit M4
|
|
|
|
# 9| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 9| ... ?? ...
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 9| access to parameter s
|
|
#-----| non-null -> access to property Length
|
|
#-----| null -> 0
|
|
|
|
# 9| access to property Length
|
|
#-----| non-null -> ... ?? ...
|
|
#-----| null -> 0
|
|
|
|
# 9| 0
|
|
#-----| -> ... ?? ...
|
|
|
|
# 11| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 11| exit M5
|
|
|
|
# 11| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 12| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 13| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 13| ... > ...
|
|
#-----| true -> 0
|
|
#-----| false -> 1
|
|
|
|
# 13| access to parameter s
|
|
#-----| non-null -> access to property Length
|
|
#-----| null -> 0
|
|
|
|
# 13| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 13| (...) ...
|
|
#-----| -> ... > ...
|
|
|
|
# 13| 0
|
|
#-----| -> (...) ...
|
|
|
|
# 14| return ...;
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 14| 0
|
|
#-----| -> return ...;
|
|
|
|
# 16| return ...;
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 16| 1
|
|
#-----| -> return ...;
|
|
|
|
# 19| enter M6
|
|
#-----| -> access to parameter s1
|
|
|
|
# 19| exit M6
|
|
|
|
# 19| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 19| access to parameter s1
|
|
#-----| non-null -> access to parameter s2
|
|
#-----| null -> exit M6 (normal)
|
|
|
|
# 19| call to method CommaJoinWith
|
|
#-----| -> exit M6 (normal)
|
|
|
|
# 19| access to parameter s2
|
|
#-----| -> call to method CommaJoinWith
|
|
|
|
# 21| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 21| exit M7
|
|
|
|
# 21| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 22| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 23| ... ...;
|
|
#-----| -> null
|
|
|
|
# 23| Nullable<Int32> j = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 23| (...) ...
|
|
#-----| null -> Nullable<Int32> j = ...
|
|
|
|
# 23| null
|
|
#-----| -> (...) ...
|
|
|
|
# 24| ... ...;
|
|
#-----| -> access to parameter i
|
|
|
|
# 24| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 24| (...) ...
|
|
#-----| non-null -> call to method ToString
|
|
|
|
# 24| access to parameter i
|
|
#-----| -> (...) ...
|
|
|
|
# 24| call to method ToString
|
|
#-----| -> String s = ...
|
|
|
|
# 25| ...;
|
|
#-----| -> ""
|
|
|
|
# 25| ... = ...
|
|
#-----| -> exit M7 (normal)
|
|
|
|
# 25| ""
|
|
#-----| non-null -> access to local variable s
|
|
|
|
# 25| call to method CommaJoinWith
|
|
#-----| -> ... = ...
|
|
|
|
# 25| access to local variable s
|
|
#-----| -> call to method CommaJoinWith
|
|
|
|
# 30| enter Out
|
|
#-----| -> 0
|
|
|
|
# 30| exit Out
|
|
|
|
# 30| exit Out (normal)
|
|
#-----| -> exit Out
|
|
|
|
# 30| ... = ...
|
|
#-----| -> exit Out (normal)
|
|
|
|
# 30| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 32| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 32| exit M8
|
|
|
|
# 32| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 33| {...}
|
|
#-----| -> ...;
|
|
|
|
# 34| ...;
|
|
#-----| -> 0
|
|
|
|
# 34| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 34| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 35| ...;
|
|
#-----| -> this access
|
|
|
|
# 35| access to property Prop
|
|
#-----| non-null -> call to method Out
|
|
#-----| null -> exit M8 (normal)
|
|
|
|
# 35| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 35| call to method Out
|
|
#-----| -> exit M8 (normal)
|
|
|
|
# 41| enter CommaJoinWith
|
|
#-----| -> access to parameter s1
|
|
|
|
# 41| exit CommaJoinWith
|
|
|
|
# 41| exit CommaJoinWith (normal)
|
|
#-----| -> exit CommaJoinWith
|
|
|
|
# 41| ... + ...
|
|
#-----| -> exit CommaJoinWith (normal)
|
|
|
|
# 41| ... + ...
|
|
#-----| -> access to parameter s2
|
|
|
|
# 41| access to parameter s1
|
|
#-----| -> ", "
|
|
|
|
# 41| ", "
|
|
#-----| -> ... + ...
|
|
|
|
# 41| access to parameter s2
|
|
#-----| -> ... + ...
|
|
|
|
Conditions.cs:
|
|
# 3| enter IncrOrDecr
|
|
#-----| -> {...}
|
|
|
|
# 3| exit IncrOrDecr
|
|
|
|
# 3| exit IncrOrDecr (normal)
|
|
#-----| -> exit IncrOrDecr
|
|
|
|
# 4| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 5| if (...) ...
|
|
#-----| -> access to parameter inc
|
|
|
|
# 5| access to parameter inc
|
|
#-----| true -> [inc (line 3): true] ...;
|
|
#-----| false -> [inc (line 3): false] if (...) ...
|
|
|
|
# 6| [inc (line 3): true] ...;
|
|
#-----| -> [inc (line 3): true] access to parameter x
|
|
|
|
# 6| [inc (line 3): true] ...++
|
|
#-----| -> [inc (line 3): true] if (...) ...
|
|
|
|
# 6| [inc (line 3): true] access to parameter x
|
|
#-----| -> [inc (line 3): true] ...++
|
|
|
|
# 7| [inc (line 3): false] if (...) ...
|
|
#-----| -> [inc (line 3): false] access to parameter inc
|
|
|
|
# 7| [inc (line 3): true] if (...) ...
|
|
#-----| -> [inc (line 3): true] access to parameter inc
|
|
|
|
# 7| [false] !...
|
|
#-----| false -> exit IncrOrDecr (normal)
|
|
|
|
# 7| [true] !...
|
|
#-----| true -> ...;
|
|
|
|
# 7| [inc (line 3): false] access to parameter inc
|
|
#-----| false -> [true] !...
|
|
|
|
# 7| [inc (line 3): true] access to parameter inc
|
|
#-----| true -> [false] !...
|
|
|
|
# 8| ...;
|
|
#-----| -> access to parameter x
|
|
|
|
# 8| ...--
|
|
#-----| -> exit IncrOrDecr (normal)
|
|
|
|
# 8| access to parameter x
|
|
#-----| -> ...--
|
|
|
|
# 11| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 11| exit M1
|
|
|
|
# 11| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 12| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 13| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 13| Int32 x = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 13| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 14| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 14| access to parameter b
|
|
#-----| true -> [b (line 11): true] ...;
|
|
#-----| false -> [b (line 11): false] if (...) ...
|
|
|
|
# 15| [b (line 11): true] ...;
|
|
#-----| -> [b (line 11): true] access to local variable x
|
|
|
|
# 15| [b (line 11): true] ...++
|
|
#-----| -> [b (line 11): true] if (...) ...
|
|
|
|
# 15| [b (line 11): true] access to local variable x
|
|
#-----| -> [b (line 11): true] ...++
|
|
|
|
# 16| [b (line 11): false] if (...) ...
|
|
#-----| -> [b (line 11): false] access to local variable x
|
|
|
|
# 16| [b (line 11): true] if (...) ...
|
|
#-----| -> [b (line 11): true] access to local variable x
|
|
|
|
# 16| [b (line 11): false] ... > ...
|
|
#-----| true -> [b (line 11): false] if (...) ...
|
|
#-----| false -> access to local variable x
|
|
|
|
# 16| [b (line 11): true] ... > ...
|
|
#-----| true -> [b (line 11): true] if (...) ...
|
|
#-----| false -> access to local variable x
|
|
|
|
# 16| [b (line 11): false] access to local variable x
|
|
#-----| -> [b (line 11): false] 0
|
|
|
|
# 16| [b (line 11): true] access to local variable x
|
|
#-----| -> [b (line 11): true] 0
|
|
|
|
# 16| [b (line 11): false] 0
|
|
#-----| -> [b (line 11): false] ... > ...
|
|
|
|
# 16| [b (line 11): true] 0
|
|
#-----| -> [b (line 11): true] ... > ...
|
|
|
|
# 17| [b (line 11): false] if (...) ...
|
|
#-----| -> [b (line 11): false] access to parameter b
|
|
|
|
# 17| [b (line 11): true] if (...) ...
|
|
#-----| -> [b (line 11): true] access to parameter b
|
|
|
|
# 17| [false] !...
|
|
#-----| false -> access to local variable x
|
|
|
|
# 17| [true] !...
|
|
#-----| true -> ...;
|
|
|
|
# 17| [b (line 11): false] access to parameter b
|
|
#-----| false -> [true] !...
|
|
|
|
# 17| [b (line 11): true] access to parameter b
|
|
#-----| true -> [false] !...
|
|
|
|
# 18| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 18| ...--
|
|
#-----| -> access to local variable x
|
|
|
|
# 18| access to local variable x
|
|
#-----| -> ...--
|
|
|
|
# 19| return ...;
|
|
#-----| return -> exit M1 (normal)
|
|
|
|
# 19| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 22| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 22| exit M2
|
|
|
|
# 22| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 23| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 24| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 24| Int32 x = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 24| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 25| if (...) ...
|
|
#-----| -> access to parameter b1
|
|
|
|
# 25| access to parameter b1
|
|
#-----| true -> if (...) ...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 26| if (...) ...
|
|
#-----| -> access to parameter b2
|
|
|
|
# 26| access to parameter b2
|
|
#-----| true -> [b2 (line 22): true] ...;
|
|
#-----| false -> [b2 (line 22): false] if (...) ...
|
|
|
|
# 27| [b2 (line 22): true] ...;
|
|
#-----| -> [b2 (line 22): true] access to local variable x
|
|
|
|
# 27| [b2 (line 22): true] ...++
|
|
#-----| -> [b2 (line 22): true] if (...) ...
|
|
|
|
# 27| [b2 (line 22): true] access to local variable x
|
|
#-----| -> [b2 (line 22): true] ...++
|
|
|
|
# 28| if (...) ...
|
|
#-----| -> access to parameter b2
|
|
|
|
# 28| [b2 (line 22): false] if (...) ...
|
|
#-----| -> [b2 (line 22): false] access to parameter b2
|
|
|
|
# 28| [b2 (line 22): true] if (...) ...
|
|
#-----| -> [b2 (line 22): true] access to parameter b2
|
|
|
|
# 28| access to parameter b2
|
|
#-----| true -> ...;
|
|
#-----| false -> access to local variable x
|
|
|
|
# 28| [b2 (line 22): false] access to parameter b2
|
|
#-----| false -> access to local variable x
|
|
|
|
# 28| [b2 (line 22): true] access to parameter b2
|
|
#-----| true -> ...;
|
|
|
|
# 29| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 29| ...++
|
|
#-----| -> access to local variable x
|
|
|
|
# 29| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 30| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 30| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 33| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 33| exit M3
|
|
|
|
# 33| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 34| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 35| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 35| Int32 x = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 35| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 36| ... ...;
|
|
#-----| -> false
|
|
|
|
# 36| Boolean b2 = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 36| false
|
|
#-----| -> Boolean b2 = ...
|
|
|
|
# 37| if (...) ...
|
|
#-----| -> access to parameter b1
|
|
|
|
# 37| access to parameter b1
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 38| ...;
|
|
#-----| -> access to parameter b1
|
|
|
|
# 38| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 38| access to parameter b1
|
|
#-----| -> ... = ...
|
|
|
|
# 39| if (...) ...
|
|
#-----| -> access to local variable b2
|
|
|
|
# 39| access to local variable b2
|
|
#-----| true -> [b2 (line 39): true] ...;
|
|
#-----| false -> [b2 (line 39): false] if (...) ...
|
|
|
|
# 40| [b2 (line 39): true] ...;
|
|
#-----| -> [b2 (line 39): true] access to local variable x
|
|
|
|
# 40| [b2 (line 39): true] ...++
|
|
#-----| -> [b2 (line 39): true] if (...) ...
|
|
|
|
# 40| [b2 (line 39): true] access to local variable x
|
|
#-----| -> [b2 (line 39): true] ...++
|
|
|
|
# 41| [b2 (line 39): false] if (...) ...
|
|
#-----| -> [b2 (line 39): false] access to local variable b2
|
|
|
|
# 41| [b2 (line 39): true] if (...) ...
|
|
#-----| -> [b2 (line 39): true] access to local variable b2
|
|
|
|
# 41| [b2 (line 39): false] access to local variable b2
|
|
#-----| false -> access to local variable x
|
|
|
|
# 41| [b2 (line 39): true] access to local variable b2
|
|
#-----| true -> ...;
|
|
|
|
# 42| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 42| ...++
|
|
#-----| -> access to local variable x
|
|
|
|
# 42| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 43| return ...;
|
|
#-----| return -> exit M3 (normal)
|
|
|
|
# 43| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 46| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 46| exit M4
|
|
|
|
# 46| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 47| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 48| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 48| Int32 y = ...
|
|
#-----| -> while (...) ...
|
|
|
|
# 48| 0
|
|
#-----| -> Int32 y = ...
|
|
|
|
# 49| while (...) ...
|
|
#-----| -> access to parameter x
|
|
|
|
# 49| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> access to local variable y
|
|
|
|
# 49| [b (line 46): false] ... > ...
|
|
#-----| true -> [b (line 46): false] {...}
|
|
#-----| false -> access to local variable y
|
|
|
|
# 49| [b (line 46): true] ... > ...
|
|
#-----| true -> [b (line 46): true] {...}
|
|
#-----| false -> access to local variable y
|
|
|
|
# 49| ...--
|
|
#-----| -> 0
|
|
|
|
# 49| [b (line 46): false] ...--
|
|
#-----| -> [b (line 46): false] 0
|
|
|
|
# 49| [b (line 46): true] ...--
|
|
#-----| -> [b (line 46): true] 0
|
|
|
|
# 49| access to parameter x
|
|
#-----| -> ...--
|
|
|
|
# 49| [b (line 46): false] access to parameter x
|
|
#-----| -> [b (line 46): false] ...--
|
|
|
|
# 49| [b (line 46): true] access to parameter x
|
|
#-----| -> [b (line 46): true] ...--
|
|
|
|
# 49| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 49| [b (line 46): false] 0
|
|
#-----| -> [b (line 46): false] ... > ...
|
|
|
|
# 49| [b (line 46): true] 0
|
|
#-----| -> [b (line 46): true] ... > ...
|
|
|
|
# 50| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 50| [b (line 46): false] {...}
|
|
#-----| -> [b (line 46): false] if (...) ...
|
|
|
|
# 50| [b (line 46): true] {...}
|
|
#-----| -> [b (line 46): true] if (...) ...
|
|
|
|
# 51| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 51| [b (line 46): false] if (...) ...
|
|
#-----| -> [b (line 46): false] access to parameter b
|
|
|
|
# 51| [b (line 46): true] if (...) ...
|
|
#-----| -> [b (line 46): true] access to parameter b
|
|
|
|
# 51| access to parameter b
|
|
#-----| true -> [b (line 46): true] ...;
|
|
#-----| false -> [b (line 46): false] access to parameter x
|
|
|
|
# 51| [b (line 46): false] access to parameter b
|
|
#-----| false -> [b (line 46): false] access to parameter x
|
|
|
|
# 51| [b (line 46): true] access to parameter b
|
|
#-----| true -> [b (line 46): true] ...;
|
|
|
|
# 52| [b (line 46): true] ...;
|
|
#-----| -> [b (line 46): true] access to local variable y
|
|
|
|
# 52| [b (line 46): true] ...++
|
|
#-----| -> [b (line 46): true] access to parameter x
|
|
|
|
# 52| [b (line 46): true] access to local variable y
|
|
#-----| -> [b (line 46): true] ...++
|
|
|
|
# 54| return ...;
|
|
#-----| return -> exit M4 (normal)
|
|
|
|
# 54| access to local variable y
|
|
#-----| -> return ...;
|
|
|
|
# 57| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 57| exit M5
|
|
|
|
# 57| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 58| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 59| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 59| Int32 y = ...
|
|
#-----| -> while (...) ...
|
|
|
|
# 59| 0
|
|
#-----| -> Int32 y = ...
|
|
|
|
# 60| while (...) ...
|
|
#-----| -> access to parameter x
|
|
|
|
# 60| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> if (...) ...
|
|
|
|
# 60| [b (line 57): false] ... > ...
|
|
#-----| true -> [b (line 57): false] {...}
|
|
#-----| false -> [b (line 57): false] if (...) ...
|
|
|
|
# 60| [b (line 57): true] ... > ...
|
|
#-----| true -> [b (line 57): true] {...}
|
|
#-----| false -> [b (line 57): true] if (...) ...
|
|
|
|
# 60| ...--
|
|
#-----| -> 0
|
|
|
|
# 60| [b (line 57): false] ...--
|
|
#-----| -> [b (line 57): false] 0
|
|
|
|
# 60| [b (line 57): true] ...--
|
|
#-----| -> [b (line 57): true] 0
|
|
|
|
# 60| access to parameter x
|
|
#-----| -> ...--
|
|
|
|
# 60| [b (line 57): false] access to parameter x
|
|
#-----| -> [b (line 57): false] ...--
|
|
|
|
# 60| [b (line 57): true] access to parameter x
|
|
#-----| -> [b (line 57): true] ...--
|
|
|
|
# 60| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 60| [b (line 57): false] 0
|
|
#-----| -> [b (line 57): false] ... > ...
|
|
|
|
# 60| [b (line 57): true] 0
|
|
#-----| -> [b (line 57): true] ... > ...
|
|
|
|
# 61| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 61| [b (line 57): false] {...}
|
|
#-----| -> [b (line 57): false] if (...) ...
|
|
|
|
# 61| [b (line 57): true] {...}
|
|
#-----| -> [b (line 57): true] if (...) ...
|
|
|
|
# 62| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 62| [b (line 57): false] if (...) ...
|
|
#-----| -> [b (line 57): false] access to parameter b
|
|
|
|
# 62| [b (line 57): true] if (...) ...
|
|
#-----| -> [b (line 57): true] access to parameter b
|
|
|
|
# 62| access to parameter b
|
|
#-----| true -> [b (line 57): true] ...;
|
|
#-----| false -> [b (line 57): false] access to parameter x
|
|
|
|
# 62| [b (line 57): false] access to parameter b
|
|
#-----| false -> [b (line 57): false] access to parameter x
|
|
|
|
# 62| [b (line 57): true] access to parameter b
|
|
#-----| true -> [b (line 57): true] ...;
|
|
|
|
# 63| [b (line 57): true] ...;
|
|
#-----| -> [b (line 57): true] access to local variable y
|
|
|
|
# 63| [b (line 57): true] ...++
|
|
#-----| -> [b (line 57): true] access to parameter x
|
|
|
|
# 63| [b (line 57): true] access to local variable y
|
|
#-----| -> [b (line 57): true] ...++
|
|
|
|
# 65| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 65| [b (line 57): false] if (...) ...
|
|
#-----| -> [b (line 57): false] access to parameter b
|
|
|
|
# 65| [b (line 57): true] if (...) ...
|
|
#-----| -> [b (line 57): true] access to parameter b
|
|
|
|
# 65| access to parameter b
|
|
#-----| true -> ...;
|
|
#-----| false -> access to local variable y
|
|
|
|
# 65| [b (line 57): false] access to parameter b
|
|
#-----| false -> access to local variable y
|
|
|
|
# 65| [b (line 57): true] access to parameter b
|
|
#-----| true -> ...;
|
|
|
|
# 66| ...;
|
|
#-----| -> access to local variable y
|
|
|
|
# 66| ...++
|
|
#-----| -> access to local variable y
|
|
|
|
# 66| access to local variable y
|
|
#-----| -> ...++
|
|
|
|
# 67| return ...;
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 67| access to local variable y
|
|
#-----| -> return ...;
|
|
|
|
# 70| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 70| exit M6
|
|
|
|
# 70| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 71| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 72| ... ...;
|
|
#-----| -> access to parameter ss
|
|
|
|
# 72| Boolean b = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 72| ... > ...
|
|
#-----| -> Boolean b = ...
|
|
|
|
# 72| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 72| access to parameter ss
|
|
#-----| -> access to property Length
|
|
|
|
# 72| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 73| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 73| Int32 x = ...
|
|
#-----| -> access to parameter ss
|
|
|
|
# 73| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 74| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String _
|
|
#-----| empty -> if (...) ...
|
|
|
|
# 74| String _
|
|
#-----| -> {...}
|
|
|
|
# 74| access to parameter ss
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 75| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 76| if (...) ...
|
|
#-----| -> access to local variable b
|
|
|
|
# 76| access to local variable b
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 77| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 77| ...++
|
|
#-----| -> if (...) ...
|
|
|
|
# 77| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 78| if (...) ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 78| ... > ...
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> ...;
|
|
|
|
# 78| access to local variable x
|
|
#-----| -> 0
|
|
|
|
# 78| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 79| ...;
|
|
#-----| -> false
|
|
|
|
# 79| ... = ...
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 79| false
|
|
#-----| -> ... = ...
|
|
|
|
# 81| if (...) ...
|
|
#-----| -> access to local variable b
|
|
|
|
# 81| access to local variable b
|
|
#-----| true -> ...;
|
|
#-----| false -> access to local variable x
|
|
|
|
# 82| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 82| ...++
|
|
#-----| -> access to local variable x
|
|
|
|
# 82| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 83| return ...;
|
|
#-----| return -> exit M6 (normal)
|
|
|
|
# 83| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 86| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 86| exit M7
|
|
|
|
# 86| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 87| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 88| ... ...;
|
|
#-----| -> access to parameter ss
|
|
|
|
# 88| Boolean b = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 88| ... > ...
|
|
#-----| -> Boolean b = ...
|
|
|
|
# 88| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 88| access to parameter ss
|
|
#-----| -> access to property Length
|
|
|
|
# 88| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 89| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 89| Int32 x = ...
|
|
#-----| -> access to parameter ss
|
|
|
|
# 89| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 90| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String _
|
|
#-----| empty -> access to local variable x
|
|
|
|
# 90| String _
|
|
#-----| -> {...}
|
|
|
|
# 90| access to parameter ss
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 91| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 92| if (...) ...
|
|
#-----| -> access to local variable b
|
|
|
|
# 92| access to local variable b
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 93| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 93| ...++
|
|
#-----| -> if (...) ...
|
|
|
|
# 93| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 94| if (...) ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 94| ... > ...
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 94| access to local variable x
|
|
#-----| -> 0
|
|
|
|
# 94| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 95| ...;
|
|
#-----| -> false
|
|
|
|
# 95| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 95| false
|
|
#-----| -> ... = ...
|
|
|
|
# 96| if (...) ...
|
|
#-----| -> access to local variable b
|
|
|
|
# 96| access to local variable b
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> ...;
|
|
|
|
# 97| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 97| ...++
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 97| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 99| return ...;
|
|
#-----| return -> exit M7 (normal)
|
|
|
|
# 99| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 102| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 102| exit M8
|
|
|
|
# 102| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 103| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 104| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 104| String x = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 104| call to method ToString
|
|
#-----| -> String x = ...
|
|
|
|
# 104| access to parameter b
|
|
#-----| -> call to method ToString
|
|
|
|
# 105| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 105| access to parameter b
|
|
#-----| true -> [b (line 102): true] ...;
|
|
#-----| false -> [b (line 102): false] if (...) ...
|
|
|
|
# 106| [b (line 102): true] ...;
|
|
#-----| -> [b (line 102): true] access to local variable x
|
|
|
|
# 106| [b (line 102): true] ... = ...
|
|
#-----| -> [b (line 102): true] if (...) ...
|
|
|
|
# 106| [b (line 102): true] ... + ...
|
|
#-----| -> [b (line 102): true] ... = ...
|
|
|
|
# 106| [b (line 102): true] access to local variable x
|
|
#-----| -> [b (line 102): true] ""
|
|
|
|
# 106| [b (line 102): true] ""
|
|
#-----| -> [b (line 102): true] ... + ...
|
|
|
|
# 107| [b (line 102): false] if (...) ...
|
|
#-----| -> [b (line 102): false] access to local variable x
|
|
|
|
# 107| [b (line 102): true] if (...) ...
|
|
#-----| -> [b (line 102): true] access to local variable x
|
|
|
|
# 107| [b (line 102): false] ... > ...
|
|
#-----| true -> [b (line 102): false] if (...) ...
|
|
#-----| false -> access to local variable x
|
|
|
|
# 107| [b (line 102): true] ... > ...
|
|
#-----| true -> [b (line 102): true] if (...) ...
|
|
#-----| false -> access to local variable x
|
|
|
|
# 107| [b (line 102): false] access to property Length
|
|
#-----| -> [b (line 102): false] 0
|
|
|
|
# 107| [b (line 102): true] access to property Length
|
|
#-----| -> [b (line 102): true] 0
|
|
|
|
# 107| [b (line 102): false] access to local variable x
|
|
#-----| -> [b (line 102): false] access to property Length
|
|
|
|
# 107| [b (line 102): true] access to local variable x
|
|
#-----| -> [b (line 102): true] access to property Length
|
|
|
|
# 107| [b (line 102): false] 0
|
|
#-----| -> [b (line 102): false] ... > ...
|
|
|
|
# 107| [b (line 102): true] 0
|
|
#-----| -> [b (line 102): true] ... > ...
|
|
|
|
# 108| [b (line 102): false] if (...) ...
|
|
#-----| -> [b (line 102): false] access to parameter b
|
|
|
|
# 108| [b (line 102): true] if (...) ...
|
|
#-----| -> [b (line 102): true] access to parameter b
|
|
|
|
# 108| [false] !...
|
|
#-----| false -> access to local variable x
|
|
|
|
# 108| [true] !...
|
|
#-----| true -> ...;
|
|
|
|
# 108| [b (line 102): false] access to parameter b
|
|
#-----| false -> [true] !...
|
|
|
|
# 108| [b (line 102): true] access to parameter b
|
|
#-----| true -> [false] !...
|
|
|
|
# 109| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 109| ... = ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 109| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 109| access to local variable x
|
|
#-----| -> ""
|
|
|
|
# 109| ""
|
|
#-----| -> ... + ...
|
|
|
|
# 110| return ...;
|
|
#-----| return -> exit M8 (normal)
|
|
|
|
# 110| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 113| enter M9
|
|
#-----| -> {...}
|
|
|
|
# 113| exit M9
|
|
|
|
# 113| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 114| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 115| ... ...;
|
|
#-----| -> null
|
|
|
|
# 115| String s = ...
|
|
#-----| -> for (...;...;...) ...
|
|
|
|
# 115| null
|
|
#-----| -> String s = ...
|
|
|
|
# 116| for (...;...;...) ...
|
|
#-----| -> 0
|
|
|
|
# 116| Int32 i = ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 116| 0
|
|
#-----| -> Int32 i = ...
|
|
|
|
# 116| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> exit M9 (normal)
|
|
|
|
# 116| access to local variable i
|
|
#-----| -> access to parameter args
|
|
|
|
# 116| access to property Length
|
|
#-----| -> ... < ...
|
|
|
|
# 116| access to parameter args
|
|
#-----| -> access to property Length
|
|
|
|
# 116| ...++
|
|
#-----| -> access to local variable i
|
|
|
|
# 116| access to local variable i
|
|
#-----| -> ...++
|
|
|
|
# 117| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 118| ... ...;
|
|
#-----| -> access to local variable i
|
|
|
|
# 118| Boolean last = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 118| ... == ...
|
|
#-----| -> Boolean last = ...
|
|
|
|
# 118| access to local variable i
|
|
#-----| -> access to parameter args
|
|
|
|
# 118| ... - ...
|
|
#-----| -> ... == ...
|
|
|
|
# 118| access to property Length
|
|
#-----| -> 1
|
|
|
|
# 118| access to parameter args
|
|
#-----| -> access to property Length
|
|
|
|
# 118| 1
|
|
#-----| -> ... - ...
|
|
|
|
# 119| if (...) ...
|
|
#-----| -> access to local variable last
|
|
|
|
# 119| [false, last (line 118): true] !...
|
|
#-----| false -> [last (line 118): true] if (...) ...
|
|
|
|
# 119| [true, last (line 118): false] !...
|
|
#-----| true -> [last (line 118): false] ...;
|
|
|
|
# 119| access to local variable last
|
|
#-----| true -> [false, last (line 118): true] !...
|
|
#-----| false -> [true, last (line 118): false] !...
|
|
|
|
# 120| [last (line 118): false] ...;
|
|
#-----| -> [last (line 118): false] ""
|
|
|
|
# 120| [last (line 118): false] ... = ...
|
|
#-----| -> [last (line 118): false] if (...) ...
|
|
|
|
# 120| [last (line 118): false] ""
|
|
#-----| -> [last (line 118): false] ... = ...
|
|
|
|
# 121| [last (line 118): false] if (...) ...
|
|
#-----| -> [last (line 118): false] access to local variable last
|
|
|
|
# 121| [last (line 118): true] if (...) ...
|
|
#-----| -> [last (line 118): true] access to local variable last
|
|
|
|
# 121| [last (line 118): false] access to local variable last
|
|
#-----| false -> access to local variable i
|
|
|
|
# 121| [last (line 118): true] access to local variable last
|
|
#-----| true -> ...;
|
|
|
|
# 122| ...;
|
|
#-----| -> null
|
|
|
|
# 122| ... = ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 122| null
|
|
#-----| -> ... = ...
|
|
|
|
# 129| enter M10
|
|
#-----| -> {...}
|
|
|
|
# 130| {...}
|
|
#-----| -> while (...) ...
|
|
|
|
# 131| while (...) ...
|
|
#-----| -> true
|
|
|
|
# 131| true
|
|
#-----| true -> {...}
|
|
|
|
# 131| [Field1 (line 129): false] true
|
|
#-----| true -> [Field1 (line 129): false] {...}
|
|
|
|
# 131| [Field1 (line 129): true, Field2 (line 129): false] true
|
|
#-----| true -> [Field1 (line 129): true, Field2 (line 129): false] {...}
|
|
|
|
# 131| [Field1 (line 129): true, Field2 (line 129): true] true
|
|
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
|
|
# 132| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 132| [Field1 (line 129): false] {...}
|
|
#-----| -> [Field1 (line 129): false] if (...) ...
|
|
|
|
# 132| [Field1 (line 129): true, Field2 (line 129): false] {...}
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
|
|
|
|
# 132| [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
|
|
|
|
# 133| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 133| [Field1 (line 129): false] if (...) ...
|
|
#-----| -> [Field1 (line 129): false] this access
|
|
|
|
# 133| [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] this access
|
|
|
|
# 133| [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access
|
|
|
|
# 133| access to field Field1
|
|
#-----| false -> [Field1 (line 129): false] true
|
|
#-----| true -> [Field1 (line 129): true] {...}
|
|
|
|
# 133| [Field1 (line 129): false] access to field Field1
|
|
#-----| false -> [Field1 (line 129): false] true
|
|
|
|
# 133| [Field1 (line 129): true, Field2 (line 129): false] access to field Field1
|
|
#-----| true -> [Field1 (line 129): true, Field2 (line 129): false] {...}
|
|
|
|
# 133| [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
|
|
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
|
|
# 133| this access
|
|
#-----| -> access to field Field1
|
|
|
|
# 133| [Field1 (line 129): false] this access
|
|
#-----| -> [Field1 (line 129): false] access to field Field1
|
|
|
|
# 133| [Field1 (line 129): true, Field2 (line 129): false] this access
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] access to field Field1
|
|
|
|
# 133| [Field1 (line 129): true, Field2 (line 129): true] this access
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
|
|
|
|
# 134| [Field1 (line 129): true] {...}
|
|
#-----| -> [Field1 (line 129): true] if (...) ...
|
|
|
|
# 134| [Field1 (line 129): true, Field2 (line 129): false] {...}
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
|
|
|
|
# 134| [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
|
|
|
|
# 135| [Field1 (line 129): true] if (...) ...
|
|
#-----| -> [Field1 (line 129): true] this access
|
|
|
|
# 135| [Field1 (line 129): true, Field2 (line 129): false] if (...) ...
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] this access
|
|
|
|
# 135| [Field1 (line 129): true, Field2 (line 129): true] if (...) ...
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access
|
|
|
|
# 135| [Field1 (line 129): true] access to field Field2
|
|
#-----| false -> [Field1 (line 129): true, Field2 (line 129): false] true
|
|
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
|
|
# 135| [Field1 (line 129): true, Field2 (line 129): false] access to field Field2
|
|
#-----| false -> [Field1 (line 129): true, Field2 (line 129): false] true
|
|
|
|
# 135| [Field1 (line 129): true, Field2 (line 129): true] access to field Field2
|
|
#-----| true -> [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
|
|
# 135| [Field1 (line 129): true] this access
|
|
#-----| -> [Field1 (line 129): true] access to field Field2
|
|
|
|
# 135| [Field1 (line 129): true, Field2 (line 129): false] this access
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): false] access to field Field2
|
|
|
|
# 135| [Field1 (line 129): true, Field2 (line 129): true] this access
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field2
|
|
|
|
# 136| [Field1 (line 129): true, Field2 (line 129): true] {...}
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] ...;
|
|
|
|
# 137| [Field1 (line 129): true, Field2 (line 129): true] ...;
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] this access
|
|
|
|
# 137| [Field1 (line 129): true, Field2 (line 129): true] call to method ToString
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] true
|
|
|
|
# 137| [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] call to method ToString
|
|
|
|
# 137| [Field1 (line 129): true, Field2 (line 129): true] this access
|
|
#-----| -> [Field1 (line 129): true, Field2 (line 129): true] access to field Field1
|
|
|
|
# 143| enter M11
|
|
#-----| -> {...}
|
|
|
|
# 143| exit M11
|
|
|
|
# 143| exit M11 (normal)
|
|
#-----| -> exit M11
|
|
|
|
# 144| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 145| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 145| [b (line 143): false] String s = ...
|
|
#-----| -> [b (line 143): false] if (...) ...
|
|
|
|
# 145| [b (line 143): true] String s = ...
|
|
#-----| -> [b (line 143): true] if (...) ...
|
|
|
|
# 145| [b (line 143): false] ... ? ... : ...
|
|
#-----| -> [b (line 143): false] String s = ...
|
|
|
|
# 145| [b (line 143): true] ... ? ... : ...
|
|
#-----| -> [b (line 143): true] String s = ...
|
|
|
|
# 145| access to parameter b
|
|
#-----| true -> [b (line 143): true] "a"
|
|
#-----| false -> [b (line 143): false] "b"
|
|
|
|
# 145| [b (line 143): true] "a"
|
|
#-----| -> [b (line 143): true] ... ? ... : ...
|
|
|
|
# 145| [b (line 143): false] "b"
|
|
#-----| -> [b (line 143): false] ... ? ... : ...
|
|
|
|
# 146| [b (line 143): false] if (...) ...
|
|
#-----| -> [b (line 143): false] access to parameter b
|
|
|
|
# 146| [b (line 143): true] if (...) ...
|
|
#-----| -> [b (line 143): true] access to parameter b
|
|
|
|
# 146| [b (line 143): false] access to parameter b
|
|
#-----| false -> ...;
|
|
|
|
# 146| [b (line 143): true] access to parameter b
|
|
#-----| true -> ...;
|
|
|
|
# 147| ...;
|
|
#-----| -> "a = "
|
|
|
|
# 147| call to method WriteLine
|
|
#-----| -> exit M11 (normal)
|
|
|
|
# 147| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 147| "a = "
|
|
#-----| -> access to local variable s
|
|
|
|
# 147| access to local variable s
|
|
#-----| -> $"..."
|
|
|
|
# 149| ...;
|
|
#-----| -> "b = "
|
|
|
|
# 149| call to method WriteLine
|
|
#-----| -> exit M11 (normal)
|
|
|
|
# 149| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 149| "b = "
|
|
#-----| -> access to local variable s
|
|
|
|
# 149| access to local variable s
|
|
#-----| -> $"..."
|
|
|
|
ExitMethods.cs:
|
|
# 8| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 8| exit M1
|
|
|
|
# 8| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 9| {...}
|
|
#-----| -> ...;
|
|
|
|
# 10| ...;
|
|
#-----| -> true
|
|
|
|
# 10| call to method ErrorMaybe
|
|
#-----| -> return ...;
|
|
|
|
# 10| true
|
|
#-----| -> call to method ErrorMaybe
|
|
|
|
# 11| return ...;
|
|
#-----| return -> exit M1 (normal)
|
|
|
|
# 14| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 14| exit M2
|
|
|
|
# 14| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 15| {...}
|
|
#-----| -> ...;
|
|
|
|
# 16| ...;
|
|
#-----| -> false
|
|
|
|
# 16| call to method ErrorMaybe
|
|
#-----| -> return ...;
|
|
|
|
# 16| false
|
|
#-----| -> call to method ErrorMaybe
|
|
|
|
# 17| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 20| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 20| exit M3
|
|
|
|
# 20| exit M3 (abnormal)
|
|
#-----| -> exit M3
|
|
|
|
# 21| {...}
|
|
#-----| -> ...;
|
|
|
|
# 22| ...;
|
|
#-----| -> true
|
|
|
|
# 22| call to method ErrorAlways
|
|
#-----| exception(Exception) -> exit M3 (abnormal)
|
|
|
|
# 22| true
|
|
#-----| -> call to method ErrorAlways
|
|
|
|
# 26| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 26| exit M4
|
|
|
|
# 26| exit M4 (abnormal)
|
|
#-----| -> exit M4
|
|
|
|
# 27| {...}
|
|
#-----| -> ...;
|
|
|
|
# 28| ...;
|
|
#-----| -> this access
|
|
|
|
# 28| call to method Exit
|
|
#-----| exit -> exit M4 (abnormal)
|
|
|
|
# 28| this access
|
|
#-----| -> call to method Exit
|
|
|
|
# 32| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 32| exit M5
|
|
|
|
# 32| exit M5 (abnormal)
|
|
#-----| -> exit M5
|
|
|
|
# 33| {...}
|
|
#-----| -> ...;
|
|
|
|
# 34| ...;
|
|
#-----| -> this access
|
|
|
|
# 34| call to method ApplicationExit
|
|
#-----| exit -> exit M5 (abnormal)
|
|
|
|
# 34| this access
|
|
#-----| -> call to method ApplicationExit
|
|
|
|
# 38| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 38| exit M6
|
|
|
|
# 38| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 39| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 40| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 41| {...}
|
|
#-----| -> ...;
|
|
|
|
# 42| ...;
|
|
#-----| -> false
|
|
|
|
# 42| call to method ErrorAlways
|
|
#-----| exception(ArgumentException) -> [exception: ArgumentException] catch (...) {...}
|
|
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
|
|
|
|
# 42| false
|
|
#-----| -> call to method ErrorAlways
|
|
|
|
# 44| [exception: ArgumentException] catch (...) {...}
|
|
#-----| match -> {...}
|
|
|
|
# 44| [exception: Exception] catch (...) {...}
|
|
#-----| match -> {...}
|
|
#-----| no-match -> [exception: Exception] catch (...) {...}
|
|
|
|
# 45| {...}
|
|
#-----| -> return ...;
|
|
|
|
# 46| return ...;
|
|
#-----| return -> exit M6 (normal)
|
|
|
|
# 48| [exception: Exception] catch (...) {...}
|
|
#-----| match -> {...}
|
|
|
|
# 49| {...}
|
|
#-----| -> return ...;
|
|
|
|
# 50| return ...;
|
|
#-----| return -> exit M6 (normal)
|
|
|
|
# 54| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 54| exit M7
|
|
|
|
# 54| exit M7 (abnormal)
|
|
#-----| -> exit M7
|
|
|
|
# 55| {...}
|
|
#-----| -> ...;
|
|
|
|
# 56| ...;
|
|
#-----| -> call to method ErrorAlways2
|
|
|
|
# 56| call to method ErrorAlways2
|
|
#-----| exception(Exception) -> exit M7 (abnormal)
|
|
|
|
# 60| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 60| exit M8
|
|
|
|
# 60| exit M8 (abnormal)
|
|
#-----| -> exit M8
|
|
|
|
# 61| {...}
|
|
#-----| -> ...;
|
|
|
|
# 62| ...;
|
|
#-----| -> call to method ErrorAlways3
|
|
|
|
# 62| call to method ErrorAlways3
|
|
#-----| exception(Exception) -> exit M8 (abnormal)
|
|
|
|
# 66| enter ErrorMaybe
|
|
#-----| -> {...}
|
|
|
|
# 66| exit ErrorMaybe
|
|
|
|
# 66| exit ErrorMaybe (abnormal)
|
|
#-----| -> exit ErrorMaybe
|
|
|
|
# 66| exit ErrorMaybe (normal)
|
|
#-----| -> exit ErrorMaybe
|
|
|
|
# 67| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 68| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 68| access to parameter b
|
|
#-----| true -> object creation of type Exception
|
|
#-----| false -> exit ErrorMaybe (normal)
|
|
|
|
# 69| throw ...;
|
|
#-----| exception(Exception) -> exit ErrorMaybe (abnormal)
|
|
|
|
# 69| object creation of type Exception
|
|
#-----| -> throw ...;
|
|
|
|
# 72| enter ErrorAlways
|
|
#-----| -> {...}
|
|
|
|
# 72| exit ErrorAlways
|
|
|
|
# 72| exit ErrorAlways (abnormal)
|
|
#-----| -> exit ErrorAlways
|
|
|
|
# 73| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 74| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 74| access to parameter b
|
|
#-----| true -> object creation of type Exception
|
|
#-----| false -> "b"
|
|
|
|
# 75| throw ...;
|
|
#-----| exception(Exception) -> exit ErrorAlways (abnormal)
|
|
|
|
# 75| object creation of type Exception
|
|
#-----| -> throw ...;
|
|
|
|
# 77| throw ...;
|
|
#-----| exception(ArgumentException) -> exit ErrorAlways (abnormal)
|
|
|
|
# 77| object creation of type ArgumentException
|
|
#-----| -> throw ...;
|
|
|
|
# 77| "b"
|
|
#-----| -> object creation of type ArgumentException
|
|
|
|
# 80| enter ErrorAlways2
|
|
#-----| -> {...}
|
|
|
|
# 80| exit ErrorAlways2
|
|
|
|
# 80| exit ErrorAlways2 (abnormal)
|
|
#-----| -> exit ErrorAlways2
|
|
|
|
# 81| {...}
|
|
#-----| -> object creation of type Exception
|
|
|
|
# 82| throw ...;
|
|
#-----| exception(Exception) -> exit ErrorAlways2 (abnormal)
|
|
|
|
# 82| object creation of type Exception
|
|
#-----| -> throw ...;
|
|
|
|
# 85| enter ErrorAlways3
|
|
#-----| -> object creation of type Exception
|
|
|
|
# 85| exit ErrorAlways3
|
|
|
|
# 85| exit ErrorAlways3 (abnormal)
|
|
#-----| -> exit ErrorAlways3
|
|
|
|
# 85| throw ...
|
|
#-----| exception(Exception) -> exit ErrorAlways3 (abnormal)
|
|
|
|
# 85| object creation of type Exception
|
|
#-----| -> throw ...
|
|
|
|
# 87| enter Exit
|
|
#-----| -> {...}
|
|
|
|
# 87| exit Exit
|
|
|
|
# 87| exit Exit (abnormal)
|
|
#-----| -> exit Exit
|
|
|
|
# 88| {...}
|
|
#-----| -> ...;
|
|
|
|
# 89| ...;
|
|
#-----| -> 0
|
|
|
|
# 89| call to method Exit
|
|
#-----| exit -> exit Exit (abnormal)
|
|
|
|
# 89| 0
|
|
#-----| -> call to method Exit
|
|
|
|
# 92| enter ExitInTry
|
|
#-----| -> {...}
|
|
|
|
# 92| exit ExitInTry
|
|
|
|
# 92| exit ExitInTry (abnormal)
|
|
#-----| -> exit ExitInTry
|
|
|
|
# 93| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 94| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 95| {...}
|
|
#-----| -> ...;
|
|
|
|
# 96| ...;
|
|
#-----| -> this access
|
|
|
|
# 96| call to method Exit
|
|
#-----| exit -> exit ExitInTry (abnormal)
|
|
|
|
# 96| this access
|
|
#-----| -> call to method Exit
|
|
|
|
# 105| enter ApplicationExit
|
|
#-----| -> {...}
|
|
|
|
# 105| exit ApplicationExit
|
|
|
|
# 105| exit ApplicationExit (abnormal)
|
|
#-----| -> exit ApplicationExit
|
|
|
|
# 106| {...}
|
|
#-----| -> ...;
|
|
|
|
# 107| ...;
|
|
#-----| -> call to method Exit
|
|
|
|
# 107| call to method Exit
|
|
#-----| exit -> exit ApplicationExit (abnormal)
|
|
|
|
# 110| enter ThrowExpr
|
|
#-----| -> {...}
|
|
|
|
# 110| exit ThrowExpr
|
|
|
|
# 110| exit ThrowExpr (abnormal)
|
|
#-----| -> exit ThrowExpr
|
|
|
|
# 110| exit ThrowExpr (normal)
|
|
#-----| -> exit ThrowExpr
|
|
|
|
# 111| {...}
|
|
#-----| -> access to parameter input
|
|
|
|
# 112| return ...;
|
|
#-----| return -> exit ThrowExpr (normal)
|
|
|
|
# 112| ... ? ... : ...
|
|
#-----| -> return ...;
|
|
|
|
# 112| ... != ...
|
|
#-----| false -> "input"
|
|
#-----| true -> 1
|
|
|
|
# 112| access to parameter input
|
|
#-----| -> 0
|
|
|
|
# 112| (...) ...
|
|
#-----| -> ... != ...
|
|
|
|
# 112| 0
|
|
#-----| -> (...) ...
|
|
|
|
# 112| ... / ...
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 112| (...) ...
|
|
#-----| -> access to parameter input
|
|
|
|
# 112| 1
|
|
#-----| -> (...) ...
|
|
|
|
# 112| access to parameter input
|
|
#-----| -> ... / ...
|
|
|
|
# 112| throw ...
|
|
#-----| exception(ArgumentException) -> exit ThrowExpr (abnormal)
|
|
|
|
# 112| object creation of type ArgumentException
|
|
#-----| -> throw ...
|
|
|
|
# 112| "input"
|
|
#-----| -> object creation of type ArgumentException
|
|
|
|
# 115| enter ExtensionMethodCall
|
|
#-----| -> {...}
|
|
|
|
# 115| exit ExtensionMethodCall
|
|
|
|
# 115| exit ExtensionMethodCall (normal)
|
|
#-----| -> exit ExtensionMethodCall
|
|
|
|
# 116| {...}
|
|
#-----| -> access to parameter s
|
|
|
|
# 117| return ...;
|
|
#-----| return -> exit ExtensionMethodCall (normal)
|
|
|
|
# 117| ... ? ... : ...
|
|
#-----| -> return ...;
|
|
|
|
# 117| call to method Contains
|
|
#-----| true -> 0
|
|
#-----| false -> 1
|
|
|
|
# 117| access to parameter s
|
|
#-----| -> -
|
|
|
|
# 117| -
|
|
#-----| -> call to method Contains
|
|
|
|
# 117| 0
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 117| 1
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 120| enter FailingAssertion
|
|
#-----| -> {...}
|
|
|
|
# 120| exit FailingAssertion
|
|
|
|
# 120| exit FailingAssertion (abnormal)
|
|
#-----| -> exit FailingAssertion
|
|
|
|
# 121| {...}
|
|
#-----| -> ...;
|
|
|
|
# 122| ...;
|
|
#-----| -> false
|
|
|
|
# 122| [assertion failure] call to method IsTrue
|
|
#-----| exception(AssertFailedException) -> exit FailingAssertion (abnormal)
|
|
|
|
# 122| false
|
|
#-----| false -> [assertion failure] call to method IsTrue
|
|
|
|
# 126| enter FailingAssertion2
|
|
#-----| -> {...}
|
|
|
|
# 126| exit FailingAssertion2
|
|
|
|
# 126| exit FailingAssertion2 (abnormal)
|
|
#-----| -> exit FailingAssertion2
|
|
|
|
# 127| {...}
|
|
#-----| -> ...;
|
|
|
|
# 128| ...;
|
|
#-----| -> this access
|
|
|
|
# 128| call to method FailingAssertion
|
|
#-----| exception(AssertFailedException) -> exit FailingAssertion2 (abnormal)
|
|
|
|
# 128| this access
|
|
#-----| -> call to method FailingAssertion
|
|
|
|
# 132| enter AssertFalse
|
|
#-----| -> access to parameter b
|
|
|
|
# 132| exit AssertFalse
|
|
|
|
# 132| exit AssertFalse (abnormal)
|
|
#-----| -> exit AssertFalse
|
|
|
|
# 132| exit AssertFalse (normal)
|
|
#-----| -> exit AssertFalse
|
|
|
|
# 132| [assertion failure] call to method IsFalse
|
|
#-----| exception(AssertFailedException) -> exit AssertFalse (abnormal)
|
|
|
|
# 132| [assertion success] call to method IsFalse
|
|
#-----| -> exit AssertFalse (normal)
|
|
|
|
# 132| access to parameter b
|
|
#-----| true -> [assertion failure] call to method IsFalse
|
|
#-----| false -> [assertion success] call to method IsFalse
|
|
|
|
# 134| enter FailingAssertion3
|
|
#-----| -> {...}
|
|
|
|
# 134| exit FailingAssertion3
|
|
|
|
# 134| exit FailingAssertion3 (abnormal)
|
|
#-----| -> exit FailingAssertion3
|
|
|
|
# 135| {...}
|
|
#-----| -> ...;
|
|
|
|
# 136| ...;
|
|
#-----| -> this access
|
|
|
|
# 136| [assertion failure] call to method AssertFalse
|
|
#-----| exception(AssertFailedException) -> exit FailingAssertion3 (abnormal)
|
|
|
|
# 136| this access
|
|
#-----| -> true
|
|
|
|
# 136| true
|
|
#-----| true -> [assertion failure] call to method AssertFalse
|
|
|
|
# 140| enter ExceptionDispatchInfoThrow
|
|
#-----| -> {...}
|
|
|
|
# 140| exit ExceptionDispatchInfoThrow
|
|
|
|
# 140| exit ExceptionDispatchInfoThrow (abnormal)
|
|
#-----| -> exit ExceptionDispatchInfoThrow
|
|
|
|
# 141| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 142| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 142| access to parameter b
|
|
#-----| true -> ...;
|
|
#-----| false -> ...;
|
|
|
|
# 143| ...;
|
|
#-----| -> access to parameter e
|
|
|
|
# 143| call to method Throw
|
|
#-----| exception(ArgumentException) -> exit ExceptionDispatchInfoThrow (abnormal)
|
|
|
|
# 143| access to parameter e
|
|
#-----| -> call to method Throw
|
|
|
|
# 145| ...;
|
|
#-----| -> access to parameter e
|
|
|
|
# 145| call to method Throw
|
|
#-----| exception(Exception) -> exit ExceptionDispatchInfoThrow (abnormal)
|
|
|
|
# 145| call to method Capture
|
|
#-----| -> call to method Throw
|
|
|
|
# 145| access to parameter e
|
|
#-----| -> call to method Capture
|
|
|
|
Extensions.cs:
|
|
# 5| enter ToInt32
|
|
#-----| -> {...}
|
|
|
|
# 5| exit ToInt32
|
|
|
|
# 5| exit ToInt32 (normal)
|
|
#-----| -> exit ToInt32
|
|
|
|
# 6| {...}
|
|
#-----| -> access to parameter s
|
|
|
|
# 7| return ...;
|
|
#-----| return -> exit ToInt32 (normal)
|
|
|
|
# 7| call to method Parse
|
|
#-----| -> return ...;
|
|
|
|
# 7| access to parameter s
|
|
#-----| -> call to method Parse
|
|
|
|
# 10| enter ToBool
|
|
#-----| -> {...}
|
|
|
|
# 10| exit ToBool
|
|
|
|
# 10| exit ToBool (normal)
|
|
#-----| -> exit ToBool
|
|
|
|
# 11| {...}
|
|
#-----| -> access to parameter f
|
|
|
|
# 12| return ...;
|
|
#-----| return -> exit ToBool (normal)
|
|
|
|
# 12| delegate call
|
|
#-----| -> return ...;
|
|
|
|
# 12| access to parameter f
|
|
#-----| -> access to parameter s
|
|
|
|
# 12| access to parameter s
|
|
#-----| -> delegate call
|
|
|
|
# 15| enter CallToInt32
|
|
#-----| -> "0"
|
|
|
|
# 15| exit CallToInt32
|
|
|
|
# 15| exit CallToInt32 (normal)
|
|
#-----| -> exit CallToInt32
|
|
|
|
# 15| call to method ToInt32
|
|
#-----| -> exit CallToInt32 (normal)
|
|
|
|
# 15| "0"
|
|
#-----| -> call to method ToInt32
|
|
|
|
# 20| enter Main
|
|
#-----| -> {...}
|
|
|
|
# 20| exit Main
|
|
|
|
# 20| exit Main (normal)
|
|
#-----| -> exit Main
|
|
|
|
# 21| {...}
|
|
#-----| -> ...;
|
|
|
|
# 22| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 22| call to method ToInt32
|
|
#-----| -> ...;
|
|
|
|
# 22| access to parameter s
|
|
#-----| -> call to method ToInt32
|
|
|
|
# 23| ...;
|
|
#-----| -> ""
|
|
|
|
# 23| call to method ToInt32
|
|
#-----| -> ...;
|
|
|
|
# 23| ""
|
|
#-----| -> call to method ToInt32
|
|
|
|
# 24| ...;
|
|
#-----| -> "true"
|
|
|
|
# 24| call to method ToBool
|
|
#-----| -> ...;
|
|
|
|
# 24| "true"
|
|
#-----| -> access to method Parse
|
|
|
|
# 24| delegate creation of type Func<String,Boolean>
|
|
#-----| -> call to method ToBool
|
|
|
|
# 24| access to method Parse
|
|
#-----| -> delegate creation of type Func<String,Boolean>
|
|
|
|
# 25| ...;
|
|
#-----| -> "true"
|
|
|
|
# 25| call to method ToBool
|
|
#-----| -> exit Main (normal)
|
|
|
|
# 25| "true"
|
|
#-----| -> access to method Parse
|
|
|
|
# 25| delegate creation of type Func<String,Boolean>
|
|
#-----| -> call to method ToBool
|
|
|
|
# 25| access to method Parse
|
|
#-----| -> delegate creation of type Func<String,Boolean>
|
|
|
|
Finally.cs:
|
|
# 7| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 7| exit M1
|
|
|
|
# 7| exit M1 (abnormal)
|
|
#-----| -> exit M1
|
|
|
|
# 7| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 8| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 9| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 10| {...}
|
|
#-----| -> ...;
|
|
|
|
# 11| ...;
|
|
#-----| -> "Try1"
|
|
|
|
# 11| call to method WriteLine
|
|
#-----| -> {...}
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 11| "Try1"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 14| {...}
|
|
#-----| -> ...;
|
|
|
|
# 14| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 15| ...;
|
|
#-----| -> "Finally"
|
|
|
|
# 15| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] "Finally"
|
|
|
|
# 15| call to method WriteLine
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 15| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M1 (abnormal)
|
|
|
|
# 15| "Finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 15| [finally: exception(Exception)] "Finally"
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 19| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 19| exit M2
|
|
|
|
# 19| exit M2 (abnormal)
|
|
#-----| -> exit M2
|
|
|
|
# 19| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 20| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 21| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 22| {...}
|
|
#-----| -> ...;
|
|
|
|
# 23| ...;
|
|
#-----| -> "Try2"
|
|
|
|
# 23| call to method WriteLine
|
|
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
|
|
#-----| -> return ...;
|
|
|
|
# 23| "Try2"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 24| return ...;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 26| [exception: Exception] catch (...) {...}
|
|
#-----| match -> [exception: Exception] IOException ex
|
|
#-----| no-match -> [exception: Exception] catch (...) {...}
|
|
|
|
# 26| [exception: Exception] IOException ex
|
|
#-----| -> [exception: Exception] true
|
|
|
|
# 26| [exception: Exception] true
|
|
#-----| true -> {...}
|
|
|
|
# 27| {...}
|
|
#-----| -> throw ...;
|
|
|
|
# 28| throw ...;
|
|
#-----| exception(IOException) -> [finally: exception(IOException)] {...}
|
|
|
|
# 30| [exception: Exception] catch (...) {...}
|
|
#-----| match -> [exception: Exception] ArgumentException ex
|
|
#-----| no-match -> [exception: Exception] catch (...) {...}
|
|
|
|
# 30| [exception: Exception] ArgumentException ex
|
|
#-----| -> {...}
|
|
|
|
# 31| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 32| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 33| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 34| if (...) ...
|
|
#-----| -> true
|
|
|
|
# 34| true
|
|
#-----| true -> throw ...;
|
|
|
|
# 34| throw ...;
|
|
#-----| exception(ArgumentException) -> [finally: exception(ArgumentException)] {...}
|
|
|
|
# 37| [finally: exception(ArgumentException)] {...}
|
|
#-----| -> [finally: exception(ArgumentException)] "Boo!"
|
|
|
|
# 38| [finally: exception(ArgumentException)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 38| [finally: exception(ArgumentException)] object creation of type Exception
|
|
#-----| -> [finally: exception(ArgumentException)] throw ...;
|
|
|
|
# 38| [finally: exception(ArgumentException)] "Boo!"
|
|
#-----| -> [finally: exception(ArgumentException)] object creation of type Exception
|
|
|
|
# 41| [exception: Exception] catch (...) {...}
|
|
#-----| match -> {...}
|
|
|
|
# 42| {...}
|
|
#-----| -> {...}
|
|
|
|
# 49| {...}
|
|
#-----| -> ...;
|
|
|
|
# 49| [finally: return] {...}
|
|
#-----| -> [finally: return] ...;
|
|
|
|
# 49| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 49| [finally: exception(IOException)] {...}
|
|
#-----| -> [finally: exception(IOException)] ...;
|
|
|
|
# 50| ...;
|
|
#-----| -> "Finally"
|
|
|
|
# 50| [finally: return] ...;
|
|
#-----| -> [finally: return] "Finally"
|
|
|
|
# 50| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] "Finally"
|
|
|
|
# 50| [finally: exception(IOException)] ...;
|
|
#-----| -> [finally: exception(IOException)] "Finally"
|
|
|
|
# 50| call to method WriteLine
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 50| [finally: return] call to method WriteLine
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 50| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M2 (abnormal)
|
|
|
|
# 50| [finally: exception(IOException)] call to method WriteLine
|
|
#-----| exception(IOException) -> exit M2 (abnormal)
|
|
|
|
# 50| "Finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 50| [finally: return] "Finally"
|
|
#-----| -> [finally: return] call to method WriteLine
|
|
|
|
# 50| [finally: exception(Exception)] "Finally"
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 50| [finally: exception(IOException)] "Finally"
|
|
#-----| -> [finally: exception(IOException)] call to method WriteLine
|
|
|
|
# 54| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 54| exit M3
|
|
|
|
# 54| exit M3 (abnormal)
|
|
#-----| -> exit M3
|
|
|
|
# 54| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 55| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 56| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 57| {...}
|
|
#-----| -> ...;
|
|
|
|
# 58| ...;
|
|
#-----| -> "Try3"
|
|
|
|
# 58| call to method WriteLine
|
|
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
|
|
#-----| -> return ...;
|
|
|
|
# 58| "Try3"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 59| return ...;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 61| [exception: Exception] catch (...) {...}
|
|
#-----| match -> [exception: Exception] IOException ex
|
|
#-----| no-match -> [exception: Exception] catch (...) {...}
|
|
|
|
# 61| [exception: Exception] IOException ex
|
|
#-----| -> [exception: Exception] true
|
|
|
|
# 61| [exception: Exception] true
|
|
#-----| true -> {...}
|
|
|
|
# 62| {...}
|
|
#-----| -> throw ...;
|
|
|
|
# 63| throw ...;
|
|
#-----| exception(IOException) -> [finally: exception(IOException)] {...}
|
|
|
|
# 65| [exception: Exception] catch (...) {...}
|
|
#-----| match -> [exception: Exception] Exception e
|
|
|
|
# 65| [exception: Exception] Exception e
|
|
#-----| -> [exception: Exception] access to local variable e
|
|
|
|
# 65| [exception: Exception] ... != ...
|
|
#-----| true -> {...}
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 65| [exception: Exception] access to property Message
|
|
#-----| -> [exception: Exception] null
|
|
|
|
# 65| [exception: Exception] access to local variable e
|
|
#-----| -> [exception: Exception] access to property Message
|
|
|
|
# 65| [exception: Exception] null
|
|
#-----| -> [exception: Exception] ... != ...
|
|
|
|
# 66| {...}
|
|
#-----| -> {...}
|
|
|
|
# 69| {...}
|
|
#-----| -> ...;
|
|
|
|
# 69| [finally: return] {...}
|
|
#-----| -> [finally: return] ...;
|
|
|
|
# 69| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 69| [finally: exception(IOException)] {...}
|
|
#-----| -> [finally: exception(IOException)] ...;
|
|
|
|
# 70| ...;
|
|
#-----| -> "Finally"
|
|
|
|
# 70| [finally: return] ...;
|
|
#-----| -> [finally: return] "Finally"
|
|
|
|
# 70| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] "Finally"
|
|
|
|
# 70| [finally: exception(IOException)] ...;
|
|
#-----| -> [finally: exception(IOException)] "Finally"
|
|
|
|
# 70| call to method WriteLine
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 70| [finally: return] call to method WriteLine
|
|
#-----| return -> exit M3 (normal)
|
|
|
|
# 70| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M3 (abnormal)
|
|
|
|
# 70| [finally: exception(IOException)] call to method WriteLine
|
|
#-----| exception(IOException) -> exit M3 (abnormal)
|
|
|
|
# 70| "Finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 70| [finally: return] "Finally"
|
|
#-----| -> [finally: return] call to method WriteLine
|
|
|
|
# 70| [finally: exception(Exception)] "Finally"
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 70| [finally: exception(IOException)] "Finally"
|
|
#-----| -> [finally: exception(IOException)] call to method WriteLine
|
|
|
|
# 74| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 74| exit M4
|
|
|
|
# 74| exit M4 (abnormal)
|
|
#-----| -> exit M4
|
|
|
|
# 74| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 75| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 76| ... ...;
|
|
#-----| -> 10
|
|
|
|
# 76| Int32 i = ...
|
|
#-----| -> while (...) ...
|
|
|
|
# 76| 10
|
|
#-----| -> Int32 i = ...
|
|
|
|
# 77| while (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 77| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> exit M4 (normal)
|
|
|
|
# 77| access to local variable i
|
|
#-----| -> 0
|
|
|
|
# 77| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 78| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 79| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 80| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 81| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 81| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 81| access to local variable i
|
|
#-----| -> 0
|
|
|
|
# 81| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 82| return ...;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 83| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 83| ... == ...
|
|
#-----| true -> continue;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 83| access to local variable i
|
|
#-----| -> 1
|
|
|
|
# 83| 1
|
|
#-----| -> ... == ...
|
|
|
|
# 84| continue;
|
|
#-----| continue -> [finally: continue] {...}
|
|
|
|
# 85| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 85| ... == ...
|
|
#-----| true -> break;
|
|
#-----| false -> {...}
|
|
|
|
# 85| access to local variable i
|
|
#-----| -> 2
|
|
|
|
# 85| 2
|
|
#-----| -> ... == ...
|
|
|
|
# 86| break;
|
|
#-----| break -> [finally: break] {...}
|
|
|
|
# 89| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 89| [finally: return] {...}
|
|
#-----| -> [finally: return] try {...} ...
|
|
|
|
# 89| [finally: break] {...}
|
|
#-----| -> [finally: break] try {...} ...
|
|
|
|
# 89| [finally: continue] {...}
|
|
#-----| -> [finally: continue] try {...} ...
|
|
|
|
# 90| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 90| [finally: return] try {...} ...
|
|
#-----| -> [finally: return] {...}
|
|
|
|
# 90| [finally: break] try {...} ...
|
|
#-----| -> [finally: break] {...}
|
|
|
|
# 90| [finally: continue] try {...} ...
|
|
#-----| -> [finally: continue] {...}
|
|
|
|
# 91| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 91| [finally: return] {...}
|
|
#-----| -> [finally: return] if (...) ...
|
|
|
|
# 91| [finally: break] {...}
|
|
#-----| -> [finally: break] if (...) ...
|
|
|
|
# 91| [finally: continue] {...}
|
|
#-----| -> [finally: continue] if (...) ...
|
|
|
|
# 92| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 92| [finally: return] if (...) ...
|
|
#-----| -> [finally: return] access to local variable i
|
|
|
|
# 92| [finally: break] if (...) ...
|
|
#-----| -> [finally: break] access to local variable i
|
|
|
|
# 92| [finally: continue] if (...) ...
|
|
#-----| -> [finally: continue] access to local variable i
|
|
|
|
# 92| ... == ...
|
|
#-----| true -> object creation of type Exception
|
|
#-----| false -> {...}
|
|
|
|
# 92| [finally: return] ... == ...
|
|
#-----| true -> [finally: return] object creation of type Exception
|
|
#-----| false -> [finally: return] {...}
|
|
|
|
# 92| [finally: break] ... == ...
|
|
#-----| true -> [finally: break] object creation of type Exception
|
|
#-----| false -> [finally: break] {...}
|
|
|
|
# 92| [finally: continue] ... == ...
|
|
#-----| true -> [finally: continue] object creation of type Exception
|
|
#-----| false -> [finally: continue] {...}
|
|
|
|
# 92| access to local variable i
|
|
#-----| -> 3
|
|
|
|
# 92| [finally: return] access to local variable i
|
|
#-----| -> [finally: return] 3
|
|
|
|
# 92| [finally: break] access to local variable i
|
|
#-----| -> [finally: break] 3
|
|
|
|
# 92| [finally: continue] access to local variable i
|
|
#-----| -> [finally: continue] 3
|
|
|
|
# 92| 3
|
|
#-----| -> ... == ...
|
|
|
|
# 92| [finally: return] 3
|
|
#-----| -> [finally: return] ... == ...
|
|
|
|
# 92| [finally: break] 3
|
|
#-----| -> [finally: break] ... == ...
|
|
|
|
# 92| [finally: continue] 3
|
|
#-----| -> [finally: continue] ... == ...
|
|
|
|
# 93| throw ...;
|
|
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
|
|
|
|
# 93| [finally: return] throw ...;
|
|
#-----| exception(Exception) -> [finally: return, finally(1): exception(Exception)] {...}
|
|
|
|
# 93| [finally: break] throw ...;
|
|
#-----| exception(Exception) -> [finally: break, finally(1): exception(Exception)] {...}
|
|
|
|
# 93| [finally: continue] throw ...;
|
|
#-----| exception(Exception) -> [finally: continue, finally(1): exception(Exception)] {...}
|
|
|
|
# 93| object creation of type Exception
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
|
|
|
|
# 93| [finally: return] object creation of type Exception
|
|
#-----| -> [finally: return] throw ...;
|
|
#-----| exception(Exception) -> [finally: return, finally(1): exception(Exception)] {...}
|
|
|
|
# 93| [finally: break] object creation of type Exception
|
|
#-----| -> [finally: break] throw ...;
|
|
#-----| exception(Exception) -> [finally: break, finally(1): exception(Exception)] {...}
|
|
|
|
# 93| [finally: continue] object creation of type Exception
|
|
#-----| -> [finally: continue] throw ...;
|
|
#-----| exception(Exception) -> [finally: continue, finally(1): exception(Exception)] {...}
|
|
|
|
# 96| {...}
|
|
#-----| -> ...;
|
|
|
|
# 96| [finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally(1): exception(Exception)] ...;
|
|
|
|
# 96| [finally: return] {...}
|
|
#-----| -> [finally: return] ...;
|
|
|
|
# 96| [finally: return, finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: return, finally(1): exception(Exception)] ...;
|
|
|
|
# 96| [finally: break] {...}
|
|
#-----| -> [finally: break] ...;
|
|
|
|
# 96| [finally: break, finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: break, finally(1): exception(Exception)] ...;
|
|
|
|
# 96| [finally: continue] {...}
|
|
#-----| -> [finally: continue] ...;
|
|
|
|
# 96| [finally: continue, finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: continue, finally(1): exception(Exception)] ...;
|
|
|
|
# 97| ...;
|
|
#-----| -> access to local variable i
|
|
|
|
# 97| [finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally(1): exception(Exception)] access to local variable i
|
|
|
|
# 97| [finally: return] ...;
|
|
#-----| -> [finally: return] access to local variable i
|
|
|
|
# 97| [finally: return, finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally: return, finally(1): exception(Exception)] access to local variable i
|
|
|
|
# 97| [finally: break] ...;
|
|
#-----| -> [finally: break] access to local variable i
|
|
|
|
# 97| [finally: break, finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally: break, finally(1): exception(Exception)] access to local variable i
|
|
|
|
# 97| [finally: continue] ...;
|
|
#-----| -> [finally: continue] access to local variable i
|
|
|
|
# 97| [finally: continue, finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally: continue, finally(1): exception(Exception)] access to local variable i
|
|
|
|
# 97| ...--
|
|
#-----| -> access to local variable i
|
|
|
|
# 97| [finally(1): exception(Exception)] ...--
|
|
#-----| exception(Exception) -> exit M4 (abnormal)
|
|
|
|
# 97| [finally: return] ...--
|
|
#-----| return -> exit M4 (normal)
|
|
|
|
# 97| [finally: return, finally(1): exception(Exception)] ...--
|
|
#-----| exception(Exception) -> exit M4 (abnormal)
|
|
|
|
# 97| [finally: break] ...--
|
|
#-----| break -> exit M4 (normal)
|
|
|
|
# 97| [finally: break, finally(1): exception(Exception)] ...--
|
|
#-----| exception(Exception) -> exit M4 (abnormal)
|
|
|
|
# 97| [finally: continue] ...--
|
|
#-----| continue -> access to local variable i
|
|
|
|
# 97| [finally: continue, finally(1): exception(Exception)] ...--
|
|
#-----| exception(Exception) -> exit M4 (abnormal)
|
|
|
|
# 97| access to local variable i
|
|
#-----| -> ...--
|
|
|
|
# 97| [finally(1): exception(Exception)] access to local variable i
|
|
#-----| -> [finally(1): exception(Exception)] ...--
|
|
|
|
# 97| [finally: return] access to local variable i
|
|
#-----| -> [finally: return] ...--
|
|
|
|
# 97| [finally: return, finally(1): exception(Exception)] access to local variable i
|
|
#-----| -> [finally: return, finally(1): exception(Exception)] ...--
|
|
|
|
# 97| [finally: break] access to local variable i
|
|
#-----| -> [finally: break] ...--
|
|
|
|
# 97| [finally: break, finally(1): exception(Exception)] access to local variable i
|
|
#-----| -> [finally: break, finally(1): exception(Exception)] ...--
|
|
|
|
# 97| [finally: continue] access to local variable i
|
|
#-----| -> [finally: continue] ...--
|
|
|
|
# 97| [finally: continue, finally(1): exception(Exception)] access to local variable i
|
|
#-----| -> [finally: continue, finally(1): exception(Exception)] ...--
|
|
|
|
# 103| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 103| exit M5
|
|
|
|
# 103| exit M5 (abnormal)
|
|
#-----| -> exit M5
|
|
|
|
# 103| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 104| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 105| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 106| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 107| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 107| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 107| access to property Length
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
|
|
#-----| -> 0
|
|
|
|
# 107| access to field Field
|
|
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
|
|
#-----| -> access to property Length
|
|
|
|
# 107| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 107| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 108| return ...;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 109| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 109| ... == ...
|
|
#-----| true -> object creation of type OutOfMemoryException
|
|
#-----| false -> {...}
|
|
|
|
# 109| access to property Length
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
|
|
#-----| -> 1
|
|
|
|
# 109| access to field Field
|
|
#-----| exception(NullReferenceException) -> [finally: exception(NullReferenceException)] {...}
|
|
#-----| -> access to property Length
|
|
|
|
# 109| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 109| 1
|
|
#-----| -> ... == ...
|
|
|
|
# 110| throw ...;
|
|
#-----| exception(OutOfMemoryException) -> [finally: exception(OutOfMemoryException)] {...}
|
|
|
|
# 110| object creation of type OutOfMemoryException
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 113| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 113| [finally: return] {...}
|
|
#-----| -> [finally: return] if (...) ...
|
|
|
|
# 113| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 113| [finally: exception(OutOfMemoryException)] {...}
|
|
#-----| -> [finally: exception(OutOfMemoryException)] if (...) ...
|
|
|
|
# 113| [finally: exception(NullReferenceException)] {...}
|
|
#-----| -> [finally: exception(NullReferenceException)] if (...) ...
|
|
|
|
# 114| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 114| [finally: return] if (...) ...
|
|
#-----| -> [finally: return] this access
|
|
|
|
# 114| [finally: exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception)] this access
|
|
|
|
# 114| [finally: exception(OutOfMemoryException)] if (...) ...
|
|
#-----| -> [finally: exception(OutOfMemoryException)] this access
|
|
|
|
# 114| [finally: exception(NullReferenceException)] if (...) ...
|
|
#-----| -> [finally: exception(NullReferenceException)] this access
|
|
|
|
# 114| [false] !...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 114| [false, finally: return] !...
|
|
#-----| false -> [finally: return] if (...) ...
|
|
|
|
# 114| [false, finally: exception(Exception)] !...
|
|
#-----| false -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 114| [false, finally: exception(OutOfMemoryException)] !...
|
|
#-----| false -> [finally: exception(OutOfMemoryException)] if (...) ...
|
|
|
|
# 114| [false, finally: exception(NullReferenceException)] !...
|
|
#-----| false -> [finally: exception(NullReferenceException)] if (...) ...
|
|
|
|
# 114| [true] !...
|
|
#-----| true -> ...;
|
|
|
|
# 114| [true, finally: return] !...
|
|
#-----| true -> [finally: return] ...;
|
|
|
|
# 114| [true, finally: exception(Exception)] !...
|
|
#-----| true -> [finally: exception(Exception)] ...;
|
|
|
|
# 114| [true, finally: exception(OutOfMemoryException)] !...
|
|
#-----| true -> [finally: exception(OutOfMemoryException)] ...;
|
|
|
|
# 114| [true, finally: exception(NullReferenceException)] !...
|
|
#-----| true -> [finally: exception(NullReferenceException)] ...;
|
|
|
|
# 114| ... == ...
|
|
#-----| true -> [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 114| [finally: return] ... == ...
|
|
#-----| true -> [false, finally: return] !...
|
|
#-----| false -> [true, finally: return] !...
|
|
|
|
# 114| [finally: exception(Exception)] ... == ...
|
|
#-----| true -> [false, finally: exception(Exception)] !...
|
|
#-----| false -> [true, finally: exception(Exception)] !...
|
|
|
|
# 114| [finally: exception(OutOfMemoryException)] ... == ...
|
|
#-----| true -> [false, finally: exception(OutOfMemoryException)] !...
|
|
#-----| false -> [true, finally: exception(OutOfMemoryException)] !...
|
|
|
|
# 114| [finally: exception(NullReferenceException)] ... == ...
|
|
#-----| true -> [false, finally: exception(NullReferenceException)] !...
|
|
#-----| false -> [true, finally: exception(NullReferenceException)] !...
|
|
|
|
# 114| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 114| [finally: return] access to property Length
|
|
#-----| -> [finally: return] 0
|
|
|
|
# 114| [finally: exception(Exception)] access to property Length
|
|
#-----| -> [finally: exception(Exception)] 0
|
|
|
|
# 114| [finally: exception(OutOfMemoryException)] access to property Length
|
|
#-----| -> [finally: exception(OutOfMemoryException)] 0
|
|
|
|
# 114| [finally: exception(NullReferenceException)] access to property Length
|
|
#-----| -> [finally: exception(NullReferenceException)] 0
|
|
|
|
# 114| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 114| [finally: return] access to field Field
|
|
#-----| -> [finally: return] access to property Length
|
|
|
|
# 114| [finally: exception(Exception)] access to field Field
|
|
#-----| -> [finally: exception(Exception)] access to property Length
|
|
|
|
# 114| [finally: exception(OutOfMemoryException)] access to field Field
|
|
#-----| -> [finally: exception(OutOfMemoryException)] access to property Length
|
|
|
|
# 114| [finally: exception(NullReferenceException)] access to field Field
|
|
#-----| -> [finally: exception(NullReferenceException)] access to property Length
|
|
|
|
# 114| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 114| [finally: return] this access
|
|
#-----| -> [finally: return] access to field Field
|
|
|
|
# 114| [finally: exception(Exception)] this access
|
|
#-----| -> [finally: exception(Exception)] access to field Field
|
|
|
|
# 114| [finally: exception(OutOfMemoryException)] this access
|
|
#-----| -> [finally: exception(OutOfMemoryException)] access to field Field
|
|
|
|
# 114| [finally: exception(NullReferenceException)] this access
|
|
#-----| -> [finally: exception(NullReferenceException)] access to field Field
|
|
|
|
# 114| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 114| [finally: return] 0
|
|
#-----| -> [finally: return] ... == ...
|
|
|
|
# 114| [finally: exception(Exception)] 0
|
|
#-----| -> [finally: exception(Exception)] ... == ...
|
|
|
|
# 114| [finally: exception(OutOfMemoryException)] 0
|
|
#-----| -> [finally: exception(OutOfMemoryException)] ... == ...
|
|
|
|
# 114| [finally: exception(NullReferenceException)] 0
|
|
#-----| -> [finally: exception(NullReferenceException)] ... == ...
|
|
|
|
# 115| ...;
|
|
#-----| -> this access
|
|
|
|
# 115| [finally: return] ...;
|
|
#-----| -> [finally: return] this access
|
|
|
|
# 115| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] this access
|
|
|
|
# 115| [finally: exception(OutOfMemoryException)] ...;
|
|
#-----| -> [finally: exception(OutOfMemoryException)] this access
|
|
|
|
# 115| [finally: exception(NullReferenceException)] ...;
|
|
#-----| -> [finally: exception(NullReferenceException)] this access
|
|
|
|
# 115| call to method WriteLine
|
|
#-----| -> if (...) ...
|
|
|
|
# 115| [finally: return] call to method WriteLine
|
|
#-----| -> [finally: return] if (...) ...
|
|
|
|
# 115| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 115| [finally: exception(OutOfMemoryException)] call to method WriteLine
|
|
#-----| -> [finally: exception(OutOfMemoryException)] if (...) ...
|
|
|
|
# 115| [finally: exception(NullReferenceException)] call to method WriteLine
|
|
#-----| -> [finally: exception(NullReferenceException)] if (...) ...
|
|
|
|
# 115| access to field Field
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 115| [finally: return] access to field Field
|
|
#-----| -> [finally: return] call to method WriteLine
|
|
|
|
# 115| [finally: exception(Exception)] access to field Field
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 115| [finally: exception(OutOfMemoryException)] access to field Field
|
|
#-----| -> [finally: exception(OutOfMemoryException)] call to method WriteLine
|
|
|
|
# 115| [finally: exception(NullReferenceException)] access to field Field
|
|
#-----| -> [finally: exception(NullReferenceException)] call to method WriteLine
|
|
|
|
# 115| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 115| [finally: return] this access
|
|
#-----| -> [finally: return] access to field Field
|
|
|
|
# 115| [finally: exception(Exception)] this access
|
|
#-----| -> [finally: exception(Exception)] access to field Field
|
|
|
|
# 115| [finally: exception(OutOfMemoryException)] this access
|
|
#-----| -> [finally: exception(OutOfMemoryException)] access to field Field
|
|
|
|
# 115| [finally: exception(NullReferenceException)] this access
|
|
#-----| -> [finally: exception(NullReferenceException)] access to field Field
|
|
|
|
# 116| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 116| [finally: return] if (...) ...
|
|
#-----| -> [finally: return] this access
|
|
|
|
# 116| [finally: exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception)] this access
|
|
|
|
# 116| [finally: exception(OutOfMemoryException)] if (...) ...
|
|
#-----| -> [finally: exception(OutOfMemoryException)] this access
|
|
|
|
# 116| [finally: exception(NullReferenceException)] if (...) ...
|
|
#-----| -> [finally: exception(NullReferenceException)] this access
|
|
|
|
# 116| ... > ...
|
|
#-----| true -> ...;
|
|
#-----| false -> exit M5 (normal)
|
|
|
|
# 116| [finally: return] ... > ...
|
|
#-----| true -> [finally: return] ...;
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 116| [finally: exception(Exception)] ... > ...
|
|
#-----| true -> [finally: exception(Exception)] ...;
|
|
#-----| exception(Exception) -> exit M5 (abnormal)
|
|
|
|
# 116| [finally: exception(OutOfMemoryException)] ... > ...
|
|
#-----| true -> [finally: exception(OutOfMemoryException)] ...;
|
|
#-----| exception(OutOfMemoryException) -> exit M5 (abnormal)
|
|
|
|
# 116| [finally: exception(NullReferenceException)] ... > ...
|
|
#-----| true -> [finally: exception(NullReferenceException)] ...;
|
|
#-----| exception(NullReferenceException) -> exit M5 (abnormal)
|
|
|
|
# 116| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 116| [finally: return] access to property Length
|
|
#-----| -> [finally: return] 0
|
|
|
|
# 116| [finally: exception(Exception)] access to property Length
|
|
#-----| -> [finally: exception(Exception)] 0
|
|
|
|
# 116| [finally: exception(OutOfMemoryException)] access to property Length
|
|
#-----| -> [finally: exception(OutOfMemoryException)] 0
|
|
|
|
# 116| [finally: exception(NullReferenceException)] access to property Length
|
|
#-----| -> [finally: exception(NullReferenceException)] 0
|
|
|
|
# 116| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 116| [finally: return] access to field Field
|
|
#-----| -> [finally: return] access to property Length
|
|
|
|
# 116| [finally: exception(Exception)] access to field Field
|
|
#-----| -> [finally: exception(Exception)] access to property Length
|
|
|
|
# 116| [finally: exception(OutOfMemoryException)] access to field Field
|
|
#-----| -> [finally: exception(OutOfMemoryException)] access to property Length
|
|
|
|
# 116| [finally: exception(NullReferenceException)] access to field Field
|
|
#-----| -> [finally: exception(NullReferenceException)] access to property Length
|
|
|
|
# 116| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 116| [finally: return] this access
|
|
#-----| -> [finally: return] access to field Field
|
|
|
|
# 116| [finally: exception(Exception)] this access
|
|
#-----| -> [finally: exception(Exception)] access to field Field
|
|
|
|
# 116| [finally: exception(OutOfMemoryException)] this access
|
|
#-----| -> [finally: exception(OutOfMemoryException)] access to field Field
|
|
|
|
# 116| [finally: exception(NullReferenceException)] this access
|
|
#-----| -> [finally: exception(NullReferenceException)] access to field Field
|
|
|
|
# 116| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 116| [finally: return] 0
|
|
#-----| -> [finally: return] ... > ...
|
|
|
|
# 116| [finally: exception(Exception)] 0
|
|
#-----| -> [finally: exception(Exception)] ... > ...
|
|
|
|
# 116| [finally: exception(OutOfMemoryException)] 0
|
|
#-----| -> [finally: exception(OutOfMemoryException)] ... > ...
|
|
|
|
# 116| [finally: exception(NullReferenceException)] 0
|
|
#-----| -> [finally: exception(NullReferenceException)] ... > ...
|
|
|
|
# 117| ...;
|
|
#-----| -> 1
|
|
|
|
# 117| [finally: return] ...;
|
|
#-----| -> [finally: return] 1
|
|
|
|
# 117| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] 1
|
|
|
|
# 117| [finally: exception(OutOfMemoryException)] ...;
|
|
#-----| -> [finally: exception(OutOfMemoryException)] 1
|
|
|
|
# 117| [finally: exception(NullReferenceException)] ...;
|
|
#-----| -> [finally: exception(NullReferenceException)] 1
|
|
|
|
# 117| call to method WriteLine
|
|
#-----| -> exit M5 (normal)
|
|
|
|
# 117| [finally: return] call to method WriteLine
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 117| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M5 (abnormal)
|
|
|
|
# 117| [finally: exception(OutOfMemoryException)] call to method WriteLine
|
|
#-----| exception(OutOfMemoryException) -> exit M5 (abnormal)
|
|
|
|
# 117| [finally: exception(NullReferenceException)] call to method WriteLine
|
|
#-----| exception(NullReferenceException) -> exit M5 (abnormal)
|
|
|
|
# 117| 1
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 117| [finally: return] 1
|
|
#-----| -> [finally: return] call to method WriteLine
|
|
|
|
# 117| [finally: exception(Exception)] 1
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 117| [finally: exception(OutOfMemoryException)] 1
|
|
#-----| -> [finally: exception(OutOfMemoryException)] call to method WriteLine
|
|
|
|
# 117| [finally: exception(NullReferenceException)] 1
|
|
#-----| -> [finally: exception(NullReferenceException)] call to method WriteLine
|
|
|
|
# 121| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 121| exit M6
|
|
|
|
# 121| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 122| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 123| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 124| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 125| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 125| Double temp = ...
|
|
#-----| -> exit M6 (normal)
|
|
|
|
# 125| ... / ...
|
|
#-----| -> Double temp = ...
|
|
|
|
# 125| (...) ...
|
|
#-----| -> access to constant E
|
|
|
|
# 125| 0
|
|
#-----| -> (...) ...
|
|
|
|
# 125| access to constant E
|
|
#-----| -> ... / ...
|
|
|
|
# 133| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 133| exit M7
|
|
|
|
# 133| exit M7 (abnormal)
|
|
#-----| -> exit M7
|
|
|
|
# 134| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 135| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 136| {...}
|
|
#-----| -> ...;
|
|
|
|
# 137| ...;
|
|
#-----| -> "Try"
|
|
|
|
# 137| call to method WriteLine
|
|
#-----| -> {...}
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 137| "Try"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 140| {...}
|
|
#-----| -> ""
|
|
|
|
# 140| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ""
|
|
|
|
# 141| throw ...;
|
|
#-----| exception(ArgumentException) -> exit M7 (abnormal)
|
|
|
|
# 141| [finally: exception(Exception)] throw ...;
|
|
#-----| exception(ArgumentException) -> exit M7 (abnormal)
|
|
|
|
# 141| object creation of type ArgumentException
|
|
#-----| -> throw ...;
|
|
|
|
# 141| [finally: exception(Exception)] object creation of type ArgumentException
|
|
#-----| -> [finally: exception(Exception)] throw ...;
|
|
|
|
# 141| ""
|
|
#-----| -> object creation of type ArgumentException
|
|
|
|
# 141| [finally: exception(Exception)] ""
|
|
#-----| -> [finally: exception(Exception)] object creation of type ArgumentException
|
|
|
|
# 147| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 147| exit M8
|
|
|
|
# 147| exit M8 (abnormal)
|
|
#-----| -> exit M8
|
|
|
|
# 147| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 148| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 149| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 150| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 151| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 151| ... == ...
|
|
#-----| true -> object creation of type ArgumentNullException
|
|
#-----| false -> {...}
|
|
|
|
# 151| access to parameter args
|
|
#-----| -> null
|
|
|
|
# 151| null
|
|
#-----| -> ... == ...
|
|
|
|
# 152| throw ...;
|
|
#-----| exception(ArgumentNullException) -> [finally: exception(ArgumentNullException)] {...}
|
|
|
|
# 152| object creation of type ArgumentNullException
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 155| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 155| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] try {...} ...
|
|
|
|
# 155| [finally: exception(ArgumentNullException)] {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] try {...} ...
|
|
|
|
# 156| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 156| [finally: exception(Exception)] try {...} ...
|
|
#-----| -> [finally: exception(Exception)] {...}
|
|
|
|
# 156| [finally: exception(ArgumentNullException)] try {...} ...
|
|
#-----| -> [finally: exception(ArgumentNullException)] {...}
|
|
|
|
# 157| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 157| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 157| [finally: exception(ArgumentNullException)] {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] if (...) ...
|
|
|
|
# 158| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 158| [finally: exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception)] access to parameter args
|
|
|
|
# 158| [finally: exception(ArgumentNullException)] if (...) ...
|
|
#-----| -> [finally: exception(ArgumentNullException)] access to parameter args
|
|
|
|
# 158| ... == ...
|
|
#-----| true -> "1"
|
|
#-----| false -> exit M8 (normal)
|
|
|
|
# 158| [finally: exception(Exception)] ... == ...
|
|
#-----| true -> [finally: exception(Exception)] "1"
|
|
#-----| exception(Exception) -> exit M8 (abnormal)
|
|
|
|
# 158| [finally: exception(ArgumentNullException)] ... == ...
|
|
#-----| true -> [finally: exception(ArgumentNullException)] "1"
|
|
#-----| exception(ArgumentNullException) -> exit M8 (abnormal)
|
|
|
|
# 158| access to property Length
|
|
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
|
|
#-----| exception(NullReferenceException) -> [exception: NullReferenceException] catch (...) {...}
|
|
#-----| -> 1
|
|
|
|
# 158| [finally: exception(Exception)] access to property Length
|
|
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...}
|
|
#-----| exception(NullReferenceException) -> [finally: exception(Exception), exception: NullReferenceException] catch (...) {...}
|
|
#-----| -> [finally: exception(Exception)] 1
|
|
|
|
# 158| [finally: exception(ArgumentNullException)] access to property Length
|
|
#-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
|
|
#-----| exception(NullReferenceException) -> [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] 1
|
|
|
|
# 158| access to parameter args
|
|
#-----| -> access to property Length
|
|
|
|
# 158| [finally: exception(Exception)] access to parameter args
|
|
#-----| -> [finally: exception(Exception)] access to property Length
|
|
|
|
# 158| [finally: exception(ArgumentNullException)] access to parameter args
|
|
#-----| -> [finally: exception(ArgumentNullException)] access to property Length
|
|
|
|
# 158| 1
|
|
#-----| -> ... == ...
|
|
|
|
# 158| [finally: exception(Exception)] 1
|
|
#-----| -> [finally: exception(Exception)] ... == ...
|
|
|
|
# 158| [finally: exception(ArgumentNullException)] 1
|
|
#-----| -> [finally: exception(ArgumentNullException)] ... == ...
|
|
|
|
# 159| throw ...;
|
|
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
|
|
|
|
# 159| [finally: exception(Exception)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...}
|
|
|
|
# 159| [finally: exception(ArgumentNullException)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
|
|
|
|
# 159| object creation of type Exception
|
|
#-----| exception(Exception) -> [exception: Exception] catch (...) {...}
|
|
#-----| -> throw ...;
|
|
|
|
# 159| [finally: exception(Exception)] object creation of type Exception
|
|
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception] catch (...) {...}
|
|
#-----| -> [finally: exception(Exception)] throw ...;
|
|
|
|
# 159| [finally: exception(ArgumentNullException)] object creation of type Exception
|
|
#-----| exception(Exception) -> [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] throw ...;
|
|
|
|
# 159| "1"
|
|
#-----| -> object creation of type Exception
|
|
|
|
# 159| [finally: exception(Exception)] "1"
|
|
#-----| -> [finally: exception(Exception)] object creation of type Exception
|
|
|
|
# 159| [finally: exception(ArgumentNullException)] "1"
|
|
#-----| -> [finally: exception(ArgumentNullException)] object creation of type Exception
|
|
|
|
# 161| [exception: Exception] catch (...) {...}
|
|
#-----| match -> [exception: Exception] Exception e
|
|
|
|
# 161| [finally: exception(Exception), exception: Exception] catch (...) {...}
|
|
#-----| match -> [finally: exception(Exception), exception: Exception] Exception e
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: Exception] catch (...) {...}
|
|
#-----| match -> [finally: exception(ArgumentNullException), exception: Exception] Exception e
|
|
|
|
# 161| [exception: NullReferenceException] catch (...) {...}
|
|
#-----| match -> [exception: NullReferenceException] Exception e
|
|
|
|
# 161| [finally: exception(Exception), exception: NullReferenceException] catch (...) {...}
|
|
#-----| match -> [finally: exception(Exception), exception: NullReferenceException] Exception e
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] catch (...) {...}
|
|
#-----| match -> [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e
|
|
|
|
# 161| [exception: Exception] Exception e
|
|
#-----| -> [exception: Exception] access to local variable e
|
|
|
|
# 161| [finally: exception(Exception), exception: Exception] Exception e
|
|
#-----| -> [finally: exception(Exception), exception: Exception] access to local variable e
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: Exception] Exception e
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] access to local variable e
|
|
|
|
# 161| [exception: NullReferenceException] Exception e
|
|
#-----| -> [exception: NullReferenceException] access to local variable e
|
|
|
|
# 161| [finally: exception(Exception), exception: NullReferenceException] Exception e
|
|
#-----| -> [finally: exception(Exception), exception: NullReferenceException] access to local variable e
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] Exception e
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e
|
|
|
|
# 161| [exception: Exception] ... == ...
|
|
#-----| true -> {...}
|
|
#-----| false -> catch {...}
|
|
|
|
# 161| [finally: exception(Exception), exception: Exception] ... == ...
|
|
#-----| true -> [finally: exception(Exception)] {...}
|
|
#-----| false -> [finally: exception(Exception)] catch {...}
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: Exception] ... == ...
|
|
#-----| true -> [finally: exception(ArgumentNullException)] {...}
|
|
#-----| false -> [finally: exception(ArgumentNullException)] catch {...}
|
|
|
|
# 161| [exception: NullReferenceException] ... == ...
|
|
#-----| true -> {...}
|
|
#-----| false -> catch {...}
|
|
|
|
# 161| [finally: exception(Exception), exception: NullReferenceException] ... == ...
|
|
#-----| true -> [finally: exception(Exception)] {...}
|
|
#-----| false -> [finally: exception(Exception)] catch {...}
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ...
|
|
#-----| true -> [finally: exception(ArgumentNullException)] {...}
|
|
#-----| false -> [finally: exception(ArgumentNullException)] catch {...}
|
|
|
|
# 161| [exception: Exception] access to property Message
|
|
#-----| -> [exception: Exception] "1"
|
|
|
|
# 161| [finally: exception(Exception), exception: Exception] access to property Message
|
|
#-----| -> [finally: exception(Exception), exception: Exception] "1"
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: Exception] access to property Message
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] "1"
|
|
|
|
# 161| [exception: NullReferenceException] access to property Message
|
|
#-----| -> [exception: NullReferenceException] "1"
|
|
|
|
# 161| [finally: exception(Exception), exception: NullReferenceException] access to property Message
|
|
#-----| -> [finally: exception(Exception), exception: NullReferenceException] "1"
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] "1"
|
|
|
|
# 161| [exception: Exception] access to local variable e
|
|
#-----| -> [exception: Exception] access to property Message
|
|
|
|
# 161| [finally: exception(Exception), exception: Exception] access to local variable e
|
|
#-----| -> [finally: exception(Exception), exception: Exception] access to property Message
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: Exception] access to local variable e
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] access to property Message
|
|
|
|
# 161| [exception: NullReferenceException] access to local variable e
|
|
#-----| -> [exception: NullReferenceException] access to property Message
|
|
|
|
# 161| [finally: exception(Exception), exception: NullReferenceException] access to local variable e
|
|
#-----| -> [finally: exception(Exception), exception: NullReferenceException] access to property Message
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] access to local variable e
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] access to property Message
|
|
|
|
# 161| [exception: Exception] "1"
|
|
#-----| -> [exception: Exception] ... == ...
|
|
|
|
# 161| [finally: exception(Exception), exception: Exception] "1"
|
|
#-----| -> [finally: exception(Exception), exception: Exception] ... == ...
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: Exception] "1"
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: Exception] ... == ...
|
|
|
|
# 161| [exception: NullReferenceException] "1"
|
|
#-----| -> [exception: NullReferenceException] ... == ...
|
|
|
|
# 161| [finally: exception(Exception), exception: NullReferenceException] "1"
|
|
#-----| -> [finally: exception(Exception), exception: NullReferenceException] ... == ...
|
|
|
|
# 161| [finally: exception(ArgumentNullException), exception: NullReferenceException] "1"
|
|
#-----| -> [finally: exception(ArgumentNullException), exception: NullReferenceException] ... == ...
|
|
|
|
# 162| {...}
|
|
#-----| -> ...;
|
|
|
|
# 162| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 162| [finally: exception(ArgumentNullException)] {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] ...;
|
|
|
|
# 163| ...;
|
|
#-----| -> access to parameter args
|
|
|
|
# 163| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] access to parameter args
|
|
|
|
# 163| [finally: exception(ArgumentNullException)] ...;
|
|
#-----| -> [finally: exception(ArgumentNullException)] access to parameter args
|
|
|
|
# 163| call to method WriteLine
|
|
#-----| -> exit M8 (normal)
|
|
|
|
# 163| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M8 (abnormal)
|
|
|
|
# 163| [finally: exception(ArgumentNullException)] call to method WriteLine
|
|
#-----| exception(ArgumentNullException) -> exit M8 (abnormal)
|
|
|
|
# 163| access to array element
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 163| [finally: exception(Exception)] access to array element
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 163| [finally: exception(ArgumentNullException)] access to array element
|
|
#-----| -> [finally: exception(ArgumentNullException)] call to method WriteLine
|
|
|
|
# 163| access to parameter args
|
|
#-----| -> 0
|
|
|
|
# 163| [finally: exception(Exception)] access to parameter args
|
|
#-----| -> [finally: exception(Exception)] 0
|
|
|
|
# 163| [finally: exception(ArgumentNullException)] access to parameter args
|
|
#-----| -> [finally: exception(ArgumentNullException)] 0
|
|
|
|
# 163| 0
|
|
#-----| -> access to array element
|
|
|
|
# 163| [finally: exception(Exception)] 0
|
|
#-----| -> [finally: exception(Exception)] access to array element
|
|
|
|
# 163| [finally: exception(ArgumentNullException)] 0
|
|
#-----| -> [finally: exception(ArgumentNullException)] access to array element
|
|
|
|
# 165| catch {...}
|
|
#-----| -> {...}
|
|
|
|
# 165| [finally: exception(Exception)] catch {...}
|
|
#-----| -> [finally: exception(Exception)] {...}
|
|
|
|
# 165| [finally: exception(ArgumentNullException)] catch {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] {...}
|
|
|
|
# 166| {...}
|
|
#-----| -> ...;
|
|
|
|
# 166| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 166| [finally: exception(ArgumentNullException)] {...}
|
|
#-----| -> [finally: exception(ArgumentNullException)] ...;
|
|
|
|
# 167| ...;
|
|
#-----| -> ""
|
|
|
|
# 167| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] ""
|
|
|
|
# 167| [finally: exception(ArgumentNullException)] ...;
|
|
#-----| -> [finally: exception(ArgumentNullException)] ""
|
|
|
|
# 167| call to method WriteLine
|
|
#-----| -> exit M8 (normal)
|
|
|
|
# 167| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M8 (abnormal)
|
|
|
|
# 167| [finally: exception(ArgumentNullException)] call to method WriteLine
|
|
#-----| exception(ArgumentNullException) -> exit M8 (abnormal)
|
|
|
|
# 167| ""
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 167| [finally: exception(Exception)] ""
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 167| [finally: exception(ArgumentNullException)] ""
|
|
#-----| -> [finally: exception(ArgumentNullException)] call to method WriteLine
|
|
|
|
# 176| enter M9
|
|
#-----| -> {...}
|
|
|
|
# 176| exit M9
|
|
|
|
# 176| exit M9 (abnormal)
|
|
#-----| -> exit M9
|
|
|
|
# 176| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 177| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 178| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 179| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 180| if (...) ...
|
|
#-----| -> access to parameter b1
|
|
|
|
# 180| access to parameter b1
|
|
#-----| true -> [b1 (line 176): true] object creation of type ExceptionA
|
|
#-----| false -> [b1 (line 176): false] {...}
|
|
|
|
# 180| [b1 (line 176): true] throw ...;
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
|
|
# 180| [b1 (line 176): true] object creation of type ExceptionA
|
|
#-----| -> [b1 (line 176): true] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception), b1 (line 176): true] {...}
|
|
|
|
# 183| [b1 (line 176): false] {...}
|
|
#-----| -> [b1 (line 176): false] try {...} ...
|
|
|
|
# 183| [finally: exception(Exception), b1 (line 176): true] {...}
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true] try {...} ...
|
|
|
|
# 183| [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] try {...} ...
|
|
|
|
# 184| [b1 (line 176): false] try {...} ...
|
|
#-----| -> [b1 (line 176): false] {...}
|
|
|
|
# 184| [finally: exception(Exception), b1 (line 176): true] try {...} ...
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true] {...}
|
|
|
|
# 184| [finally: exception(ExceptionA), b1 (line 176): true] try {...} ...
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
|
|
# 185| [b1 (line 176): false] {...}
|
|
#-----| -> [b1 (line 176): false] if (...) ...
|
|
|
|
# 185| [finally: exception(Exception), b1 (line 176): true] {...}
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true] if (...) ...
|
|
|
|
# 185| [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
|
|
|
|
# 186| [b1 (line 176): false] if (...) ...
|
|
#-----| -> [b1 (line 176): false] access to parameter b2
|
|
|
|
# 186| [finally: exception(Exception), b1 (line 176): true] if (...) ...
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true] access to parameter b2
|
|
|
|
# 186| [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b2
|
|
|
|
# 186| [b1 (line 176): false] access to parameter b2
|
|
#-----| true -> [b1 (line 176): false, b2 (line 176): true] object creation of type ExceptionB
|
|
#-----| false -> exit M9 (normal)
|
|
|
|
# 186| [finally: exception(Exception), b1 (line 176): true] access to parameter b2
|
|
#-----| true -> [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
|
|
#-----| exception(Exception) -> exit M9 (abnormal)
|
|
|
|
# 186| [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b2
|
|
#-----| true -> [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
|
|
#-----| exception(ExceptionA) -> exit M9 (abnormal)
|
|
|
|
# 186| [b1 (line 176): false, b2 (line 176): true] throw ...;
|
|
#-----| exception(ExceptionB) -> [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
|
|
|
|
# 186| [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] throw ...;
|
|
#-----| exception(ExceptionB) -> [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
|
|
# 186| [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] throw ...;
|
|
#-----| exception(ExceptionB) -> [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
|
|
# 186| [b1 (line 176): false, b2 (line 176): true] object creation of type ExceptionB
|
|
#-----| exception(Exception) -> [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
|
|
#-----| -> [b1 (line 176): false, b2 (line 176): true] throw ...;
|
|
|
|
# 186| [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
|
|
#-----| exception(Exception) -> [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true, b2 (line 176): true] throw ...;
|
|
|
|
# 186| [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] object creation of type ExceptionB
|
|
#-----| exception(Exception) -> [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true, b2 (line 176): true] throw ...;
|
|
|
|
# 188| [exception: Exception, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
|
|
#-----| match -> [exception: Exception, b1 (line 176): false, b2 (line 176): true] access to parameter b2
|
|
#-----| exception(Exception) -> exit M9 (abnormal)
|
|
|
|
# 188| [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] catch (...) {...}
|
|
#-----| match -> [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] access to parameter b2
|
|
|
|
# 188| [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
#-----| match -> [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
#-----| exception(Exception) -> exit M9 (abnormal)
|
|
|
|
# 188| [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
#-----| match -> [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
|
|
# 188| [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
#-----| match -> [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
#-----| exception(Exception) -> exit M9 (abnormal)
|
|
|
|
# 188| [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] catch (...) {...}
|
|
#-----| match -> [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
|
|
# 188| [exception: Exception, b1 (line 176): false, b2 (line 176): true] access to parameter b2
|
|
#-----| true -> [b1 (line 176): false] {...}
|
|
|
|
# 188| [exception: ExceptionB, b1 (line 176): false, b2 (line 176): true] access to parameter b2
|
|
#-----| true -> [b1 (line 176): false] {...}
|
|
|
|
# 188| [finally: exception(Exception), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
#-----| true -> [finally: exception(Exception), b1 (line 176): true] {...}
|
|
|
|
# 188| [finally: exception(Exception), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
#-----| true -> [finally: exception(Exception), b1 (line 176): true] {...}
|
|
|
|
# 188| [finally: exception(ExceptionA), exception: Exception, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
#-----| true -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
|
|
# 188| [finally: exception(ExceptionA), exception: ExceptionB, b1 (line 176): true, b2 (line 176): true] access to parameter b2
|
|
#-----| true -> [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
|
|
# 189| [b1 (line 176): false] {...}
|
|
#-----| -> [b1 (line 176): false] if (...) ...
|
|
|
|
# 189| [finally: exception(Exception), b1 (line 176): true] {...}
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true] if (...) ...
|
|
|
|
# 189| [finally: exception(ExceptionA), b1 (line 176): true] {...}
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
|
|
|
|
# 190| [b1 (line 176): false] if (...) ...
|
|
#-----| -> [b1 (line 176): false] access to parameter b1
|
|
|
|
# 190| [finally: exception(Exception), b1 (line 176): true] if (...) ...
|
|
#-----| -> [finally: exception(Exception), b1 (line 176): true] access to parameter b1
|
|
|
|
# 190| [finally: exception(ExceptionA), b1 (line 176): true] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1
|
|
|
|
# 190| [b1 (line 176): false] access to parameter b1
|
|
#-----| false -> exit M9 (normal)
|
|
|
|
# 190| [finally: exception(Exception), b1 (line 176): true] access to parameter b1
|
|
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionC
|
|
|
|
# 190| [finally: exception(ExceptionA), b1 (line 176): true] access to parameter b1
|
|
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionC
|
|
|
|
# 190| [finally: exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M9 (abnormal)
|
|
|
|
# 190| [finally: exception(ExceptionA)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M9 (abnormal)
|
|
|
|
# 190| [finally: exception(Exception)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(Exception)] throw ...;
|
|
|
|
# 190| [finally: exception(ExceptionA)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(ExceptionA)] throw ...;
|
|
|
|
# 195| enter M10
|
|
#-----| -> {...}
|
|
|
|
# 195| exit M10
|
|
|
|
# 195| exit M10 (abnormal)
|
|
#-----| -> exit M10
|
|
|
|
# 195| exit M10 (normal)
|
|
#-----| -> exit M10
|
|
|
|
# 196| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 197| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 198| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 199| if (...) ...
|
|
#-----| -> access to parameter b1
|
|
|
|
# 199| access to parameter b1
|
|
#-----| true -> object creation of type ExceptionA
|
|
#-----| false -> {...}
|
|
|
|
# 199| throw ...;
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 199| object creation of type ExceptionA
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 202| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 202| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] try {...} ...
|
|
|
|
# 202| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] try {...} ...
|
|
|
|
# 203| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 203| [finally: exception(Exception)] try {...} ...
|
|
#-----| -> [finally: exception(Exception)] {...}
|
|
|
|
# 203| [finally: exception(ExceptionA)] try {...} ...
|
|
#-----| -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 204| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 204| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 204| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] if (...) ...
|
|
|
|
# 205| if (...) ...
|
|
#-----| -> access to parameter b2
|
|
|
|
# 205| [finally: exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception)] access to parameter b2
|
|
|
|
# 205| [finally: exception(ExceptionA)] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA)] access to parameter b2
|
|
|
|
# 205| access to parameter b2
|
|
#-----| true -> object creation of type ExceptionB
|
|
#-----| false -> {...}
|
|
|
|
# 205| [finally: exception(Exception)] access to parameter b2
|
|
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionB
|
|
#-----| false -> [finally: exception(Exception)] {...}
|
|
|
|
# 205| [finally: exception(ExceptionA)] access to parameter b2
|
|
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionB
|
|
#-----| false -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 205| throw ...;
|
|
#-----| exception(ExceptionB) -> [finally(1): exception(ExceptionB)] {...}
|
|
|
|
# 205| [finally: exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionB) -> [finally: exception(Exception), finally(1): exception(ExceptionB)] {...}
|
|
|
|
# 205| [finally: exception(ExceptionA)] throw ...;
|
|
#-----| exception(ExceptionB) -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] {...}
|
|
|
|
# 205| object creation of type ExceptionB
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
|
|
|
|
# 205| [finally: exception(Exception)] object creation of type ExceptionB
|
|
#-----| -> [finally: exception(Exception)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception), finally(1): exception(Exception)] {...}
|
|
|
|
# 205| [finally: exception(ExceptionA)] object creation of type ExceptionB
|
|
#-----| -> [finally: exception(ExceptionA)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
|
|
|
|
# 208| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 208| [finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally(1): exception(Exception)] if (...) ...
|
|
|
|
# 208| [finally(1): exception(ExceptionB)] {...}
|
|
#-----| -> [finally(1): exception(ExceptionB)] if (...) ...
|
|
|
|
# 208| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 208| [finally: exception(Exception), finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] if (...) ...
|
|
|
|
# 208| [finally: exception(Exception), finally(1): exception(ExceptionB)] {...}
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionB)] if (...) ...
|
|
|
|
# 208| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] if (...) ...
|
|
|
|
# 208| [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] if (...) ...
|
|
|
|
# 208| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] {...}
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] if (...) ...
|
|
|
|
# 209| if (...) ...
|
|
#-----| -> access to parameter b3
|
|
|
|
# 209| [finally(1): exception(Exception)] if (...) ...
|
|
#-----| -> [finally(1): exception(Exception)] access to parameter b3
|
|
|
|
# 209| [finally(1): exception(ExceptionB)] if (...) ...
|
|
#-----| -> [finally(1): exception(ExceptionB)] access to parameter b3
|
|
|
|
# 209| [finally: exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception)] access to parameter b3
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] access to parameter b3
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] if (...) ...
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionB)] access to parameter b3
|
|
|
|
# 209| [finally: exception(ExceptionA)] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA)] access to parameter b3
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] access to parameter b3
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] access to parameter b3
|
|
|
|
# 209| access to parameter b3
|
|
#-----| true -> object creation of type ExceptionC
|
|
#-----| false -> ...;
|
|
|
|
# 209| [finally(1): exception(Exception)] access to parameter b3
|
|
#-----| true -> [finally(1): exception(Exception)] object creation of type ExceptionC
|
|
#-----| exception(Exception) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally(1): exception(ExceptionB)] access to parameter b3
|
|
#-----| true -> [finally(1): exception(ExceptionB)] object creation of type ExceptionC
|
|
#-----| exception(ExceptionB) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(Exception)] access to parameter b3
|
|
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionC
|
|
#-----| false -> [finally: exception(Exception)] ...;
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(Exception)] access to parameter b3
|
|
#-----| true -> [finally: exception(Exception), finally(1): exception(Exception)] object creation of type ExceptionC
|
|
#-----| exception(Exception) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] access to parameter b3
|
|
#-----| true -> [finally: exception(Exception), finally(1): exception(ExceptionB)] object creation of type ExceptionC
|
|
#-----| exception(ExceptionB) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(ExceptionA)] access to parameter b3
|
|
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionC
|
|
#-----| false -> [finally: exception(ExceptionA)] ...;
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] access to parameter b3
|
|
#-----| true -> [finally: exception(ExceptionA), finally(1): exception(Exception)] object creation of type ExceptionC
|
|
#-----| exception(Exception) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] access to parameter b3
|
|
#-----| true -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] object creation of type ExceptionC
|
|
#-----| exception(ExceptionB) -> exit M10 (abnormal)
|
|
|
|
# 209| throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally(1): exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally(1): exception(ExceptionB)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(ExceptionA)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] throw ...;
|
|
#-----| exception(ExceptionC) -> exit M10 (abnormal)
|
|
|
|
# 209| object creation of type ExceptionC
|
|
#-----| -> throw ...;
|
|
|
|
# 209| [finally(1): exception(Exception)] object creation of type ExceptionC
|
|
#-----| -> [finally(1): exception(Exception)] throw ...;
|
|
|
|
# 209| [finally(1): exception(ExceptionB)] object creation of type ExceptionC
|
|
#-----| -> [finally(1): exception(ExceptionB)] throw ...;
|
|
|
|
# 209| [finally: exception(Exception)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(Exception)] throw ...;
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(Exception)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] throw ...;
|
|
|
|
# 209| [finally: exception(Exception), finally(1): exception(ExceptionB)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionB)] throw ...;
|
|
|
|
# 209| [finally: exception(ExceptionA)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(ExceptionA)] throw ...;
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(Exception)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] throw ...;
|
|
|
|
# 209| [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] object creation of type ExceptionC
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionB)] throw ...;
|
|
|
|
# 211| ...;
|
|
#-----| -> this access
|
|
|
|
# 211| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] this access
|
|
|
|
# 211| [finally: exception(ExceptionA)] ...;
|
|
#-----| -> [finally: exception(ExceptionA)] this access
|
|
|
|
# 211| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 211| [finally: exception(Exception)] ... = ...
|
|
#-----| exception(Exception) -> exit M10 (abnormal)
|
|
|
|
# 211| [finally: exception(ExceptionA)] ... = ...
|
|
#-----| exception(ExceptionA) -> exit M10 (abnormal)
|
|
|
|
# 211| this access
|
|
#-----| -> "0"
|
|
|
|
# 211| [finally: exception(Exception)] this access
|
|
#-----| -> [finally: exception(Exception)] "0"
|
|
|
|
# 211| [finally: exception(ExceptionA)] this access
|
|
#-----| -> [finally: exception(ExceptionA)] "0"
|
|
|
|
# 211| "0"
|
|
#-----| -> ... = ...
|
|
|
|
# 211| [finally: exception(Exception)] "0"
|
|
#-----| -> [finally: exception(Exception)] ... = ...
|
|
|
|
# 211| [finally: exception(ExceptionA)] "0"
|
|
#-----| -> [finally: exception(ExceptionA)] ... = ...
|
|
|
|
# 213| ...;
|
|
#-----| -> this access
|
|
|
|
# 213| ... = ...
|
|
#-----| -> exit M10 (normal)
|
|
|
|
# 213| this access
|
|
#-----| -> "1"
|
|
|
|
# 213| "1"
|
|
#-----| -> ... = ...
|
|
|
|
# 216| enter M11
|
|
#-----| -> {...}
|
|
|
|
# 216| exit M11
|
|
|
|
# 216| exit M11 (normal)
|
|
#-----| -> exit M11
|
|
|
|
# 217| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 218| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 219| {...}
|
|
#-----| -> ...;
|
|
|
|
# 220| ...;
|
|
#-----| -> "Try"
|
|
|
|
# 220| call to method WriteLine
|
|
#-----| exception(Exception) -> catch {...}
|
|
#-----| -> {...}
|
|
|
|
# 220| "Try"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 222| catch {...}
|
|
#-----| -> {...}
|
|
|
|
# 223| {...}
|
|
#-----| -> ...;
|
|
|
|
# 224| ...;
|
|
#-----| -> "Catch"
|
|
|
|
# 224| call to method WriteLine
|
|
#-----| -> {...}
|
|
|
|
# 224| "Catch"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 227| {...}
|
|
#-----| -> ...;
|
|
|
|
# 228| ...;
|
|
#-----| -> "Finally"
|
|
|
|
# 228| call to method WriteLine
|
|
#-----| -> ...;
|
|
|
|
# 228| "Finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 230| ...;
|
|
#-----| -> "Done"
|
|
|
|
# 230| call to method WriteLine
|
|
#-----| -> exit M11 (normal)
|
|
|
|
# 230| "Done"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 233| enter M12
|
|
#-----| -> {...}
|
|
|
|
# 233| exit M12
|
|
|
|
# 233| exit M12 (abnormal)
|
|
#-----| -> exit M12
|
|
|
|
# 233| exit M12 (normal)
|
|
#-----| -> exit M12
|
|
|
|
# 234| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 235| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 236| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 237| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 238| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 239| if (...) ...
|
|
#-----| -> access to parameter b1
|
|
|
|
# 239| access to parameter b1
|
|
#-----| true -> object creation of type ExceptionA
|
|
#-----| false -> {...}
|
|
|
|
# 240| throw ...;
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 240| object creation of type ExceptionA
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 243| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 243| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] try {...} ...
|
|
|
|
# 243| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] try {...} ...
|
|
|
|
# 244| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 244| [finally: exception(Exception)] try {...} ...
|
|
#-----| -> [finally: exception(Exception)] {...}
|
|
|
|
# 244| [finally: exception(ExceptionA)] try {...} ...
|
|
#-----| -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 245| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 245| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] if (...) ...
|
|
|
|
# 245| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] if (...) ...
|
|
|
|
# 246| if (...) ...
|
|
#-----| -> access to parameter b2
|
|
|
|
# 246| [finally: exception(Exception)] if (...) ...
|
|
#-----| -> [finally: exception(Exception)] access to parameter b2
|
|
|
|
# 246| [finally: exception(ExceptionA)] if (...) ...
|
|
#-----| -> [finally: exception(ExceptionA)] access to parameter b2
|
|
|
|
# 246| access to parameter b2
|
|
#-----| true -> object creation of type ExceptionA
|
|
#-----| false -> {...}
|
|
|
|
# 246| [finally: exception(Exception)] access to parameter b2
|
|
#-----| true -> [finally: exception(Exception)] object creation of type ExceptionA
|
|
#-----| false -> [finally: exception(Exception)] {...}
|
|
|
|
# 246| [finally: exception(ExceptionA)] access to parameter b2
|
|
#-----| true -> [finally: exception(ExceptionA)] object creation of type ExceptionA
|
|
#-----| false -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 247| throw ...;
|
|
#-----| exception(ExceptionA) -> [finally(1): exception(ExceptionA)] {...}
|
|
|
|
# 247| [finally: exception(Exception)] throw ...;
|
|
#-----| exception(ExceptionA) -> [finally: exception(Exception), finally(1): exception(ExceptionA)] {...}
|
|
|
|
# 247| [finally: exception(ExceptionA)] throw ...;
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] {...}
|
|
|
|
# 247| object creation of type ExceptionA
|
|
#-----| -> throw ...;
|
|
#-----| exception(Exception) -> [finally(1): exception(Exception)] {...}
|
|
|
|
# 247| [finally: exception(Exception)] object creation of type ExceptionA
|
|
#-----| -> [finally: exception(Exception)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(Exception), finally(1): exception(Exception)] {...}
|
|
|
|
# 247| [finally: exception(ExceptionA)] object creation of type ExceptionA
|
|
#-----| -> [finally: exception(ExceptionA)] throw ...;
|
|
#-----| exception(Exception) -> [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
|
|
|
|
# 250| {...}
|
|
#-----| -> ...;
|
|
|
|
# 250| [finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally(1): exception(Exception)] ...;
|
|
|
|
# 250| [finally(1): exception(ExceptionA)] {...}
|
|
#-----| -> [finally(1): exception(ExceptionA)] ...;
|
|
|
|
# 250| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 250| [finally: exception(Exception), finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] ...;
|
|
|
|
# 250| [finally: exception(Exception), finally(1): exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionA)] ...;
|
|
|
|
# 250| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] ...;
|
|
|
|
# 250| [finally: exception(ExceptionA), finally(1): exception(Exception)] {...}
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] ...;
|
|
|
|
# 250| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] ...;
|
|
|
|
# 251| ...;
|
|
#-----| -> "Inner finally"
|
|
|
|
# 251| [finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally(1): exception(Exception)] "Inner finally"
|
|
|
|
# 251| [finally(1): exception(ExceptionA)] ...;
|
|
#-----| -> [finally(1): exception(ExceptionA)] "Inner finally"
|
|
|
|
# 251| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] "Inner finally"
|
|
|
|
# 251| [finally: exception(Exception), finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] "Inner finally"
|
|
|
|
# 251| [finally: exception(Exception), finally(1): exception(ExceptionA)] ...;
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionA)] "Inner finally"
|
|
|
|
# 251| [finally: exception(ExceptionA)] ...;
|
|
#-----| -> [finally: exception(ExceptionA)] "Inner finally"
|
|
|
|
# 251| [finally: exception(ExceptionA), finally(1): exception(Exception)] ...;
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] "Inner finally"
|
|
|
|
# 251| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] ...;
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] "Inner finally"
|
|
|
|
# 251| call to method WriteLine
|
|
#-----| -> ...;
|
|
|
|
# 251| [finally(1): exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 251| [finally(1): exception(ExceptionA)] call to method WriteLine
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 251| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 251| [finally: exception(Exception), finally(1): exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 251| [finally: exception(Exception), finally(1): exception(ExceptionA)] call to method WriteLine
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 251| [finally: exception(ExceptionA)] call to method WriteLine
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 251| [finally: exception(ExceptionA), finally(1): exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 251| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] call to method WriteLine
|
|
#-----| exception(ExceptionA) -> [finally: exception(ExceptionA)] {...}
|
|
|
|
# 251| "Inner finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 251| [finally(1): exception(Exception)] "Inner finally"
|
|
#-----| -> [finally(1): exception(Exception)] call to method WriteLine
|
|
|
|
# 251| [finally(1): exception(ExceptionA)] "Inner finally"
|
|
#-----| -> [finally(1): exception(ExceptionA)] call to method WriteLine
|
|
|
|
# 251| [finally: exception(Exception)] "Inner finally"
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 251| [finally: exception(Exception), finally(1): exception(Exception)] "Inner finally"
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(Exception)] call to method WriteLine
|
|
|
|
# 251| [finally: exception(Exception), finally(1): exception(ExceptionA)] "Inner finally"
|
|
#-----| -> [finally: exception(Exception), finally(1): exception(ExceptionA)] call to method WriteLine
|
|
|
|
# 251| [finally: exception(ExceptionA)] "Inner finally"
|
|
#-----| -> [finally: exception(ExceptionA)] call to method WriteLine
|
|
|
|
# 251| [finally: exception(ExceptionA), finally(1): exception(Exception)] "Inner finally"
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(Exception)] call to method WriteLine
|
|
|
|
# 251| [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] "Inner finally"
|
|
#-----| -> [finally: exception(ExceptionA), finally(1): exception(ExceptionA)] call to method WriteLine
|
|
|
|
# 254| ...;
|
|
#-----| -> "Mid finally"
|
|
|
|
# 254| call to method WriteLine
|
|
#-----| -> {...}
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 254| "Mid finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 257| {...}
|
|
#-----| -> ...;
|
|
|
|
# 257| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 257| [finally: exception(ExceptionA)] {...}
|
|
#-----| -> [finally: exception(ExceptionA)] ...;
|
|
|
|
# 258| ...;
|
|
#-----| -> "Outer finally"
|
|
|
|
# 258| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] "Outer finally"
|
|
|
|
# 258| [finally: exception(ExceptionA)] ...;
|
|
#-----| -> [finally: exception(ExceptionA)] "Outer finally"
|
|
|
|
# 258| call to method WriteLine
|
|
#-----| -> ...;
|
|
|
|
# 258| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| exception(Exception) -> exit M12 (abnormal)
|
|
|
|
# 258| [finally: exception(ExceptionA)] call to method WriteLine
|
|
#-----| exception(ExceptionA) -> exit M12 (abnormal)
|
|
|
|
# 258| "Outer finally"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 258| [finally: exception(Exception)] "Outer finally"
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 258| [finally: exception(ExceptionA)] "Outer finally"
|
|
#-----| -> [finally: exception(ExceptionA)] call to method WriteLine
|
|
|
|
# 260| ...;
|
|
#-----| -> "Done"
|
|
|
|
# 260| call to method WriteLine
|
|
#-----| -> exit M12 (normal)
|
|
|
|
# 260| "Done"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 263| enter M13
|
|
#-----| -> {...}
|
|
|
|
# 263| exit M13
|
|
|
|
# 263| exit M13 (abnormal)
|
|
#-----| -> exit M13
|
|
|
|
# 263| exit M13 (normal)
|
|
#-----| -> exit M13
|
|
|
|
# 264| {...}
|
|
#-----| -> try {...} ...
|
|
|
|
# 265| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 266| {...}
|
|
#-----| -> ...;
|
|
|
|
# 267| ...;
|
|
#-----| -> "1"
|
|
|
|
# 267| call to method WriteLine
|
|
#-----| -> {...}
|
|
#-----| exception(Exception) -> [finally: exception(Exception)] {...}
|
|
|
|
# 267| "1"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 270| {...}
|
|
#-----| -> ...;
|
|
|
|
# 270| [finally: exception(Exception)] {...}
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 271| ...;
|
|
#-----| -> "3"
|
|
|
|
# 271| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] "3"
|
|
|
|
# 271| call to method WriteLine
|
|
#-----| -> ...;
|
|
|
|
# 271| [finally: exception(Exception)] call to method WriteLine
|
|
#-----| -> [finally: exception(Exception)] ...;
|
|
|
|
# 271| "3"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 271| [finally: exception(Exception)] "3"
|
|
#-----| -> [finally: exception(Exception)] call to method WriteLine
|
|
|
|
# 272| ...;
|
|
#-----| -> access to parameter i
|
|
|
|
# 272| [finally: exception(Exception)] ...;
|
|
#-----| -> [finally: exception(Exception)] access to parameter i
|
|
|
|
# 272| ... = ...
|
|
#-----| -> exit M13 (normal)
|
|
|
|
# 272| [finally: exception(Exception)] ... = ...
|
|
#-----| exception(Exception) -> exit M13 (abnormal)
|
|
|
|
# 272| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 272| [finally: exception(Exception)] ... + ...
|
|
#-----| -> [finally: exception(Exception)] ... = ...
|
|
|
|
# 272| access to parameter i
|
|
#-----| -> 3
|
|
|
|
# 272| [finally: exception(Exception)] access to parameter i
|
|
#-----| -> [finally: exception(Exception)] 3
|
|
|
|
# 272| 3
|
|
#-----| -> ... + ...
|
|
|
|
# 272| [finally: exception(Exception)] 3
|
|
#-----| -> [finally: exception(Exception)] ... + ...
|
|
|
|
Foreach.cs:
|
|
# 6| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 6| exit M1
|
|
|
|
# 6| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 7| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 8| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
#-----| empty -> exit M1 (normal)
|
|
|
|
# 8| String arg
|
|
#-----| -> ;
|
|
|
|
# 8| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 9| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 12| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 12| exit M2
|
|
|
|
# 12| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 13| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 14| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String _
|
|
#-----| empty -> exit M2 (normal)
|
|
|
|
# 14| String _
|
|
#-----| -> ;
|
|
|
|
# 14| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 15| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 18| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 18| exit M3
|
|
|
|
# 18| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 19| {...}
|
|
#-----| -> access to parameter e
|
|
|
|
# 20| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M3 (normal)
|
|
|
|
# 20| String x
|
|
#-----| -> ;
|
|
|
|
# 20| ... ?? ...
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 20| access to parameter e
|
|
#-----| non-null -> call to method ToArray<String>
|
|
#-----| null -> call to method Empty<String>
|
|
|
|
# 20| call to method ToArray<String>
|
|
#-----| non-null -> ... ?? ...
|
|
#-----| null -> call to method Empty<String>
|
|
|
|
# 20| call to method Empty<String>
|
|
#-----| -> ... ?? ...
|
|
|
|
# 21| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 24| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 24| exit M4
|
|
|
|
# 24| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 25| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 26| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M4 (normal)
|
|
|
|
# 26| (..., ...)
|
|
#-----| -> ;
|
|
|
|
# 26| String x
|
|
#-----| -> Int32 y
|
|
|
|
# 26| Int32 y
|
|
#-----| -> (..., ...)
|
|
|
|
# 26| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 27| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 30| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 30| exit M5
|
|
|
|
# 30| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 31| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 32| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M5 (normal)
|
|
|
|
# 32| (..., ...)
|
|
#-----| -> ;
|
|
|
|
# 32| String x
|
|
#-----| -> Int32 y
|
|
|
|
# 32| Int32 y
|
|
#-----| -> (..., ...)
|
|
|
|
# 32| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 33| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 36| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 36| exit M6
|
|
|
|
# 36| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 37| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 38| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M6 (normal)
|
|
|
|
# 38| (..., ...)
|
|
#-----| -> ;
|
|
|
|
# 38| String x
|
|
#-----| -> Int32 y
|
|
|
|
# 38| Int32 y
|
|
#-----| -> (..., ...)
|
|
|
|
# 38| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 39| ;
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
Initializers.cs:
|
|
# 5| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 5| this access
|
|
#-----| -> access to field H
|
|
|
|
# 5| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 5| this access
|
|
#-----| -> access to field H
|
|
|
|
# 5| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 5| access to field H
|
|
#-----| -> 1
|
|
|
|
# 5| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 5| access to field H
|
|
#-----| -> 1
|
|
|
|
# 5| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 5| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 6| access to property G
|
|
#-----| -> ... = ...
|
|
|
|
# 6| this access
|
|
#-----| -> access to field H
|
|
|
|
# 6| access to property G
|
|
#-----| -> ... = ...
|
|
|
|
# 6| this access
|
|
#-----| -> access to field H
|
|
|
|
# 6| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 6| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 6| ... + ...
|
|
#-----| -> access to property G
|
|
|
|
# 6| access to field H
|
|
#-----| -> 2
|
|
|
|
# 6| ... + ...
|
|
#-----| -> access to property G
|
|
|
|
# 6| access to field H
|
|
#-----| -> 2
|
|
|
|
# 6| 2
|
|
#-----| -> ... + ...
|
|
|
|
# 6| 2
|
|
#-----| -> ... + ...
|
|
|
|
# 8| enter Initializers
|
|
#-----| -> call to constructor Object
|
|
|
|
# 8| call to constructor Object
|
|
#-----| -> this access
|
|
|
|
# 8| exit Initializers
|
|
|
|
# 8| exit Initializers (normal)
|
|
#-----| -> exit Initializers
|
|
|
|
# 8| {...}
|
|
#-----| -> exit Initializers (normal)
|
|
|
|
# 10| enter Initializers
|
|
#-----| -> call to constructor Object
|
|
|
|
# 10| call to constructor Object
|
|
#-----| -> this access
|
|
|
|
# 10| exit Initializers
|
|
|
|
# 10| exit Initializers (normal)
|
|
#-----| -> exit Initializers
|
|
|
|
# 10| {...}
|
|
#-----| -> exit Initializers (normal)
|
|
|
|
# 12| enter M
|
|
#-----| -> {...}
|
|
|
|
# 12| exit M
|
|
|
|
# 12| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 13| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 14| ... ...;
|
|
#-----| -> ""
|
|
|
|
# 14| Initializers i = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 14| object creation of type Initializers
|
|
#-----| -> 0
|
|
|
|
# 14| ""
|
|
#-----| -> object creation of type Initializers
|
|
|
|
# 14| { ..., ... }
|
|
#-----| -> Initializers i = ...
|
|
|
|
# 14| ... = ...
|
|
#-----| -> 1
|
|
|
|
# 14| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 14| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 14| access to property G
|
|
#-----| -> ... = ...
|
|
|
|
# 14| 1
|
|
#-----| -> access to property G
|
|
|
|
# 15| ... ...;
|
|
#-----| -> 2
|
|
|
|
# 15| Initializers[] iz = ...
|
|
#-----| -> exit M (normal)
|
|
|
|
# 15| array creation of type Initializers[]
|
|
#-----| -> access to local variable i
|
|
|
|
# 15| 2
|
|
#-----| -> array creation of type Initializers[]
|
|
|
|
# 15| { ..., ... }
|
|
#-----| -> Initializers[] iz = ...
|
|
|
|
# 15| access to local variable i
|
|
#-----| -> ""
|
|
|
|
# 15| object creation of type Initializers
|
|
#-----| -> { ..., ... }
|
|
|
|
# 15| ""
|
|
#-----| -> object creation of type Initializers
|
|
|
|
# 18| enter H
|
|
#-----| -> 1
|
|
|
|
# 18| ... = ...
|
|
#-----| -> exit H (normal)
|
|
|
|
# 18| exit H
|
|
|
|
# 18| exit H (normal)
|
|
#-----| -> exit H
|
|
|
|
# 18| 1
|
|
#-----| -> ... = ...
|
|
|
|
# 20| enter NoConstructor
|
|
#-----| -> this access
|
|
|
|
# 20| exit NoConstructor
|
|
|
|
# 20| exit NoConstructor (normal)
|
|
#-----| -> exit NoConstructor
|
|
|
|
# 22| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 22| this access
|
|
#-----| -> 0
|
|
|
|
# 22| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 23| ... = ...
|
|
#-----| -> exit NoConstructor (normal)
|
|
|
|
# 23| this access
|
|
#-----| -> 1
|
|
|
|
# 23| 1
|
|
#-----| -> ... = ...
|
|
|
|
# 28| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 28| this access
|
|
#-----| -> 2
|
|
|
|
# 28| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 28| this access
|
|
#-----| -> 2
|
|
|
|
# 28| 2
|
|
#-----| -> ... = ...
|
|
|
|
# 28| 2
|
|
#-----| -> ... = ...
|
|
|
|
# 31| enter Sub
|
|
#-----| -> call to constructor NoConstructor
|
|
|
|
# 31| exit Sub
|
|
|
|
# 31| exit Sub (normal)
|
|
#-----| -> exit Sub
|
|
|
|
# 31| call to constructor NoConstructor
|
|
#-----| -> this access
|
|
|
|
# 31| {...}
|
|
#-----| -> ...;
|
|
|
|
# 31| ...;
|
|
#-----| -> this access
|
|
|
|
# 31| ... = ...
|
|
#-----| -> exit Sub (normal)
|
|
|
|
# 31| this access
|
|
#-----| -> 3
|
|
|
|
# 31| 3
|
|
#-----| -> ... = ...
|
|
|
|
# 33| enter Sub
|
|
#-----| -> call to constructor Sub
|
|
|
|
# 33| exit Sub
|
|
|
|
# 33| exit Sub (normal)
|
|
#-----| -> exit Sub
|
|
|
|
# 33| call to constructor Sub
|
|
#-----| -> {...}
|
|
|
|
# 33| {...}
|
|
#-----| -> ...;
|
|
|
|
# 33| ...;
|
|
#-----| -> this access
|
|
|
|
# 33| ... = ...
|
|
#-----| -> exit Sub (normal)
|
|
|
|
# 33| this access
|
|
#-----| -> access to parameter i
|
|
|
|
# 33| access to parameter i
|
|
#-----| -> ... = ...
|
|
|
|
# 35| enter Sub
|
|
#-----| -> call to constructor NoConstructor
|
|
|
|
# 35| call to constructor NoConstructor
|
|
#-----| -> this access
|
|
|
|
# 35| exit Sub
|
|
|
|
# 35| exit Sub (normal)
|
|
#-----| -> exit Sub
|
|
|
|
# 35| {...}
|
|
#-----| -> ...;
|
|
|
|
# 35| ...;
|
|
#-----| -> this access
|
|
|
|
# 35| ... = ...
|
|
#-----| -> exit Sub (normal)
|
|
|
|
# 35| this access
|
|
#-----| -> access to parameter i
|
|
|
|
# 35| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 35| access to parameter i
|
|
#-----| -> access to parameter j
|
|
|
|
# 35| access to parameter j
|
|
#-----| -> ... + ...
|
|
|
|
# 51| enter Test
|
|
#-----| -> {...}
|
|
|
|
# 51| exit Test
|
|
|
|
# 51| exit Test (normal)
|
|
#-----| -> exit Test
|
|
|
|
# 52| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 54| ... ...;
|
|
#-----| -> object creation of type Dictionary<Int32,String>
|
|
|
|
# 54| Dictionary<Int32,String> dict = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 54| object creation of type Dictionary<Int32,String>
|
|
#-----| -> 0
|
|
|
|
# 54| { ..., ... }
|
|
#-----| -> Dictionary<Int32,String> dict = ...
|
|
|
|
# 54| ... = ...
|
|
#-----| -> 1
|
|
|
|
# 54| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 54| 0
|
|
#-----| -> "Zero"
|
|
|
|
# 54| "Zero"
|
|
#-----| -> access to indexer
|
|
|
|
# 54| ... = ...
|
|
#-----| -> access to parameter i
|
|
|
|
# 54| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 54| 1
|
|
#-----| -> "One"
|
|
|
|
# 54| "One"
|
|
#-----| -> access to indexer
|
|
|
|
# 54| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 54| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 54| ... + ...
|
|
#-----| -> "Two"
|
|
|
|
# 54| access to parameter i
|
|
#-----| -> 2
|
|
|
|
# 54| 2
|
|
#-----| -> ... + ...
|
|
|
|
# 54| "Two"
|
|
#-----| -> access to indexer
|
|
|
|
# 57| ... ...;
|
|
#-----| -> object creation of type Compound
|
|
|
|
# 57| Compound compound = ...
|
|
#-----| -> exit Test (normal)
|
|
|
|
# 57| object creation of type Compound
|
|
#-----| -> 0
|
|
|
|
# 58| { ..., ... }
|
|
#-----| -> Compound compound = ...
|
|
|
|
# 59| ... = ...
|
|
#-----| -> 3
|
|
|
|
# 59| { ..., ... }
|
|
#-----| -> ... = ...
|
|
|
|
# 59| ... = ...
|
|
#-----| -> 1
|
|
|
|
# 59| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 59| 0
|
|
#-----| -> "Zero"
|
|
|
|
# 59| "Zero"
|
|
#-----| -> access to indexer
|
|
|
|
# 59| ... = ...
|
|
#-----| -> access to parameter i
|
|
|
|
# 59| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 59| 1
|
|
#-----| -> "One"
|
|
|
|
# 59| "One"
|
|
#-----| -> access to indexer
|
|
|
|
# 59| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 59| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 59| ... + ...
|
|
#-----| -> "Two"
|
|
|
|
# 59| access to parameter i
|
|
#-----| -> 2
|
|
|
|
# 59| 2
|
|
#-----| -> ... + ...
|
|
|
|
# 59| "Two"
|
|
#-----| -> access to indexer
|
|
|
|
# 60| ... = ...
|
|
#-----| -> 0
|
|
|
|
# 60| access to property DictionaryProperty
|
|
#-----| -> ... = ...
|
|
|
|
# 60| { ..., ... }
|
|
#-----| -> access to property DictionaryProperty
|
|
|
|
# 60| ... = ...
|
|
#-----| -> 2
|
|
|
|
# 60| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 60| 3
|
|
#-----| -> "Three"
|
|
|
|
# 60| "Three"
|
|
#-----| -> access to indexer
|
|
|
|
# 60| ... = ...
|
|
#-----| -> access to parameter i
|
|
|
|
# 60| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 60| 2
|
|
#-----| -> "Two"
|
|
|
|
# 60| "Two"
|
|
#-----| -> access to indexer
|
|
|
|
# 60| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 60| access to indexer
|
|
#-----| -> ... = ...
|
|
|
|
# 60| ... + ...
|
|
#-----| -> "One"
|
|
|
|
# 60| access to parameter i
|
|
#-----| -> 1
|
|
|
|
# 60| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 60| "One"
|
|
#-----| -> access to indexer
|
|
|
|
# 61| ... = ...
|
|
#-----| -> 0
|
|
|
|
# 61| { ..., ... }
|
|
#-----| -> ... = ...
|
|
|
|
# 61| ... = ...
|
|
#-----| -> access to parameter i
|
|
|
|
# 61| 0
|
|
#-----| -> "Zero"
|
|
|
|
# 61| "Zero"
|
|
#-----| -> ... = ...
|
|
|
|
# 61| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 61| ... + ...
|
|
#-----| -> "One"
|
|
|
|
# 61| access to parameter i
|
|
#-----| -> 1
|
|
|
|
# 61| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 61| "One"
|
|
#-----| -> ... = ...
|
|
|
|
# 62| ... = ...
|
|
#-----| -> 1
|
|
|
|
# 62| { ..., ... }
|
|
#-----| -> ... = ...
|
|
|
|
# 62| ... = ...
|
|
#-----| -> 1
|
|
|
|
# 62| 0
|
|
#-----| -> 1
|
|
|
|
# 62| 1
|
|
#-----| -> "i"
|
|
|
|
# 62| "i"
|
|
#-----| -> ... = ...
|
|
|
|
# 62| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 62| 1
|
|
#-----| -> access to parameter i
|
|
|
|
# 62| ... + ...
|
|
#-----| -> "1"
|
|
|
|
# 62| access to parameter i
|
|
#-----| -> 0
|
|
|
|
# 62| 0
|
|
#-----| -> ... + ...
|
|
|
|
# 62| "1"
|
|
#-----| -> ... = ...
|
|
|
|
# 63| ... = ...
|
|
#-----| -> 0
|
|
|
|
# 63| access to property ArrayProperty
|
|
#-----| -> ... = ...
|
|
|
|
# 63| { ..., ... }
|
|
#-----| -> access to property ArrayProperty
|
|
|
|
# 63| ... = ...
|
|
#-----| -> access to parameter i
|
|
|
|
# 63| 1
|
|
#-----| -> "One"
|
|
|
|
# 63| "One"
|
|
#-----| -> ... = ...
|
|
|
|
# 63| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 63| ... + ...
|
|
#-----| -> "Two"
|
|
|
|
# 63| access to parameter i
|
|
#-----| -> 2
|
|
|
|
# 63| 2
|
|
#-----| -> ... + ...
|
|
|
|
# 63| "Two"
|
|
#-----| -> ... = ...
|
|
|
|
# 64| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 64| access to property ArrayProperty2
|
|
#-----| -> ... = ...
|
|
|
|
# 64| { ..., ... }
|
|
#-----| -> access to property ArrayProperty2
|
|
|
|
# 64| ... = ...
|
|
#-----| -> 1
|
|
|
|
# 64| 0
|
|
#-----| -> 1
|
|
|
|
# 64| 1
|
|
#-----| -> "i"
|
|
|
|
# 64| "i"
|
|
#-----| -> ... = ...
|
|
|
|
# 64| ... = ...
|
|
#-----| -> { ..., ... }
|
|
|
|
# 64| 1
|
|
#-----| -> access to parameter i
|
|
|
|
# 64| ... + ...
|
|
#-----| -> "1"
|
|
|
|
# 64| access to parameter i
|
|
#-----| -> 0
|
|
|
|
# 64| 0
|
|
#-----| -> ... + ...
|
|
|
|
# 64| "1"
|
|
#-----| -> ... = ...
|
|
|
|
LoopUnrolling.cs:
|
|
# 7| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 7| exit M1
|
|
|
|
# 7| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 8| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 9| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 9| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> access to parameter args
|
|
|
|
# 9| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 9| access to parameter args
|
|
#-----| -> access to property Length
|
|
|
|
# 9| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 10| return ...;
|
|
#-----| return -> exit M1 (normal)
|
|
|
|
# 11| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
#-----| empty -> exit M1 (normal)
|
|
|
|
# 11| [unroll (line 11)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String arg
|
|
|
|
# 11| String arg
|
|
#-----| -> ...;
|
|
|
|
# 11| access to parameter args
|
|
#-----| -> [unroll (line 11)] foreach (... ... in ...) ...
|
|
|
|
# 12| ...;
|
|
#-----| -> access to local variable arg
|
|
|
|
# 12| call to method WriteLine
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 12| access to local variable arg
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 15| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 15| exit M2
|
|
|
|
# 15| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 16| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 17| ... ...;
|
|
#-----| -> 3
|
|
|
|
# 17| String[] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 17| array creation of type String[]
|
|
#-----| -> "a"
|
|
|
|
# 17| 3
|
|
#-----| -> array creation of type String[]
|
|
|
|
# 17| { ..., ... }
|
|
#-----| -> String[] xs = ...
|
|
|
|
# 17| "a"
|
|
#-----| -> "b"
|
|
|
|
# 17| "b"
|
|
#-----| -> "c"
|
|
|
|
# 17| "c"
|
|
#-----| -> { ..., ... }
|
|
|
|
# 18| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M2 (normal)
|
|
|
|
# 18| [unroll (line 18)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
|
|
# 18| String x
|
|
#-----| -> ...;
|
|
|
|
# 18| access to local variable xs
|
|
#-----| -> [unroll (line 18)] foreach (... ... in ...) ...
|
|
|
|
# 19| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 19| call to method WriteLine
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 19| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 22| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 22| exit M3
|
|
|
|
# 22| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 23| {...}
|
|
#-----| -> access to parameter args
|
|
|
|
# 24| foreach (... ... in ...) ...
|
|
#-----| non-empty -> Char arg
|
|
#-----| empty -> exit M3 (normal)
|
|
|
|
# 24| Char arg
|
|
#-----| -> access to parameter args
|
|
|
|
# 24| access to parameter args
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 25| foreach (... ... in ...) ...
|
|
#-----| empty -> foreach (... ... in ...) ...
|
|
#-----| non-empty -> Char arg0
|
|
|
|
# 25| [unroll (line 25)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> Char arg0
|
|
|
|
# 25| Char arg0
|
|
#-----| -> ...;
|
|
|
|
# 25| access to parameter args
|
|
#-----| -> [unroll (line 25)] foreach (... ... in ...) ...
|
|
|
|
# 26| ...;
|
|
#-----| -> access to local variable arg0
|
|
|
|
# 26| call to method WriteLine
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 26| access to local variable arg0
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 29| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 29| exit M4
|
|
|
|
# 29| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 30| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 31| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 31| String[] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 31| array creation of type String[]
|
|
#-----| -> String[] xs = ...
|
|
|
|
# 31| 0
|
|
#-----| -> array creation of type String[]
|
|
|
|
# 32| [skip (line 32)] foreach (... ... in ...) ...
|
|
#-----| empty -> exit M4 (normal)
|
|
|
|
# 32| access to local variable xs
|
|
#-----| -> [skip (line 32)] foreach (... ... in ...) ...
|
|
|
|
# 36| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 36| exit M5
|
|
|
|
# 36| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 37| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 38| ... ...;
|
|
#-----| -> 3
|
|
|
|
# 38| String[] xs = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 38| array creation of type String[]
|
|
#-----| -> "a"
|
|
|
|
# 38| 3
|
|
#-----| -> array creation of type String[]
|
|
|
|
# 38| { ..., ... }
|
|
#-----| -> String[] xs = ...
|
|
|
|
# 38| "a"
|
|
#-----| -> "b"
|
|
|
|
# 38| "b"
|
|
#-----| -> "c"
|
|
|
|
# 38| "c"
|
|
#-----| -> { ..., ... }
|
|
|
|
# 39| ... ...;
|
|
#-----| -> 3
|
|
|
|
# 39| String[] ys = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 39| array creation of type String[]
|
|
#-----| -> "0"
|
|
|
|
# 39| 3
|
|
#-----| -> array creation of type String[]
|
|
|
|
# 39| { ..., ... }
|
|
#-----| -> String[] ys = ...
|
|
|
|
# 39| "0"
|
|
#-----| -> "1"
|
|
|
|
# 39| "1"
|
|
#-----| -> "2"
|
|
|
|
# 39| "2"
|
|
#-----| -> { ..., ... }
|
|
|
|
# 40| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M5 (normal)
|
|
|
|
# 40| [unroll (line 40)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
|
|
# 40| String x
|
|
#-----| -> access to local variable ys
|
|
|
|
# 40| access to local variable xs
|
|
#-----| -> [unroll (line 40)] foreach (... ... in ...) ...
|
|
|
|
# 41| foreach (... ... in ...) ...
|
|
#-----| empty -> foreach (... ... in ...) ...
|
|
#-----| non-empty -> String y
|
|
|
|
# 41| [unroll (line 41)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String y
|
|
|
|
# 41| String y
|
|
#-----| -> ...;
|
|
|
|
# 41| access to local variable ys
|
|
#-----| -> [unroll (line 41)] foreach (... ... in ...) ...
|
|
|
|
# 42| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 42| call to method WriteLine
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 42| ... + ...
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 42| access to local variable x
|
|
#-----| -> access to local variable y
|
|
|
|
# 42| access to local variable y
|
|
#-----| -> ... + ...
|
|
|
|
# 45| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 46| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 47| ... ...;
|
|
#-----| -> 3
|
|
|
|
# 47| String[] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 47| array creation of type String[]
|
|
#-----| -> "a"
|
|
|
|
# 47| 3
|
|
#-----| -> array creation of type String[]
|
|
|
|
# 47| { ..., ... }
|
|
#-----| -> String[] xs = ...
|
|
|
|
# 47| "a"
|
|
#-----| -> "b"
|
|
|
|
# 47| "b"
|
|
#-----| -> "c"
|
|
|
|
# 47| "c"
|
|
#-----| -> { ..., ... }
|
|
|
|
# 48| [unroll (line 48)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
|
|
# 48| String x
|
|
#-----| -> {...}
|
|
|
|
# 48| access to local variable xs
|
|
#-----| -> [unroll (line 48)] foreach (... ... in ...) ...
|
|
|
|
# 49| {...}
|
|
#-----| -> Label:
|
|
|
|
# 50| Label:
|
|
#-----| -> ...;
|
|
|
|
# 50| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 50| call to method WriteLine
|
|
#-----| -> goto ...;
|
|
|
|
# 50| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 51| goto ...;
|
|
#-----| goto(Label) -> Label:
|
|
|
|
# 55| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 55| exit M7
|
|
|
|
# 55| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 56| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 57| ... ...;
|
|
#-----| -> 3
|
|
|
|
# 57| String[] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 57| array creation of type String[]
|
|
#-----| -> "a"
|
|
|
|
# 57| 3
|
|
#-----| -> array creation of type String[]
|
|
|
|
# 57| { ..., ... }
|
|
#-----| -> String[] xs = ...
|
|
|
|
# 57| "a"
|
|
#-----| -> "b"
|
|
|
|
# 57| "b"
|
|
#-----| -> "c"
|
|
|
|
# 57| "c"
|
|
#-----| -> { ..., ... }
|
|
|
|
# 58| [unroll (line 58)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
|
|
# 58| [b (line 55): false] foreach (... ... in ...) ...
|
|
#-----| non-empty -> [b (line 55): false] String x
|
|
#-----| empty -> exit M7 (normal)
|
|
|
|
# 58| [b (line 55): true] foreach (... ... in ...) ...
|
|
#-----| non-empty -> [b (line 55): true] String x
|
|
#-----| empty -> exit M7 (normal)
|
|
|
|
# 58| String x
|
|
#-----| -> {...}
|
|
|
|
# 58| [b (line 55): false] String x
|
|
#-----| -> [b (line 55): false] {...}
|
|
|
|
# 58| [b (line 55): true] String x
|
|
#-----| -> [b (line 55): true] {...}
|
|
|
|
# 58| access to local variable xs
|
|
#-----| -> [unroll (line 58)] foreach (... ... in ...) ...
|
|
|
|
# 59| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 59| [b (line 55): false] {...}
|
|
#-----| -> [b (line 55): false] if (...) ...
|
|
|
|
# 59| [b (line 55): true] {...}
|
|
#-----| -> [b (line 55): true] if (...) ...
|
|
|
|
# 60| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 60| [b (line 55): false] if (...) ...
|
|
#-----| -> [b (line 55): false] access to parameter b
|
|
|
|
# 60| [b (line 55): true] if (...) ...
|
|
#-----| -> [b (line 55): true] access to parameter b
|
|
|
|
# 60| access to parameter b
|
|
#-----| true -> [b (line 55): true] ...;
|
|
#-----| false -> [b (line 55): false] if (...) ...
|
|
|
|
# 60| [b (line 55): false] access to parameter b
|
|
#-----| false -> [b (line 55): false] if (...) ...
|
|
|
|
# 60| [b (line 55): true] access to parameter b
|
|
#-----| true -> [b (line 55): true] ...;
|
|
|
|
# 61| [b (line 55): true] ...;
|
|
#-----| -> [b (line 55): true] access to local variable x
|
|
|
|
# 61| [b (line 55): true] call to method WriteLine
|
|
#-----| -> [b (line 55): true] if (...) ...
|
|
|
|
# 61| [b (line 55): true] access to local variable x
|
|
#-----| -> [b (line 55): true] call to method WriteLine
|
|
|
|
# 62| [b (line 55): false] if (...) ...
|
|
#-----| -> [b (line 55): false] access to parameter b
|
|
|
|
# 62| [b (line 55): true] if (...) ...
|
|
#-----| -> [b (line 55): true] access to parameter b
|
|
|
|
# 62| [b (line 55): false] access to parameter b
|
|
#-----| false -> [b (line 55): false] foreach (... ... in ...) ...
|
|
|
|
# 62| [b (line 55): true] access to parameter b
|
|
#-----| true -> [b (line 55): true] ...;
|
|
|
|
# 63| [b (line 55): true] ...;
|
|
#-----| -> [b (line 55): true] access to local variable x
|
|
|
|
# 63| [b (line 55): true] call to method WriteLine
|
|
#-----| -> [b (line 55): true] foreach (... ... in ...) ...
|
|
|
|
# 63| [b (line 55): true] access to local variable x
|
|
#-----| -> [b (line 55): true] call to method WriteLine
|
|
|
|
# 67| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 67| exit M8
|
|
|
|
# 67| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 68| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 69| if (...) ...
|
|
#-----| -> access to parameter args
|
|
|
|
# 69| [false] !...
|
|
#-----| false -> ...;
|
|
|
|
# 69| [true] !...
|
|
#-----| true -> return ...;
|
|
|
|
# 69| call to method Any<String>
|
|
#-----| true -> [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 69| access to parameter args
|
|
#-----| -> call to method Any<String>
|
|
|
|
# 70| return ...;
|
|
#-----| return -> exit M8 (normal)
|
|
|
|
# 71| ...;
|
|
#-----| -> access to parameter args
|
|
|
|
# 71| call to method Clear
|
|
#-----| -> access to parameter args
|
|
|
|
# 71| access to parameter args
|
|
#-----| -> call to method Clear
|
|
|
|
# 72| [skip (line 72)] foreach (... ... in ...) ...
|
|
#-----| empty -> exit M8 (normal)
|
|
|
|
# 72| access to parameter args
|
|
#-----| -> [skip (line 72)] foreach (... ... in ...) ...
|
|
|
|
# 76| enter M9
|
|
#-----| -> {...}
|
|
|
|
# 76| exit M9
|
|
|
|
# 76| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 77| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 78| ... ...;
|
|
#-----| -> 2
|
|
|
|
# 78| String[,] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 78| array creation of type String[,]
|
|
#-----| -> String[,] xs = ...
|
|
|
|
# 78| 2
|
|
#-----| -> 0
|
|
|
|
# 78| 0
|
|
#-----| -> array creation of type String[,]
|
|
|
|
# 79| [skip (line 79)] foreach (... ... in ...) ...
|
|
#-----| empty -> exit M9 (normal)
|
|
|
|
# 79| access to local variable xs
|
|
#-----| -> [skip (line 79)] foreach (... ... in ...) ...
|
|
|
|
# 85| enter M10
|
|
#-----| -> {...}
|
|
|
|
# 85| exit M10
|
|
|
|
# 85| exit M10 (normal)
|
|
#-----| -> exit M10
|
|
|
|
# 86| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 87| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 87| String[,] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 87| array creation of type String[,]
|
|
#-----| -> String[,] xs = ...
|
|
|
|
# 87| 0
|
|
#-----| -> 2
|
|
|
|
# 87| 2
|
|
#-----| -> array creation of type String[,]
|
|
|
|
# 88| [skip (line 88)] foreach (... ... in ...) ...
|
|
#-----| empty -> exit M10 (normal)
|
|
|
|
# 88| access to local variable xs
|
|
#-----| -> [skip (line 88)] foreach (... ... in ...) ...
|
|
|
|
# 94| enter M11
|
|
#-----| -> {...}
|
|
|
|
# 94| exit M11
|
|
|
|
# 94| exit M11 (normal)
|
|
#-----| -> exit M11
|
|
|
|
# 95| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 96| ... ...;
|
|
#-----| -> 2
|
|
|
|
# 96| String[,] xs = ...
|
|
#-----| -> access to local variable xs
|
|
|
|
# 96| array creation of type String[,]
|
|
#-----| -> String[,] xs = ...
|
|
|
|
# 96| 2
|
|
#-----| -> 2
|
|
|
|
# 96| 2
|
|
#-----| -> array creation of type String[,]
|
|
|
|
# 97| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit M11 (normal)
|
|
|
|
# 97| [unroll (line 97)] foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
|
|
# 97| String x
|
|
#-----| -> {...}
|
|
|
|
# 97| access to local variable xs
|
|
#-----| -> [unroll (line 97)] foreach (... ... in ...) ...
|
|
|
|
# 98| {...}
|
|
#-----| -> ...;
|
|
|
|
# 99| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 99| call to method WriteLine
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 99| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
MultiImplementationA.cs:
|
|
# 6| throw ...
|
|
#-----| exception(NullReferenceException) -> exit get_P1 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit get_P1 (abnormal)
|
|
|
|
# 6| null
|
|
#-----| -> throw ...
|
|
|
|
# 7| {...}
|
|
#-----| -> null
|
|
|
|
# 7| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit get_P2 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit get_P2 (abnormal)
|
|
|
|
# 7| null
|
|
#-----| -> throw ...;
|
|
|
|
# 7| {...}
|
|
#-----| -> null
|
|
|
|
# 7| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit set_P2 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit set_P2 (abnormal)
|
|
|
|
# 7| null
|
|
#-----| -> throw ...;
|
|
|
|
# 8| throw ...
|
|
#-----| exception(NullReferenceException) -> exit M (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit M (abnormal)
|
|
|
|
# 8| null
|
|
#-----| -> throw ...
|
|
|
|
# 13| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 13| this access
|
|
#-----| -> 0
|
|
|
|
# 13| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 14| access to parameter i
|
|
#-----| -> exit get_Item (normal)
|
|
#-----| -> exit get_Item (normal)
|
|
|
|
# 15| {...}
|
|
#-----| -> access to parameter s
|
|
|
|
# 15| return ...;
|
|
#-----| return -> exit get_Item (normal)
|
|
#-----| return -> exit get_Item (normal)
|
|
|
|
# 15| access to parameter s
|
|
#-----| -> return ...;
|
|
|
|
# 15| {...}
|
|
#-----| -> exit set_Item (normal)
|
|
#-----| -> exit set_Item (normal)
|
|
|
|
# 17| {...}
|
|
#-----| -> M2(...)
|
|
|
|
# 18| enter M2
|
|
#-----| -> 0
|
|
|
|
# 18| M2(...)
|
|
#-----| -> exit M1 (normal)
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 18| exit M2
|
|
|
|
# 18| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 18| 0
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 20| call to constructor Object
|
|
#-----| -> this access
|
|
|
|
# 20| {...}
|
|
#-----| -> ...;
|
|
|
|
# 20| ...;
|
|
#-----| -> this access
|
|
|
|
# 20| ... = ...
|
|
#-----| -> exit C2 (normal)
|
|
#-----| -> exit C2 (normal)
|
|
|
|
# 20| this access
|
|
#-----| -> access to parameter i
|
|
|
|
# 20| access to parameter i
|
|
#-----| -> ... = ...
|
|
|
|
# 21| call to constructor C2
|
|
#-----| -> {...}
|
|
|
|
# 21| 0
|
|
#-----| -> call to constructor C2
|
|
|
|
# 21| {...}
|
|
#-----| -> exit C2 (normal)
|
|
#-----| -> exit C2 (normal)
|
|
|
|
# 22| {...}
|
|
#-----| -> exit ~C2 (normal)
|
|
#-----| -> exit ~C2 (normal)
|
|
|
|
# 23| null
|
|
#-----| -> exit implicit conversion (normal)
|
|
#-----| -> exit implicit conversion (normal)
|
|
|
|
# 24| access to property P
|
|
#-----| -> ... = ...
|
|
|
|
# 24| this access
|
|
#-----| -> 0
|
|
|
|
# 24| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 24| 0
|
|
#-----| -> access to property P
|
|
|
|
# 30| throw ...
|
|
#-----| exception(NullReferenceException) -> exit get_P3 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit get_P3 (abnormal)
|
|
|
|
# 30| null
|
|
#-----| -> throw ...
|
|
|
|
# 36| {...}
|
|
#-----| -> null
|
|
|
|
# 36| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit M1 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit M1 (abnormal)
|
|
|
|
# 36| null
|
|
#-----| -> throw ...;
|
|
|
|
# 37| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 37| exit M2
|
|
|
|
# 37| exit M2 (abnormal)
|
|
#-----| -> exit M2
|
|
|
|
# 37| {...}
|
|
#-----| -> null
|
|
|
|
# 37| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit M2 (abnormal)
|
|
|
|
# 37| null
|
|
#-----| -> throw ...;
|
|
|
|
# 6| enter get_P1
|
|
#-----| -> null
|
|
#-----| -> 0
|
|
|
|
MultiImplementationB.cs:
|
|
# 3| enter get_P1
|
|
#-----| -> null
|
|
#-----| -> 0
|
|
|
|
# 3| 0
|
|
#-----| -> exit get_P1 (normal)
|
|
#-----| -> exit get_P1 (normal)
|
|
|
|
MultiImplementationA.cs:
|
|
# 6| exit get_P1
|
|
|
|
MultiImplementationB.cs:
|
|
# 3| exit get_P1
|
|
|
|
MultiImplementationA.cs:
|
|
# 6| exit get_P1 (abnormal)
|
|
#-----| -> exit get_P1
|
|
#-----| -> exit get_P1
|
|
|
|
MultiImplementationB.cs:
|
|
# 3| exit get_P1 (abnormal)
|
|
#-----| -> exit get_P1
|
|
#-----| -> exit get_P1
|
|
|
|
MultiImplementationA.cs:
|
|
# 6| exit get_P1 (normal)
|
|
#-----| -> exit get_P1
|
|
#-----| -> exit get_P1
|
|
|
|
MultiImplementationB.cs:
|
|
# 3| exit get_P1 (normal)
|
|
#-----| -> exit get_P1
|
|
#-----| -> exit get_P1
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| enter get_P2
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| enter get_P2
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| exit get_P2
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| exit get_P2
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| exit get_P2 (abnormal)
|
|
#-----| -> exit get_P2
|
|
#-----| -> exit get_P2
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| exit get_P2 (abnormal)
|
|
#-----| -> exit get_P2
|
|
#-----| -> exit get_P2
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| exit get_P2 (normal)
|
|
#-----| -> exit get_P2
|
|
#-----| -> exit get_P2
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| exit get_P2 (normal)
|
|
#-----| -> exit get_P2
|
|
#-----| -> exit get_P2
|
|
|
|
# 4| {...}
|
|
#-----| -> 1
|
|
|
|
# 4| return ...;
|
|
#-----| return -> exit get_P2 (normal)
|
|
#-----| return -> exit get_P2 (normal)
|
|
|
|
# 4| 1
|
|
#-----| -> return ...;
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| enter set_P2
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| enter set_P2
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| exit set_P2
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| exit set_P2
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| exit set_P2 (abnormal)
|
|
#-----| -> exit set_P2
|
|
#-----| -> exit set_P2
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| exit set_P2 (abnormal)
|
|
#-----| -> exit set_P2
|
|
#-----| -> exit set_P2
|
|
|
|
MultiImplementationA.cs:
|
|
# 7| exit set_P2 (normal)
|
|
#-----| -> exit set_P2
|
|
#-----| -> exit set_P2
|
|
|
|
MultiImplementationB.cs:
|
|
# 4| exit set_P2 (normal)
|
|
#-----| -> exit set_P2
|
|
#-----| -> exit set_P2
|
|
|
|
# 4| {...}
|
|
#-----| -> exit set_P2 (normal)
|
|
#-----| -> exit set_P2 (normal)
|
|
|
|
MultiImplementationA.cs:
|
|
# 8| enter M
|
|
#-----| -> null
|
|
#-----| -> 2
|
|
|
|
MultiImplementationB.cs:
|
|
# 5| enter M
|
|
#-----| -> null
|
|
#-----| -> 2
|
|
|
|
MultiImplementationA.cs:
|
|
# 8| exit M
|
|
|
|
MultiImplementationB.cs:
|
|
# 5| exit M
|
|
|
|
MultiImplementationA.cs:
|
|
# 8| exit M (abnormal)
|
|
#-----| -> exit M
|
|
#-----| -> exit M
|
|
|
|
MultiImplementationB.cs:
|
|
# 5| exit M (abnormal)
|
|
#-----| -> exit M
|
|
#-----| -> exit M
|
|
|
|
MultiImplementationA.cs:
|
|
# 8| exit M (normal)
|
|
#-----| -> exit M
|
|
#-----| -> exit M
|
|
|
|
MultiImplementationB.cs:
|
|
# 5| exit M (normal)
|
|
#-----| -> exit M
|
|
#-----| -> exit M
|
|
|
|
# 5| 2
|
|
#-----| -> exit M (normal)
|
|
#-----| -> exit M (normal)
|
|
|
|
# 11| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 11| this access
|
|
#-----| -> 1
|
|
|
|
# 11| 1
|
|
#-----| -> ... = ...
|
|
|
|
MultiImplementationA.cs:
|
|
# 14| enter get_Item
|
|
#-----| -> access to parameter i
|
|
#-----| -> null
|
|
|
|
MultiImplementationB.cs:
|
|
# 12| enter get_Item
|
|
#-----| -> access to parameter i
|
|
#-----| -> null
|
|
|
|
# 12| throw ...
|
|
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
|
|
|
|
MultiImplementationA.cs:
|
|
# 14| exit get_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 12| exit get_Item
|
|
|
|
MultiImplementationA.cs:
|
|
# 14| exit get_Item (abnormal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 12| exit get_Item (abnormal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
MultiImplementationA.cs:
|
|
# 14| exit get_Item (normal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 12| exit get_Item (normal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
# 12| null
|
|
#-----| -> throw ...
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| enter get_Item
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| enter get_Item
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| exit get_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| exit get_Item
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| exit get_Item (abnormal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| exit get_Item (abnormal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| exit get_Item (normal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| exit get_Item (normal)
|
|
#-----| -> exit get_Item
|
|
#-----| -> exit get_Item
|
|
|
|
# 13| {...}
|
|
#-----| -> null
|
|
|
|
# 13| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit get_Item (abnormal)
|
|
|
|
# 13| null
|
|
#-----| -> throw ...;
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| enter set_Item
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| enter set_Item
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| exit set_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| exit set_Item
|
|
|
|
MultiImplementationA.cs:
|
|
# 15| exit set_Item (normal)
|
|
#-----| -> exit set_Item
|
|
#-----| -> exit set_Item
|
|
|
|
MultiImplementationB.cs:
|
|
# 13| exit set_Item (normal)
|
|
#-----| -> exit set_Item
|
|
#-----| -> exit set_Item
|
|
|
|
# 13| {...}
|
|
#-----| -> exit set_Item (normal)
|
|
#-----| -> exit set_Item (normal)
|
|
|
|
MultiImplementationA.cs:
|
|
# 16| enter M1
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationB.cs:
|
|
# 14| enter M1
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationA.cs:
|
|
# 16| exit M1
|
|
|
|
MultiImplementationB.cs:
|
|
# 14| exit M1
|
|
|
|
MultiImplementationA.cs:
|
|
# 16| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
#-----| -> exit M1
|
|
|
|
MultiImplementationB.cs:
|
|
# 14| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
#-----| -> exit M1
|
|
|
|
# 15| {...}
|
|
#-----| -> M2(...)
|
|
|
|
# 16| enter M2
|
|
#-----| -> null
|
|
|
|
# 16| M2(...)
|
|
#-----| -> exit M1 (normal)
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 16| exit M2
|
|
|
|
# 16| exit M2 (abnormal)
|
|
#-----| -> exit M2
|
|
|
|
# 16| throw ...
|
|
#-----| exception(NullReferenceException) -> exit M2 (abnormal)
|
|
|
|
# 16| null
|
|
#-----| -> throw ...
|
|
|
|
MultiImplementationA.cs:
|
|
# 20| enter C2
|
|
#-----| -> call to constructor Object
|
|
#-----| -> call to constructor Object
|
|
|
|
MultiImplementationB.cs:
|
|
# 18| enter C2
|
|
#-----| -> call to constructor Object
|
|
#-----| -> call to constructor Object
|
|
|
|
# 18| call to constructor Object
|
|
#-----| -> this access
|
|
|
|
MultiImplementationA.cs:
|
|
# 20| exit C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 18| exit C2
|
|
|
|
MultiImplementationA.cs:
|
|
# 20| exit C2 (abnormal)
|
|
#-----| -> exit C2
|
|
#-----| -> exit C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 18| exit C2 (abnormal)
|
|
#-----| -> exit C2
|
|
#-----| -> exit C2
|
|
|
|
MultiImplementationA.cs:
|
|
# 20| exit C2 (normal)
|
|
#-----| -> exit C2
|
|
#-----| -> exit C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 18| exit C2 (normal)
|
|
#-----| -> exit C2
|
|
#-----| -> exit C2
|
|
|
|
# 18| {...}
|
|
#-----| -> null
|
|
|
|
# 18| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit C2 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit C2 (abnormal)
|
|
|
|
# 18| null
|
|
#-----| -> throw ...;
|
|
|
|
MultiImplementationA.cs:
|
|
# 21| enter C2
|
|
#-----| -> 0
|
|
#-----| -> 1
|
|
|
|
MultiImplementationB.cs:
|
|
# 19| enter C2
|
|
#-----| -> 0
|
|
#-----| -> 1
|
|
|
|
MultiImplementationA.cs:
|
|
# 21| exit C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 19| exit C2
|
|
|
|
MultiImplementationA.cs:
|
|
# 21| exit C2 (normal)
|
|
#-----| -> exit C2
|
|
#-----| -> exit C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 19| exit C2 (normal)
|
|
#-----| -> exit C2
|
|
#-----| -> exit C2
|
|
|
|
# 19| call to constructor C2
|
|
#-----| -> {...}
|
|
|
|
# 19| 1
|
|
#-----| -> call to constructor C2
|
|
|
|
# 19| {...}
|
|
#-----| -> exit C2 (normal)
|
|
#-----| -> exit C2 (normal)
|
|
|
|
MultiImplementationA.cs:
|
|
# 22| enter ~C2
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationB.cs:
|
|
# 20| enter ~C2
|
|
#-----| -> {...}
|
|
#-----| -> {...}
|
|
|
|
MultiImplementationA.cs:
|
|
# 22| exit ~C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 20| exit ~C2
|
|
|
|
MultiImplementationA.cs:
|
|
# 22| exit ~C2 (abnormal)
|
|
#-----| -> exit ~C2
|
|
#-----| -> exit ~C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 20| exit ~C2 (abnormal)
|
|
#-----| -> exit ~C2
|
|
#-----| -> exit ~C2
|
|
|
|
MultiImplementationA.cs:
|
|
# 22| exit ~C2 (normal)
|
|
#-----| -> exit ~C2
|
|
#-----| -> exit ~C2
|
|
|
|
MultiImplementationB.cs:
|
|
# 20| exit ~C2 (normal)
|
|
#-----| -> exit ~C2
|
|
#-----| -> exit ~C2
|
|
|
|
# 20| {...}
|
|
#-----| -> null
|
|
|
|
# 20| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit ~C2 (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit ~C2 (abnormal)
|
|
|
|
# 20| null
|
|
#-----| -> throw ...;
|
|
|
|
MultiImplementationA.cs:
|
|
# 23| enter implicit conversion
|
|
#-----| -> null
|
|
#-----| -> null
|
|
|
|
MultiImplementationB.cs:
|
|
# 21| enter implicit conversion
|
|
#-----| -> null
|
|
#-----| -> null
|
|
|
|
MultiImplementationA.cs:
|
|
# 23| exit implicit conversion
|
|
|
|
MultiImplementationB.cs:
|
|
# 21| exit implicit conversion
|
|
|
|
MultiImplementationA.cs:
|
|
# 23| exit implicit conversion (abnormal)
|
|
#-----| -> exit implicit conversion
|
|
#-----| -> exit implicit conversion
|
|
|
|
MultiImplementationB.cs:
|
|
# 21| exit implicit conversion (abnormal)
|
|
#-----| -> exit implicit conversion
|
|
#-----| -> exit implicit conversion
|
|
|
|
MultiImplementationA.cs:
|
|
# 23| exit implicit conversion (normal)
|
|
#-----| -> exit implicit conversion
|
|
#-----| -> exit implicit conversion
|
|
|
|
MultiImplementationB.cs:
|
|
# 21| exit implicit conversion (normal)
|
|
#-----| -> exit implicit conversion
|
|
#-----| -> exit implicit conversion
|
|
|
|
# 21| throw ...
|
|
#-----| exception(NullReferenceException) -> exit implicit conversion (abnormal)
|
|
#-----| exception(NullReferenceException) -> exit implicit conversion (abnormal)
|
|
|
|
# 21| null
|
|
#-----| -> throw ...
|
|
|
|
# 22| access to property P
|
|
#-----| -> ... = ...
|
|
|
|
# 22| this access
|
|
#-----| -> 1
|
|
|
|
# 22| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 22| 1
|
|
#-----| -> access to property P
|
|
|
|
MultiImplementationA.cs:
|
|
# 30| enter get_P3
|
|
#-----| -> null
|
|
|
|
MultiImplementationB.cs:
|
|
# 27| enter get_P3
|
|
#-----| -> null
|
|
|
|
MultiImplementationA.cs:
|
|
# 30| exit get_P3
|
|
|
|
MultiImplementationB.cs:
|
|
# 27| exit get_P3
|
|
|
|
MultiImplementationA.cs:
|
|
# 30| exit get_P3 (abnormal)
|
|
#-----| -> exit get_P3
|
|
#-----| -> exit get_P3
|
|
|
|
MultiImplementationB.cs:
|
|
# 27| exit get_P3 (abnormal)
|
|
#-----| -> exit get_P3
|
|
#-----| -> exit get_P3
|
|
|
|
MultiImplementationA.cs:
|
|
# 36| enter M1
|
|
#-----| -> {...}
|
|
#-----| -> 0
|
|
|
|
MultiImplementationB.cs:
|
|
# 32| enter M1
|
|
#-----| -> {...}
|
|
#-----| -> 0
|
|
|
|
MultiImplementationA.cs:
|
|
# 36| exit M1
|
|
|
|
MultiImplementationB.cs:
|
|
# 32| exit M1
|
|
|
|
MultiImplementationA.cs:
|
|
# 36| exit M1 (abnormal)
|
|
#-----| -> exit M1
|
|
#-----| -> exit M1
|
|
|
|
MultiImplementationB.cs:
|
|
# 32| exit M1 (abnormal)
|
|
#-----| -> exit M1
|
|
#-----| -> exit M1
|
|
|
|
MultiImplementationA.cs:
|
|
# 36| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
#-----| -> exit M1
|
|
|
|
MultiImplementationB.cs:
|
|
# 32| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
#-----| -> exit M1
|
|
|
|
# 32| 0
|
|
#-----| -> exit M1 (normal)
|
|
#-----| -> exit M1 (normal)
|
|
|
|
NullCoalescing.cs:
|
|
# 3| enter M1
|
|
#-----| -> access to parameter i
|
|
|
|
# 3| exit M1
|
|
|
|
# 3| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 3| ... ?? ...
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 3| access to parameter i
|
|
#-----| non-null -> ... ?? ...
|
|
#-----| null -> 0
|
|
|
|
# 3| 0
|
|
#-----| -> ... ?? ...
|
|
|
|
# 5| enter M2
|
|
#-----| -> access to parameter b
|
|
|
|
# 5| exit M2
|
|
|
|
# 5| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 5| ... ? ... : ...
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 5| [false] ... ?? ...
|
|
#-----| false -> 1
|
|
|
|
# 5| [true] ... ?? ...
|
|
#-----| true -> 0
|
|
|
|
# 5| access to parameter b
|
|
#-----| false -> [false] ... ?? ...
|
|
#-----| true -> [true] ... ?? ...
|
|
#-----| null -> false
|
|
|
|
# 5| false
|
|
#-----| false -> [false] ... ?? ...
|
|
|
|
# 5| 0
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 5| 1
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 7| enter M3
|
|
#-----| -> access to parameter s1
|
|
|
|
# 7| exit M3
|
|
|
|
# 7| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 7| ... ?? ...
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 7| access to parameter s1
|
|
#-----| non-null -> ... ?? ...
|
|
#-----| null -> access to parameter s2
|
|
|
|
# 7| ... ?? ...
|
|
#-----| -> ... ?? ...
|
|
|
|
# 7| access to parameter s2
|
|
#-----| non-null -> ... ?? ...
|
|
#-----| null -> ""
|
|
|
|
# 7| ""
|
|
#-----| -> ... ?? ...
|
|
|
|
# 9| enter M4
|
|
#-----| -> access to parameter b
|
|
|
|
# 9| exit M4
|
|
|
|
# 9| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 9| ... ?? ...
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 9| [non-null] ... ? ... : ...
|
|
#-----| non-null -> ... ?? ...
|
|
|
|
# 9| [null] ... ? ... : ...
|
|
#-----| null -> ""
|
|
|
|
# 9| access to parameter b
|
|
#-----| true -> access to parameter s
|
|
#-----| false -> access to parameter s
|
|
|
|
# 9| access to parameter s
|
|
#-----| non-null -> [non-null] ... ? ... : ...
|
|
#-----| null -> [null] ... ? ... : ...
|
|
|
|
# 9| access to parameter s
|
|
#-----| non-null -> [non-null] ... ? ... : ...
|
|
#-----| null -> [null] ... ? ... : ...
|
|
|
|
# 9| ... ?? ...
|
|
#-----| -> ... ?? ...
|
|
|
|
# 9| ""
|
|
#-----| non-null -> ... ?? ...
|
|
|
|
# 11| enter M5
|
|
#-----| -> access to parameter b1
|
|
|
|
# 11| exit M5
|
|
|
|
# 11| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 11| ... ? ... : ...
|
|
#-----| -> exit M5 (normal)
|
|
|
|
# 11| [false] ... ?? ...
|
|
#-----| false -> 1
|
|
|
|
# 11| [true] ... ?? ...
|
|
#-----| true -> 0
|
|
|
|
# 11| access to parameter b1
|
|
#-----| false -> [false] ... ?? ...
|
|
#-----| true -> [true] ... ?? ...
|
|
#-----| null -> access to parameter b2
|
|
|
|
# 11| [false] ... && ...
|
|
#-----| false -> [false] ... ?? ...
|
|
|
|
# 11| [true] ... && ...
|
|
#-----| true -> [true] ... ?? ...
|
|
|
|
# 11| access to parameter b2
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> access to parameter b3
|
|
|
|
# 11| access to parameter b3
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 11| 0
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 11| 1
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 13| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 13| exit M6
|
|
|
|
# 13| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 14| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 15| ... ...;
|
|
#-----| -> null
|
|
|
|
# 15| Int32 j = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 15| ... ?? ...
|
|
#-----| -> Int32 j = ...
|
|
|
|
# 15| (...) ...
|
|
#-----| null -> 0
|
|
|
|
# 15| null
|
|
#-----| -> (...) ...
|
|
|
|
# 15| 0
|
|
#-----| -> ... ?? ...
|
|
|
|
# 16| ... ...;
|
|
#-----| -> ""
|
|
|
|
# 16| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 16| ... ?? ...
|
|
#-----| -> String s = ...
|
|
|
|
# 16| ""
|
|
#-----| non-null -> ... ?? ...
|
|
|
|
# 17| ...;
|
|
#-----| -> access to parameter i
|
|
|
|
# 17| ... = ...
|
|
#-----| -> exit M6 (normal)
|
|
|
|
# 17| ... ?? ...
|
|
#-----| -> ... = ...
|
|
|
|
# 17| (...) ...
|
|
#-----| non-null -> ... ?? ...
|
|
|
|
# 17| access to parameter i
|
|
#-----| -> (...) ...
|
|
|
|
PartialImplementationA.cs:
|
|
# 3| enter Partial
|
|
#-----| -> call to constructor Object
|
|
|
|
# 3| call to constructor Object
|
|
#-----| -> this access
|
|
|
|
# 3| exit Partial
|
|
|
|
# 3| exit Partial (normal)
|
|
#-----| -> exit Partial
|
|
|
|
# 3| {...}
|
|
#-----| -> exit Partial (normal)
|
|
|
|
PartialImplementationB.cs:
|
|
# 3| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 3| this access
|
|
#-----| -> 0
|
|
|
|
# 3| ... = ...
|
|
#-----| -> this access
|
|
|
|
# 3| this access
|
|
#-----| -> 0
|
|
|
|
# 3| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 3| 0
|
|
#-----| -> ... = ...
|
|
|
|
# 4| enter Partial
|
|
#-----| -> call to constructor Object
|
|
|
|
# 4| call to constructor Object
|
|
#-----| -> this access
|
|
|
|
# 4| exit Partial
|
|
|
|
# 4| exit Partial (normal)
|
|
#-----| -> exit Partial
|
|
|
|
# 4| {...}
|
|
#-----| -> exit Partial (normal)
|
|
|
|
# 5| access to property P
|
|
#-----| -> ... = ...
|
|
|
|
# 5| this access
|
|
#-----| -> 0
|
|
|
|
# 5| access to property P
|
|
#-----| -> ... = ...
|
|
|
|
# 5| this access
|
|
#-----| -> 0
|
|
|
|
# 5| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 5| ... = ...
|
|
#-----| -> {...}
|
|
|
|
# 5| 0
|
|
#-----| -> access to property P
|
|
|
|
# 5| 0
|
|
#-----| -> access to property P
|
|
|
|
Patterns.cs:
|
|
# 5| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 5| exit M1
|
|
|
|
# 5| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 6| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 7| ... ...;
|
|
#-----| -> null
|
|
|
|
# 7| Object o = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 7| null
|
|
#-----| -> Object o = ...
|
|
|
|
# 8| if (...) ...
|
|
#-----| -> access to local variable o
|
|
|
|
# 8| [false] ... is ...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 8| [true] ... is ...
|
|
#-----| true -> {...}
|
|
|
|
# 8| access to local variable o
|
|
#-----| -> Int32 i1
|
|
|
|
# 8| Int32 i1
|
|
#-----| no-match -> [false] ... is ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 9| {...}
|
|
#-----| -> ...;
|
|
|
|
# 10| ...;
|
|
#-----| -> "int "
|
|
|
|
# 10| call to method WriteLine
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 10| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 10| "int "
|
|
#-----| -> access to local variable i1
|
|
|
|
# 10| access to local variable i1
|
|
#-----| -> $"..."
|
|
|
|
# 12| if (...) ...
|
|
#-----| -> access to local variable o
|
|
|
|
# 12| [false] ... is ...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 12| [true] ... is ...
|
|
#-----| true -> {...}
|
|
|
|
# 12| access to local variable o
|
|
#-----| -> String s1
|
|
|
|
# 12| String s1
|
|
#-----| no-match -> [false] ... is ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 13| {...}
|
|
#-----| -> ...;
|
|
|
|
# 14| ...;
|
|
#-----| -> "string "
|
|
|
|
# 14| call to method WriteLine
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 14| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 14| "string "
|
|
#-----| -> access to local variable s1
|
|
|
|
# 14| access to local variable s1
|
|
#-----| -> $"..."
|
|
|
|
# 16| if (...) ...
|
|
#-----| -> access to local variable o
|
|
|
|
# 16| [false] ... is ...
|
|
#-----| false -> switch (...) {...}
|
|
|
|
# 16| [true] ... is ...
|
|
#-----| true -> {...}
|
|
|
|
# 16| access to local variable o
|
|
#-----| -> Object v1
|
|
|
|
# 16| Object v1
|
|
#-----| no-match -> [false] ... is ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 17| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 20| switch (...) {...}
|
|
#-----| -> access to local variable o
|
|
|
|
# 20| access to local variable o
|
|
#-----| -> case ...:
|
|
|
|
# 22| case ...:
|
|
#-----| -> "xyz"
|
|
|
|
# 22| "xyz"
|
|
#-----| match -> break;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 23| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 24| case ...:
|
|
#-----| -> Int32 i2
|
|
|
|
# 24| Int32 i2
|
|
#-----| no-match -> case ...:
|
|
#-----| match -> access to local variable i2
|
|
|
|
# 24| ... > ...
|
|
#-----| true -> ...;
|
|
#-----| false -> case ...:
|
|
|
|
# 24| access to local variable i2
|
|
#-----| -> 0
|
|
|
|
# 24| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 25| ...;
|
|
#-----| -> "positive "
|
|
|
|
# 25| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 25| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 25| "positive "
|
|
#-----| -> access to local variable i2
|
|
|
|
# 25| access to local variable i2
|
|
#-----| -> $"..."
|
|
|
|
# 26| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 27| case ...:
|
|
#-----| -> Int32 i3
|
|
|
|
# 27| Int32 i3
|
|
#-----| match -> ...;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 28| ...;
|
|
#-----| -> "int "
|
|
|
|
# 28| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 28| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 28| "int "
|
|
#-----| -> access to local variable i3
|
|
|
|
# 28| access to local variable i3
|
|
#-----| -> $"..."
|
|
|
|
# 29| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 30| case ...:
|
|
#-----| -> String s2
|
|
|
|
# 30| String s2
|
|
#-----| match -> ...;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 31| ...;
|
|
#-----| -> "string "
|
|
|
|
# 31| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 31| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 31| "string "
|
|
#-----| -> access to local variable s2
|
|
|
|
# 31| access to local variable s2
|
|
#-----| -> $"..."
|
|
|
|
# 32| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 33| case ...:
|
|
#-----| -> Object v2
|
|
|
|
# 33| Object v2
|
|
#-----| match -> break;
|
|
#-----| no-match -> default:
|
|
|
|
# 34| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 35| default:
|
|
#-----| -> ...;
|
|
|
|
# 36| ...;
|
|
#-----| -> "Something else"
|
|
|
|
# 36| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 36| "Something else"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 37| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 40| switch (...) {...}
|
|
#-----| -> access to local variable o
|
|
|
|
# 40| access to local variable o
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 47| enter M2
|
|
#-----| -> access to parameter c
|
|
|
|
# 47| exit M2
|
|
|
|
# 47| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 48| ... is ...
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 48| access to parameter c
|
|
#-----| -> a
|
|
|
|
# 48| not ...
|
|
#-----| -> ... is ...
|
|
|
|
# 48| a
|
|
#-----| -> not ...
|
|
|
|
# 50| enter M3
|
|
#-----| -> access to parameter c
|
|
|
|
# 50| exit M3
|
|
|
|
# 50| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 51| ... ? ... : ...
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 51| [false] ... is ...
|
|
#-----| false -> access to parameter c
|
|
|
|
# 51| [true] ... is ...
|
|
#-----| true -> access to parameter c
|
|
|
|
# 51| access to parameter c
|
|
#-----| -> null
|
|
|
|
# 51| [no-match] not ...
|
|
#-----| no-match -> [false] ... is ...
|
|
|
|
# 51| [match] not ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 51| null
|
|
#-----| match -> [no-match] not ...
|
|
#-----| no-match -> [match] not ...
|
|
|
|
# 51| ... is ...
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 51| access to parameter c
|
|
#-----| -> 1
|
|
|
|
# 51| 1
|
|
#-----| -> ... is ...
|
|
|
|
# 51| ... is ...
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 51| access to parameter c
|
|
#-----| -> 2
|
|
|
|
# 51| 2
|
|
#-----| -> ... is ...
|
|
|
|
# 53| enter M4
|
|
#-----| -> access to parameter c
|
|
|
|
# 53| exit M4
|
|
|
|
# 53| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 54| ... is ...
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 54| access to parameter c
|
|
#-----| -> Patterns u
|
|
|
|
# 54| not ...
|
|
#-----| -> ... is ...
|
|
|
|
# 54| { ... }
|
|
#-----| -> not ...
|
|
|
|
# 54| Patterns u
|
|
#-----| no-match -> { ... }
|
|
#-----| match -> 1
|
|
|
|
# 54| [no-match] { ... }
|
|
#-----| no-match -> { ... }
|
|
|
|
# 54| [match] { ... }
|
|
#-----| match -> { ... }
|
|
|
|
# 54| 1
|
|
#-----| no-match -> [no-match] { ... }
|
|
#-----| match -> [match] { ... }
|
|
|
|
# 56| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 56| exit M5
|
|
|
|
# 56| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 57| {...}
|
|
#-----| -> access to parameter i
|
|
|
|
# 58| return ...;
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 58| ... switch { ... }
|
|
#-----| -> return ...;
|
|
|
|
# 58| access to parameter i
|
|
#-----| -> 1
|
|
|
|
# 60| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 60| [no-match] not ...
|
|
#-----| no-match -> _
|
|
|
|
# 60| [match] not ...
|
|
#-----| match -> "not 1"
|
|
|
|
# 60| 1
|
|
#-----| match -> [no-match] not ...
|
|
#-----| no-match -> [match] not ...
|
|
|
|
# 60| "not 1"
|
|
#-----| -> ... => ...
|
|
|
|
# 61| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 61| _
|
|
#-----| match -> "other"
|
|
|
|
# 61| "other"
|
|
#-----| -> ... => ...
|
|
|
|
# 65| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 65| exit M6
|
|
|
|
# 65| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 66| {...}
|
|
#-----| -> 2
|
|
|
|
# 67| return ...;
|
|
#-----| return -> exit M6 (normal)
|
|
|
|
# 67| ... switch { ... }
|
|
#-----| -> return ...;
|
|
|
|
# 67| 2
|
|
#-----| -> 2
|
|
|
|
# 69| [no-match] not ...
|
|
#-----| no-match -> 2
|
|
|
|
# 69| 2
|
|
#-----| match -> [no-match] not ...
|
|
|
|
# 70| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 70| 2
|
|
#-----| match -> "possible"
|
|
|
|
# 70| "possible"
|
|
#-----| -> ... => ...
|
|
|
|
# 74| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 74| exit M7
|
|
|
|
# 74| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 75| {...}
|
|
#-----| -> access to parameter i
|
|
|
|
# 76| return ...;
|
|
#-----| return -> exit M7 (normal)
|
|
|
|
# 76| ... switch { ... }
|
|
#-----| -> return ...;
|
|
|
|
# 76| access to parameter i
|
|
#-----| -> 1
|
|
|
|
# 78| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 78| > ...
|
|
#-----| match -> "> 1"
|
|
#-----| no-match -> 0
|
|
|
|
# 78| 1
|
|
#-----| -> > ...
|
|
|
|
# 78| "> 1"
|
|
#-----| -> ... => ...
|
|
|
|
# 79| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 79| < ...
|
|
#-----| match -> "< 0"
|
|
#-----| no-match -> 1
|
|
|
|
# 79| 0
|
|
#-----| -> < ...
|
|
|
|
# 79| "< 0"
|
|
#-----| -> ... => ...
|
|
|
|
# 80| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 80| 1
|
|
#-----| match -> "1"
|
|
#-----| no-match -> _
|
|
|
|
# 80| "1"
|
|
#-----| -> ... => ...
|
|
|
|
# 81| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 81| _
|
|
#-----| match -> "0"
|
|
|
|
# 81| "0"
|
|
#-----| -> ... => ...
|
|
|
|
# 85| enter M8
|
|
#-----| -> access to parameter i
|
|
|
|
# 85| exit M8
|
|
|
|
# 85| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 85| ... ? ... : ...
|
|
#-----| -> exit M8 (normal)
|
|
|
|
# 85| [false] ... is ...
|
|
#-----| false -> "2"
|
|
|
|
# 85| [true] ... is ...
|
|
#-----| true -> "not 2"
|
|
|
|
# 85| access to parameter i
|
|
#-----| -> 1
|
|
|
|
# 85| [no-match] ... or ...
|
|
#-----| no-match -> [false] ... is ...
|
|
|
|
# 85| [match] ... or ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 85| 1
|
|
#-----| match -> [match] ... or ...
|
|
#-----| no-match -> 2
|
|
|
|
# 85| [no-match] not ...
|
|
#-----| no-match -> [no-match] ... or ...
|
|
|
|
# 85| [match] not ...
|
|
#-----| match -> [match] ... or ...
|
|
|
|
# 85| 2
|
|
#-----| match -> [no-match] not ...
|
|
#-----| no-match -> [match] not ...
|
|
|
|
# 85| "not 2"
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 85| "2"
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 87| enter M9
|
|
#-----| -> access to parameter i
|
|
|
|
# 87| exit M9
|
|
|
|
# 87| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 87| ... ? ... : ...
|
|
#-----| -> exit M9 (normal)
|
|
|
|
# 87| [false] ... is ...
|
|
#-----| false -> "not 1"
|
|
|
|
# 87| [true] ... is ...
|
|
#-----| true -> "1"
|
|
|
|
# 87| access to parameter i
|
|
#-----| -> 1
|
|
|
|
# 87| [no-match] ... and ...
|
|
#-----| no-match -> [false] ... is ...
|
|
|
|
# 87| [match] ... and ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 87| 1
|
|
#-----| no-match -> [no-match] ... and ...
|
|
#-----| match -> 2
|
|
|
|
# 87| [no-match] not ...
|
|
#-----| no-match -> [no-match] ... and ...
|
|
|
|
# 87| [match] not ...
|
|
#-----| match -> [match] ... and ...
|
|
|
|
# 87| 2
|
|
#-----| match -> [no-match] not ...
|
|
#-----| no-match -> [match] not ...
|
|
|
|
# 87| "1"
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 87| "not 1"
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 93| enter M10
|
|
#-----| -> {...}
|
|
|
|
# 93| exit M10
|
|
|
|
# 93| exit M10 (normal)
|
|
#-----| -> exit M10
|
|
|
|
# 94| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 95| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 95| [false] ... is ...
|
|
#-----| false -> exit M10 (normal)
|
|
|
|
# 95| [true] ... is ...
|
|
#-----| true -> {...}
|
|
|
|
# 95| this access
|
|
#-----| -> access to constant A
|
|
|
|
# 95| [no-match] { ... }
|
|
#-----| no-match -> [false] ... is ...
|
|
|
|
# 95| [match] { ... }
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 95| [no-match] { ... }
|
|
#-----| no-match -> [no-match] { ... }
|
|
|
|
# 95| [match] { ... }
|
|
#-----| match -> [match] { ... }
|
|
|
|
# 95| [no-match] ... or ...
|
|
#-----| no-match -> [no-match] { ... }
|
|
|
|
# 95| [match] ... or ...
|
|
#-----| match -> [match] { ... }
|
|
|
|
# 95| access to constant A
|
|
#-----| match -> [match] ... or ...
|
|
#-----| no-match -> access to constant B
|
|
|
|
# 95| access to constant B
|
|
#-----| no-match -> [no-match] ... or ...
|
|
#-----| match -> [match] ... or ...
|
|
|
|
# 96| {...}
|
|
#-----| -> ...;
|
|
|
|
# 97| ...;
|
|
#-----| -> "not C"
|
|
|
|
# 97| call to method WriteLine
|
|
#-----| -> exit M10 (normal)
|
|
|
|
# 97| "not C"
|
|
#-----| -> call to method WriteLine
|
|
|
|
PostDominance.cs:
|
|
# 5| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 5| exit M1
|
|
|
|
# 5| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 6| {...}
|
|
#-----| -> ...;
|
|
|
|
# 7| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 7| call to method WriteLine
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 7| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 10| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 10| exit M2
|
|
|
|
# 10| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 11| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 12| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 12| [false] ... is ...
|
|
#-----| false -> ...;
|
|
|
|
# 12| [true] ... is ...
|
|
#-----| true -> return ...;
|
|
|
|
# 12| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 12| null
|
|
#-----| no-match -> [false] ... is ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 13| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 14| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 14| call to method WriteLine
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 14| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 17| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 17| exit M3
|
|
|
|
# 17| exit M3 (abnormal)
|
|
#-----| -> exit M3
|
|
|
|
# 17| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 18| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 19| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 19| [false] ... is ...
|
|
#-----| false -> ...;
|
|
|
|
# 19| [true] ... is ...
|
|
#-----| true -> nameof(...)
|
|
|
|
# 19| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 19| null
|
|
#-----| no-match -> [false] ... is ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 20| throw ...;
|
|
#-----| exception(ArgumentNullException) -> exit M3 (abnormal)
|
|
|
|
# 20| object creation of type ArgumentNullException
|
|
#-----| -> throw ...;
|
|
|
|
# 20| nameof(...)
|
|
#-----| -> object creation of type ArgumentNullException
|
|
|
|
# 21| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 21| call to method WriteLine
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 21| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
Qualifiers.cs:
|
|
# 7| enter Method
|
|
#-----| -> null
|
|
|
|
# 7| exit Method
|
|
|
|
# 7| exit Method (normal)
|
|
#-----| -> exit Method
|
|
|
|
# 7| null
|
|
#-----| -> exit Method (normal)
|
|
|
|
# 8| enter StaticMethod
|
|
#-----| -> null
|
|
|
|
# 8| exit StaticMethod
|
|
|
|
# 8| exit StaticMethod (normal)
|
|
#-----| -> exit StaticMethod
|
|
|
|
# 8| null
|
|
#-----| -> exit StaticMethod (normal)
|
|
|
|
# 10| enter M
|
|
#-----| -> {...}
|
|
|
|
# 10| exit M
|
|
|
|
# 10| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 11| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 12| ... ...;
|
|
#-----| -> this access
|
|
|
|
# 12| Qualifiers q = ...
|
|
#-----| -> ...;
|
|
|
|
# 12| access to field Field
|
|
#-----| -> Qualifiers q = ...
|
|
|
|
# 12| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 13| ...;
|
|
#-----| -> this access
|
|
|
|
# 13| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 13| access to property Property
|
|
#-----| -> ... = ...
|
|
|
|
# 13| this access
|
|
#-----| -> access to property Property
|
|
|
|
# 14| ...;
|
|
#-----| -> this access
|
|
|
|
# 14| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 14| call to method Method
|
|
#-----| -> ... = ...
|
|
|
|
# 14| this access
|
|
#-----| -> call to method Method
|
|
|
|
# 16| ...;
|
|
#-----| -> this access
|
|
|
|
# 16| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 16| access to field Field
|
|
#-----| -> ... = ...
|
|
|
|
# 16| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 17| ...;
|
|
#-----| -> this access
|
|
|
|
# 17| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 17| access to property Property
|
|
#-----| -> ... = ...
|
|
|
|
# 17| this access
|
|
#-----| -> access to property Property
|
|
|
|
# 18| ...;
|
|
#-----| -> this access
|
|
|
|
# 18| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 18| call to method Method
|
|
#-----| -> ... = ...
|
|
|
|
# 18| this access
|
|
#-----| -> call to method Method
|
|
|
|
# 20| ...;
|
|
#-----| -> access to field StaticField
|
|
|
|
# 20| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 20| access to field StaticField
|
|
#-----| -> ... = ...
|
|
|
|
# 21| ...;
|
|
#-----| -> access to property StaticProperty
|
|
|
|
# 21| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 21| access to property StaticProperty
|
|
#-----| -> ... = ...
|
|
|
|
# 22| ...;
|
|
#-----| -> call to method StaticMethod
|
|
|
|
# 22| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 22| call to method StaticMethod
|
|
#-----| -> ... = ...
|
|
|
|
# 24| ...;
|
|
#-----| -> access to field StaticField
|
|
|
|
# 24| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 24| access to field StaticField
|
|
#-----| -> ... = ...
|
|
|
|
# 25| ...;
|
|
#-----| -> access to property StaticProperty
|
|
|
|
# 25| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 25| access to property StaticProperty
|
|
#-----| -> ... = ...
|
|
|
|
# 26| ...;
|
|
#-----| -> call to method StaticMethod
|
|
|
|
# 26| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 26| call to method StaticMethod
|
|
#-----| -> ... = ...
|
|
|
|
# 28| ...;
|
|
#-----| -> access to field StaticField
|
|
|
|
# 28| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 28| access to field Field
|
|
#-----| -> ... = ...
|
|
|
|
# 28| access to field StaticField
|
|
#-----| -> access to field Field
|
|
|
|
# 29| ...;
|
|
#-----| -> access to property StaticProperty
|
|
|
|
# 29| ... = ...
|
|
#-----| -> ...;
|
|
|
|
# 29| access to property Property
|
|
#-----| -> ... = ...
|
|
|
|
# 29| access to property StaticProperty
|
|
#-----| -> access to property Property
|
|
|
|
# 30| ...;
|
|
#-----| -> call to method StaticMethod
|
|
|
|
# 30| ... = ...
|
|
#-----| -> exit M (normal)
|
|
|
|
# 30| call to method Method
|
|
#-----| -> ... = ...
|
|
|
|
# 30| call to method StaticMethod
|
|
#-----| -> call to method Method
|
|
|
|
Switch.cs:
|
|
# 5| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 5| exit M1
|
|
|
|
# 5| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 6| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 7| switch (...) {...}
|
|
#-----| -> access to parameter o
|
|
|
|
# 7| access to parameter o
|
|
#-----| -> exit M1 (normal)
|
|
|
|
# 10| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 10| exit M2
|
|
|
|
# 10| exit M2 (abnormal)
|
|
#-----| -> exit M2
|
|
|
|
# 10| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 11| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 12| switch (...) {...}
|
|
#-----| -> access to parameter o
|
|
|
|
# 12| access to parameter o
|
|
#-----| -> case ...:
|
|
|
|
# 14| case ...:
|
|
#-----| -> "a"
|
|
|
|
# 14| "a"
|
|
#-----| match -> return ...;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 15| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 16| case ...:
|
|
#-----| -> 0
|
|
|
|
# 16| 0
|
|
#-----| match -> object creation of type Exception
|
|
#-----| no-match -> case ...:
|
|
|
|
# 17| throw ...;
|
|
#-----| exception(Exception) -> exit M2 (abnormal)
|
|
|
|
# 17| object creation of type Exception
|
|
#-----| -> throw ...;
|
|
|
|
# 18| case ...:
|
|
#-----| -> null
|
|
|
|
# 18| null
|
|
#-----| match -> goto default;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 19| goto default;
|
|
#-----| goto(default) -> default:
|
|
|
|
# 20| case ...:
|
|
#-----| -> Int32 i
|
|
|
|
# 20| Int32 i
|
|
#-----| match -> if (...) ...
|
|
#-----| no-match -> case ...:
|
|
|
|
# 21| if (...) ...
|
|
#-----| -> access to parameter o
|
|
|
|
# 21| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> 0
|
|
|
|
# 21| access to parameter o
|
|
#-----| -> null
|
|
|
|
# 21| null
|
|
#-----| -> ... == ...
|
|
|
|
# 22| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 23| goto case ...;
|
|
#-----| goto(0) -> case ...:
|
|
|
|
# 23| 0
|
|
#-----| -> goto case ...;
|
|
|
|
# 24| case ...:
|
|
#-----| -> String s
|
|
|
|
# 24| String s
|
|
#-----| no-match -> case ...:
|
|
#-----| match -> access to local variable s
|
|
|
|
# 24| [false] ... && ...
|
|
#-----| false -> case ...:
|
|
|
|
# 24| [true] ... && ...
|
|
#-----| true -> ...;
|
|
|
|
# 24| ... > ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> access to local variable s
|
|
|
|
# 24| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 24| access to local variable s
|
|
#-----| -> access to property Length
|
|
|
|
# 24| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 24| ... != ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 24| access to local variable s
|
|
#-----| -> "a"
|
|
|
|
# 24| "a"
|
|
#-----| -> ... != ...
|
|
|
|
# 25| ...;
|
|
#-----| -> access to local variable s
|
|
|
|
# 25| call to method WriteLine
|
|
#-----| -> return ...;
|
|
|
|
# 25| access to local variable s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 26| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 27| case ...:
|
|
#-----| -> Double d
|
|
|
|
# 27| Double d
|
|
#-----| match -> call to method Throw
|
|
#-----| no-match -> default:
|
|
|
|
# 27| call to method Throw
|
|
#-----| exception(Exception) -> exit M2 (abnormal)
|
|
|
|
# 28| Label:
|
|
#-----| -> return ...;
|
|
|
|
# 29| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 30| default:
|
|
#-----| -> goto ...;
|
|
|
|
# 31| goto ...;
|
|
#-----| goto(Label) -> Label:
|
|
|
|
# 35| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 35| exit M3
|
|
|
|
# 35| exit M3 (abnormal)
|
|
#-----| -> exit M3
|
|
|
|
# 36| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 37| switch (...) {...}
|
|
#-----| -> call to method Throw
|
|
|
|
# 37| call to method Throw
|
|
#-----| exception(Exception) -> exit M3 (abnormal)
|
|
|
|
# 44| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 44| exit M4
|
|
|
|
# 44| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 45| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 46| switch (...) {...}
|
|
#-----| -> access to parameter o
|
|
|
|
# 46| access to parameter o
|
|
#-----| -> case ...:
|
|
|
|
# 48| case ...:
|
|
#-----| -> access to type Int32
|
|
|
|
# 48| access to type Int32
|
|
#-----| match -> break;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 49| break;
|
|
#-----| break -> exit M4 (normal)
|
|
|
|
# 50| case ...:
|
|
#-----| -> access to type Boolean
|
|
|
|
# 50| access to type Boolean
|
|
#-----| match -> access to parameter o
|
|
#-----| no-match -> exit M4 (normal)
|
|
|
|
# 50| ... != ...
|
|
#-----| true -> break;
|
|
#-----| false -> exit M4 (normal)
|
|
|
|
# 50| access to parameter o
|
|
#-----| -> null
|
|
|
|
# 50| null
|
|
#-----| -> ... != ...
|
|
|
|
# 51| break;
|
|
#-----| break -> exit M4 (normal)
|
|
|
|
# 55| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 55| exit M5
|
|
|
|
# 55| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 56| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 57| switch (...) {...}
|
|
#-----| -> 1
|
|
|
|
# 57| ... + ...
|
|
#-----| -> case ...:
|
|
|
|
# 57| 1
|
|
#-----| -> 2
|
|
|
|
# 57| 2
|
|
#-----| -> ... + ...
|
|
|
|
# 59| case ...:
|
|
#-----| -> 2
|
|
|
|
# 59| 2
|
|
#-----| no-match -> case ...:
|
|
|
|
# 61| case ...:
|
|
#-----| -> 3
|
|
|
|
# 61| 3
|
|
#-----| match -> break;
|
|
|
|
# 62| break;
|
|
#-----| break -> exit M5 (normal)
|
|
|
|
# 66| enter M6
|
|
#-----| -> {...}
|
|
|
|
# 66| exit M6
|
|
|
|
# 66| exit M6 (normal)
|
|
#-----| -> exit M6
|
|
|
|
# 67| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 68| switch (...) {...}
|
|
#-----| -> access to parameter s
|
|
|
|
# 68| (...) ...
|
|
#-----| -> case ...:
|
|
|
|
# 68| access to parameter s
|
|
#-----| -> (...) ...
|
|
|
|
# 70| case ...:
|
|
#-----| -> access to type Int32
|
|
|
|
# 70| access to type Int32
|
|
#-----| no-match -> case ...:
|
|
|
|
# 72| case ...:
|
|
#-----| -> ""
|
|
|
|
# 72| ""
|
|
#-----| match -> break;
|
|
#-----| no-match -> exit M6 (normal)
|
|
|
|
# 73| break;
|
|
#-----| break -> exit M6 (normal)
|
|
|
|
# 77| enter M7
|
|
#-----| -> {...}
|
|
|
|
# 77| exit M7
|
|
|
|
# 77| exit M7 (normal)
|
|
#-----| -> exit M7
|
|
|
|
# 78| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 79| switch (...) {...}
|
|
#-----| -> access to parameter i
|
|
|
|
# 79| access to parameter i
|
|
#-----| -> case ...:
|
|
|
|
# 81| case ...:
|
|
#-----| -> 1
|
|
|
|
# 81| 1
|
|
#-----| match -> true
|
|
#-----| no-match -> case ...:
|
|
|
|
# 82| return ...;
|
|
#-----| return -> exit M7 (normal)
|
|
|
|
# 82| true
|
|
#-----| -> return ...;
|
|
|
|
# 83| case ...:
|
|
#-----| -> 2
|
|
|
|
# 83| 2
|
|
#-----| match -> if (...) ...
|
|
#-----| no-match -> false
|
|
|
|
# 84| if (...) ...
|
|
#-----| -> access to parameter j
|
|
|
|
# 84| ... > ...
|
|
#-----| true -> break;
|
|
#-----| false -> true
|
|
|
|
# 84| access to parameter j
|
|
#-----| -> 2
|
|
|
|
# 84| 2
|
|
#-----| -> ... > ...
|
|
|
|
# 85| break;
|
|
#-----| break -> false
|
|
|
|
# 86| return ...;
|
|
#-----| return -> exit M7 (normal)
|
|
|
|
# 86| true
|
|
#-----| -> return ...;
|
|
|
|
# 88| return ...;
|
|
#-----| return -> exit M7 (normal)
|
|
|
|
# 88| false
|
|
#-----| -> return ...;
|
|
|
|
# 91| enter M8
|
|
#-----| -> {...}
|
|
|
|
# 91| exit M8
|
|
|
|
# 91| exit M8 (normal)
|
|
#-----| -> exit M8
|
|
|
|
# 92| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 93| switch (...) {...}
|
|
#-----| -> access to parameter o
|
|
|
|
# 93| access to parameter o
|
|
#-----| -> case ...:
|
|
|
|
# 95| case ...:
|
|
#-----| -> access to type Int32
|
|
|
|
# 95| access to type Int32
|
|
#-----| match -> true
|
|
#-----| no-match -> false
|
|
|
|
# 96| return ...;
|
|
#-----| return -> exit M8 (normal)
|
|
|
|
# 96| true
|
|
#-----| -> return ...;
|
|
|
|
# 98| return ...;
|
|
#-----| return -> exit M8 (normal)
|
|
|
|
# 98| false
|
|
#-----| -> return ...;
|
|
|
|
# 101| enter M9
|
|
#-----| -> {...}
|
|
|
|
# 101| exit M9
|
|
|
|
# 101| exit M9 (normal)
|
|
#-----| -> exit M9
|
|
|
|
# 102| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 103| switch (...) {...}
|
|
#-----| -> access to parameter s
|
|
|
|
# 103| access to parameter s
|
|
#-----| non-null -> access to property Length
|
|
#-----| null -> case ...:
|
|
|
|
# 103| access to property Length
|
|
#-----| -> case ...:
|
|
|
|
# 105| case ...:
|
|
#-----| -> 0
|
|
|
|
# 105| 0
|
|
#-----| match -> 0
|
|
#-----| no-match -> case ...:
|
|
|
|
# 105| return ...;
|
|
#-----| return -> exit M9 (normal)
|
|
|
|
# 105| 0
|
|
#-----| -> return ...;
|
|
|
|
# 106| case ...:
|
|
#-----| -> 1
|
|
|
|
# 106| 1
|
|
#-----| match -> 1
|
|
#-----| no-match -> 1
|
|
|
|
# 106| return ...;
|
|
#-----| return -> exit M9 (normal)
|
|
|
|
# 106| 1
|
|
#-----| -> return ...;
|
|
|
|
# 108| return ...;
|
|
#-----| return -> exit M9 (normal)
|
|
|
|
# 108| -...
|
|
#-----| -> return ...;
|
|
|
|
# 108| 1
|
|
#-----| -> -...
|
|
|
|
# 111| enter Throw
|
|
#-----| -> object creation of type Exception
|
|
|
|
# 111| exit Throw
|
|
|
|
# 111| exit Throw (abnormal)
|
|
#-----| -> exit Throw
|
|
|
|
# 111| throw ...
|
|
#-----| exception(Exception) -> exit Throw (abnormal)
|
|
|
|
# 111| object creation of type Exception
|
|
#-----| -> throw ...
|
|
|
|
# 113| enter M10
|
|
#-----| -> {...}
|
|
|
|
# 113| exit M10
|
|
|
|
# 113| exit M10 (normal)
|
|
#-----| -> exit M10
|
|
|
|
# 114| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 115| switch (...) {...}
|
|
#-----| -> access to parameter s
|
|
|
|
# 115| access to property Length
|
|
#-----| -> case ...:
|
|
|
|
# 115| access to parameter s
|
|
#-----| -> access to property Length
|
|
|
|
# 117| case ...:
|
|
#-----| -> 3
|
|
|
|
# 117| 3
|
|
#-----| no-match -> case ...:
|
|
#-----| match -> access to parameter s
|
|
|
|
# 117| ... == ...
|
|
#-----| true -> 1
|
|
#-----| false -> case ...:
|
|
|
|
# 117| access to parameter s
|
|
#-----| -> "foo"
|
|
|
|
# 117| "foo"
|
|
#-----| -> ... == ...
|
|
|
|
# 117| return ...;
|
|
#-----| return -> exit M10 (normal)
|
|
|
|
# 117| 1
|
|
#-----| -> return ...;
|
|
|
|
# 118| case ...:
|
|
#-----| -> 2
|
|
|
|
# 118| 2
|
|
#-----| no-match -> 1
|
|
#-----| match -> access to parameter s
|
|
|
|
# 118| ... == ...
|
|
#-----| true -> 2
|
|
#-----| false -> 1
|
|
|
|
# 118| access to parameter s
|
|
#-----| -> "fu"
|
|
|
|
# 118| "fu"
|
|
#-----| -> ... == ...
|
|
|
|
# 118| return ...;
|
|
#-----| return -> exit M10 (normal)
|
|
|
|
# 118| 2
|
|
#-----| -> return ...;
|
|
|
|
# 120| return ...;
|
|
#-----| return -> exit M10 (normal)
|
|
|
|
# 120| -...
|
|
#-----| -> return ...;
|
|
|
|
# 120| 1
|
|
#-----| -> -...
|
|
|
|
# 123| enter M11
|
|
#-----| -> {...}
|
|
|
|
# 123| exit M11
|
|
|
|
# 123| exit M11 (normal)
|
|
#-----| -> exit M11
|
|
|
|
# 124| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 125| if (...) ...
|
|
#-----| -> access to parameter o
|
|
|
|
# 125| [false] ... switch { ... }
|
|
#-----| false -> exit M11 (normal)
|
|
|
|
# 125| [true] ... switch { ... }
|
|
#-----| true -> return ...;
|
|
|
|
# 125| access to parameter o
|
|
#-----| -> Boolean b
|
|
|
|
# 125| [false] ... => ...
|
|
#-----| false -> [false] ... switch { ... }
|
|
|
|
# 125| [true] ... => ...
|
|
#-----| true -> [true] ... switch { ... }
|
|
|
|
# 125| Boolean b
|
|
#-----| match -> access to local variable b
|
|
#-----| no-match -> _
|
|
|
|
# 125| access to local variable b
|
|
#-----| false -> [false] ... => ...
|
|
#-----| true -> [true] ... => ...
|
|
|
|
# 125| [false] ... => ...
|
|
#-----| false -> [false] ... switch { ... }
|
|
|
|
# 125| _
|
|
#-----| match -> false
|
|
|
|
# 125| false
|
|
#-----| false -> [false] ... => ...
|
|
|
|
# 126| return ...;
|
|
#-----| return -> exit M11 (normal)
|
|
|
|
# 129| enter M12
|
|
#-----| -> {...}
|
|
|
|
# 129| exit M12
|
|
|
|
# 129| exit M12 (normal)
|
|
#-----| -> exit M12
|
|
|
|
# 130| {...}
|
|
#-----| -> access to parameter o
|
|
|
|
# 131| return ...;
|
|
#-----| return -> exit M12 (normal)
|
|
|
|
# 131| [non-null] ... switch { ... }
|
|
#-----| non-null -> call to method ToString
|
|
|
|
# 131| [null] ... switch { ... }
|
|
#-----| null -> return ...;
|
|
|
|
# 131| access to parameter o
|
|
#-----| -> String s
|
|
|
|
# 131| [non-null] ... => ...
|
|
#-----| non-null -> [non-null] ... switch { ... }
|
|
|
|
# 131| [null] ... => ...
|
|
#-----| null -> [null] ... switch { ... }
|
|
|
|
# 131| String s
|
|
#-----| match -> access to local variable s
|
|
#-----| no-match -> _
|
|
|
|
# 131| access to local variable s
|
|
#-----| non-null -> [non-null] ... => ...
|
|
#-----| null -> [null] ... => ...
|
|
|
|
# 131| [null] ... => ...
|
|
#-----| null -> [null] ... switch { ... }
|
|
|
|
# 131| _
|
|
#-----| match -> null
|
|
|
|
# 131| null
|
|
#-----| null -> [null] ... => ...
|
|
|
|
# 131| call to method ToString
|
|
#-----| -> return ...;
|
|
|
|
# 134| enter M13
|
|
#-----| -> {...}
|
|
|
|
# 134| exit M13
|
|
|
|
# 134| exit M13 (normal)
|
|
#-----| -> exit M13
|
|
|
|
# 135| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 136| switch (...) {...}
|
|
#-----| -> access to parameter i
|
|
|
|
# 136| access to parameter i
|
|
#-----| -> case ...:
|
|
|
|
# 138| default:
|
|
#-----| -> 1
|
|
|
|
# 138| return ...;
|
|
#-----| return -> exit M13 (normal)
|
|
|
|
# 138| -...
|
|
#-----| -> return ...;
|
|
|
|
# 138| 1
|
|
#-----| -> -...
|
|
|
|
# 139| case ...:
|
|
#-----| -> 1
|
|
|
|
# 139| 1
|
|
#-----| match -> 1
|
|
#-----| no-match -> case ...:
|
|
|
|
# 139| return ...;
|
|
#-----| return -> exit M13 (normal)
|
|
|
|
# 139| 1
|
|
#-----| -> return ...;
|
|
|
|
# 140| case ...:
|
|
#-----| -> 2
|
|
|
|
# 140| 2
|
|
#-----| no-match -> default:
|
|
#-----| match -> 2
|
|
|
|
# 140| return ...;
|
|
#-----| return -> exit M13 (normal)
|
|
|
|
# 140| 2
|
|
#-----| -> return ...;
|
|
|
|
# 144| enter M14
|
|
#-----| -> {...}
|
|
|
|
# 144| exit M14
|
|
|
|
# 144| exit M14 (normal)
|
|
#-----| -> exit M14
|
|
|
|
# 145| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 146| switch (...) {...}
|
|
#-----| -> access to parameter i
|
|
|
|
# 146| access to parameter i
|
|
#-----| -> case ...:
|
|
|
|
# 148| case ...:
|
|
#-----| -> 1
|
|
|
|
# 148| 1
|
|
#-----| match -> 1
|
|
#-----| no-match -> case ...:
|
|
|
|
# 148| return ...;
|
|
#-----| return -> exit M14 (normal)
|
|
|
|
# 148| 1
|
|
#-----| -> return ...;
|
|
|
|
# 149| default:
|
|
#-----| -> 1
|
|
|
|
# 149| return ...;
|
|
#-----| return -> exit M14 (normal)
|
|
|
|
# 149| -...
|
|
#-----| -> return ...;
|
|
|
|
# 149| 1
|
|
#-----| -> -...
|
|
|
|
# 150| case ...:
|
|
#-----| -> 2
|
|
|
|
# 150| 2
|
|
#-----| no-match -> default:
|
|
#-----| match -> 2
|
|
|
|
# 150| return ...;
|
|
#-----| return -> exit M14 (normal)
|
|
|
|
# 150| 2
|
|
#-----| -> return ...;
|
|
|
|
# 154| enter M15
|
|
#-----| -> {...}
|
|
|
|
# 154| exit M15
|
|
|
|
# 154| exit M15 (abnormal)
|
|
#-----| -> exit M15
|
|
|
|
# 154| exit M15 (normal)
|
|
#-----| -> exit M15
|
|
|
|
# 155| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 156| ... ...;
|
|
#-----| -> access to parameter b
|
|
|
|
# 156| String s = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 156| ... switch { ... }
|
|
#-----| -> String s = ...
|
|
|
|
# 156| access to parameter b
|
|
#-----| -> true
|
|
|
|
# 156| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 156| true
|
|
#-----| match -> "a"
|
|
#-----| no-match -> false
|
|
|
|
# 156| "a"
|
|
#-----| -> ... => ...
|
|
|
|
# 156| ... => ...
|
|
#-----| -> ... switch { ... }
|
|
|
|
# 156| false
|
|
#-----| match -> "b"
|
|
#-----| exception(InvalidOperationException) -> exit M15 (abnormal)
|
|
|
|
# 156| "b"
|
|
#-----| -> ... => ...
|
|
|
|
# 157| if (...) ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 157| access to parameter b
|
|
#-----| true -> ...;
|
|
#-----| false -> ...;
|
|
|
|
# 158| ...;
|
|
#-----| -> "a = "
|
|
|
|
# 158| call to method WriteLine
|
|
#-----| -> exit M15 (normal)
|
|
|
|
# 158| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 158| "a = "
|
|
#-----| -> access to local variable s
|
|
|
|
# 158| access to local variable s
|
|
#-----| -> $"..."
|
|
|
|
# 160| ...;
|
|
#-----| -> "b = "
|
|
|
|
# 160| call to method WriteLine
|
|
#-----| -> exit M15 (normal)
|
|
|
|
# 160| $"..."
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 160| "b = "
|
|
#-----| -> access to local variable s
|
|
|
|
# 160| access to local variable s
|
|
#-----| -> $"..."
|
|
|
|
TypeAccesses.cs:
|
|
# 3| enter M
|
|
#-----| -> {...}
|
|
|
|
# 3| exit M
|
|
|
|
# 3| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 4| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 5| ... ...;
|
|
#-----| -> access to parameter o
|
|
|
|
# 5| String s = ...
|
|
#-----| -> ...;
|
|
|
|
# 5| (...) ...
|
|
#-----| -> String s = ...
|
|
|
|
# 5| access to parameter o
|
|
#-----| -> (...) ...
|
|
|
|
# 6| ...;
|
|
#-----| -> access to parameter o
|
|
|
|
# 6| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 6| ... as ...
|
|
#-----| -> ... = ...
|
|
|
|
# 6| access to parameter o
|
|
#-----| -> ... as ...
|
|
|
|
# 7| if (...) ...
|
|
#-----| -> access to parameter o
|
|
|
|
# 7| [false] ... is ...
|
|
#-----| false -> ... ...;
|
|
|
|
# 7| [true] ... is ...
|
|
#-----| true -> ;
|
|
|
|
# 7| access to parameter o
|
|
#-----| -> Int32 j
|
|
|
|
# 7| Int32 j
|
|
#-----| no-match -> [false] ... is ...
|
|
#-----| match -> [true] ... is ...
|
|
|
|
# 7| ;
|
|
#-----| -> ... ...;
|
|
|
|
# 8| ... ...;
|
|
#-----| -> typeof(...)
|
|
|
|
# 8| Type t = ...
|
|
#-----| -> exit M (normal)
|
|
|
|
# 8| typeof(...)
|
|
#-----| -> Type t = ...
|
|
|
|
VarDecls.cs:
|
|
# 5| enter M1
|
|
#-----| -> {...}
|
|
|
|
# 5| exit M1
|
|
|
|
# 5| exit M1 (normal)
|
|
#-----| -> exit M1
|
|
|
|
# 6| {...}
|
|
#-----| -> fixed(...) { ... }
|
|
|
|
# 7| fixed(...) { ... }
|
|
#-----| -> access to parameter strings
|
|
|
|
# 7| Char* c1 = ...
|
|
#-----| -> access to parameter strings
|
|
|
|
# 7| (...) ...
|
|
#-----| -> Char* c1 = ...
|
|
|
|
# 7| access to array element
|
|
#-----| -> (...) ...
|
|
|
|
# 7| access to parameter strings
|
|
#-----| -> 0
|
|
|
|
# 7| 0
|
|
#-----| -> access to array element
|
|
|
|
# 7| Char* c2 = ...
|
|
#-----| -> {...}
|
|
|
|
# 7| (...) ...
|
|
#-----| -> Char* c2 = ...
|
|
|
|
# 7| access to array element
|
|
#-----| -> (...) ...
|
|
|
|
# 7| access to parameter strings
|
|
#-----| -> 1
|
|
|
|
# 7| 1
|
|
#-----| -> access to array element
|
|
|
|
# 8| {...}
|
|
#-----| -> access to local variable c1
|
|
|
|
# 9| return ...;
|
|
#-----| return -> exit M1 (normal)
|
|
|
|
# 9| (...) ...
|
|
#-----| -> return ...;
|
|
|
|
# 9| access to local variable c1
|
|
#-----| -> (...) ...
|
|
|
|
# 13| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 13| exit M2
|
|
|
|
# 13| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 14| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 15| ... ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 15| String s1 = ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 15| access to parameter s
|
|
#-----| -> String s1 = ...
|
|
|
|
# 15| String s2 = ...
|
|
#-----| -> access to local variable s1
|
|
|
|
# 15| access to parameter s
|
|
#-----| -> String s2 = ...
|
|
|
|
# 16| return ...;
|
|
#-----| return -> exit M2 (normal)
|
|
|
|
# 16| ... + ...
|
|
#-----| -> return ...;
|
|
|
|
# 16| access to local variable s1
|
|
#-----| -> access to local variable s2
|
|
|
|
# 16| access to local variable s2
|
|
#-----| -> ... + ...
|
|
|
|
# 19| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 19| exit M3
|
|
|
|
# 19| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 20| {...}
|
|
#-----| -> using (...) {...}
|
|
|
|
# 21| using (...) {...}
|
|
#-----| -> object creation of type C
|
|
|
|
# 21| object creation of type C
|
|
#-----| -> ;
|
|
|
|
# 22| ;
|
|
#-----| -> using (...) {...}
|
|
|
|
# 24| using (...) {...}
|
|
#-----| -> object creation of type C
|
|
|
|
# 24| C x = ...
|
|
#-----| -> object creation of type C
|
|
|
|
# 24| object creation of type C
|
|
#-----| -> C x = ...
|
|
|
|
# 24| C y = ...
|
|
#-----| -> access to parameter b
|
|
|
|
# 24| object creation of type C
|
|
#-----| -> C y = ...
|
|
|
|
# 25| return ...;
|
|
#-----| return -> exit M3 (normal)
|
|
|
|
# 25| ... ? ... : ...
|
|
#-----| -> return ...;
|
|
|
|
# 25| access to parameter b
|
|
#-----| true -> access to local variable x
|
|
#-----| false -> access to local variable y
|
|
|
|
# 25| access to local variable x
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 25| access to local variable y
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 28| enter Dispose
|
|
#-----| -> {...}
|
|
|
|
# 28| exit Dispose
|
|
|
|
# 28| exit Dispose (normal)
|
|
#-----| -> exit Dispose
|
|
|
|
# 28| {...}
|
|
#-----| -> exit Dispose (normal)
|
|
|
|
cflow.cs:
|
|
# 5| enter Main
|
|
#-----| -> {...}
|
|
|
|
# 5| exit Main
|
|
|
|
# 5| exit Main (normal)
|
|
#-----| -> exit Main
|
|
|
|
# 6| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 7| ... ...;
|
|
#-----| -> access to parameter args
|
|
|
|
# 7| Int32 a = ...
|
|
#-----| -> ...;
|
|
|
|
# 7| access to property Length
|
|
#-----| -> Int32 a = ...
|
|
|
|
# 7| access to parameter args
|
|
#-----| -> access to property Length
|
|
|
|
# 9| ...;
|
|
#-----| -> object creation of type ControlFlow
|
|
|
|
# 9| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 9| call to method Switch
|
|
#-----| -> ... = ...
|
|
|
|
# 9| object creation of type ControlFlow
|
|
#-----| -> access to local variable a
|
|
|
|
# 9| access to local variable a
|
|
#-----| -> call to method Switch
|
|
|
|
# 11| if (...) ...
|
|
#-----| -> access to local variable a
|
|
|
|
# 11| ... > ...
|
|
#-----| true -> ...;
|
|
#-----| false -> while (...) ...
|
|
|
|
# 11| access to local variable a
|
|
#-----| -> 3
|
|
|
|
# 11| 3
|
|
#-----| -> ... > ...
|
|
|
|
# 12| ...;
|
|
#-----| -> "more than a few"
|
|
|
|
# 12| call to method WriteLine
|
|
#-----| -> while (...) ...
|
|
|
|
# 12| "more than a few"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 14| while (...) ...
|
|
#-----| -> access to local variable a
|
|
|
|
# 14| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> do ... while (...);
|
|
|
|
# 14| access to local variable a
|
|
#-----| -> 0
|
|
|
|
# 14| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 15| {...}
|
|
#-----| -> ...;
|
|
|
|
# 16| ...;
|
|
#-----| -> access to local variable a
|
|
|
|
# 16| call to method WriteLine
|
|
#-----| -> access to local variable a
|
|
|
|
# 16| ... * ...
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 16| ...--
|
|
#-----| -> 100
|
|
|
|
# 16| access to local variable a
|
|
#-----| -> ...--
|
|
|
|
# 16| 100
|
|
#-----| -> ... * ...
|
|
|
|
# 19| do ... while (...);
|
|
#-----| -> {...}
|
|
|
|
# 20| {...}
|
|
#-----| -> ...;
|
|
|
|
# 21| ...;
|
|
#-----| -> access to local variable a
|
|
|
|
# 21| call to method WriteLine
|
|
#-----| -> access to local variable a
|
|
|
|
# 21| -...
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 21| ...++
|
|
#-----| -> -...
|
|
|
|
# 21| access to local variable a
|
|
#-----| -> ...++
|
|
|
|
# 22| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> for (...;...;...) ...
|
|
|
|
# 22| access to local variable a
|
|
#-----| -> 10
|
|
|
|
# 22| 10
|
|
#-----| -> ... < ...
|
|
|
|
# 24| for (...;...;...) ...
|
|
#-----| -> 1
|
|
|
|
# 24| Int32 i = ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 24| 1
|
|
#-----| -> Int32 i = ...
|
|
|
|
# 24| ... <= ...
|
|
#-----| true -> {...}
|
|
#-----| false -> exit Main (normal)
|
|
|
|
# 24| access to local variable i
|
|
#-----| -> 20
|
|
|
|
# 24| 20
|
|
#-----| -> ... <= ...
|
|
|
|
# 24| ...++
|
|
#-----| -> access to local variable i
|
|
|
|
# 24| access to local variable i
|
|
#-----| -> ...++
|
|
|
|
# 25| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 26| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 26| [false] ... && ...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 26| [true] ... && ...
|
|
#-----| true -> ...;
|
|
|
|
# 26| ... == ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> access to local variable i
|
|
|
|
# 26| ... % ...
|
|
#-----| -> 0
|
|
|
|
# 26| access to local variable i
|
|
#-----| -> 3
|
|
|
|
# 26| 3
|
|
#-----| -> ... % ...
|
|
|
|
# 26| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 26| ... == ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 26| ... % ...
|
|
#-----| -> 0
|
|
|
|
# 26| access to local variable i
|
|
#-----| -> 5
|
|
|
|
# 26| 5
|
|
#-----| -> ... % ...
|
|
|
|
# 26| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 27| ...;
|
|
#-----| -> "FizzBuzz"
|
|
|
|
# 27| call to method WriteLine
|
|
#-----| -> access to local variable i
|
|
|
|
# 27| "FizzBuzz"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 28| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 28| ... == ...
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 28| ... % ...
|
|
#-----| -> 0
|
|
|
|
# 28| access to local variable i
|
|
#-----| -> 3
|
|
|
|
# 28| 3
|
|
#-----| -> ... % ...
|
|
|
|
# 28| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 29| ...;
|
|
#-----| -> "Fizz"
|
|
|
|
# 29| call to method WriteLine
|
|
#-----| -> access to local variable i
|
|
|
|
# 29| "Fizz"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 30| if (...) ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 30| ... == ...
|
|
#-----| true -> ...;
|
|
#-----| false -> ...;
|
|
|
|
# 30| ... % ...
|
|
#-----| -> 0
|
|
|
|
# 30| access to local variable i
|
|
#-----| -> 5
|
|
|
|
# 30| 5
|
|
#-----| -> ... % ...
|
|
|
|
# 30| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 31| ...;
|
|
#-----| -> "Buzz"
|
|
|
|
# 31| call to method WriteLine
|
|
#-----| -> access to local variable i
|
|
|
|
# 31| "Buzz"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 33| ...;
|
|
#-----| -> access to local variable i
|
|
|
|
# 33| call to method WriteLine
|
|
#-----| -> access to local variable i
|
|
|
|
# 33| access to local variable i
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 37| enter Switch
|
|
#-----| -> {...}
|
|
|
|
# 37| exit Switch
|
|
|
|
# 37| exit Switch (abnormal)
|
|
#-----| -> exit Switch
|
|
|
|
# 37| exit Switch (normal)
|
|
#-----| -> exit Switch
|
|
|
|
# 38| {...}
|
|
#-----| -> switch (...) {...}
|
|
|
|
# 39| switch (...) {...}
|
|
#-----| -> access to parameter a
|
|
|
|
# 39| access to parameter a
|
|
#-----| -> case ...:
|
|
|
|
# 41| case ...:
|
|
#-----| -> 1
|
|
|
|
# 41| 1
|
|
#-----| match -> ...;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 42| ...;
|
|
#-----| -> "1"
|
|
|
|
# 42| call to method WriteLine
|
|
#-----| -> 2
|
|
|
|
# 42| "1"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 43| goto case ...;
|
|
#-----| goto(2) -> case ...:
|
|
|
|
# 43| 2
|
|
#-----| -> goto case ...;
|
|
|
|
# 44| case ...:
|
|
#-----| -> 2
|
|
|
|
# 44| 2
|
|
#-----| match -> ...;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 45| ...;
|
|
#-----| -> "2"
|
|
|
|
# 45| call to method WriteLine
|
|
#-----| -> 1
|
|
|
|
# 45| "2"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 46| goto case ...;
|
|
#-----| goto(1) -> case ...:
|
|
|
|
# 46| 1
|
|
#-----| -> goto case ...;
|
|
|
|
# 47| case ...:
|
|
#-----| -> 3
|
|
|
|
# 47| 3
|
|
#-----| match -> ...;
|
|
#-----| no-match -> switch (...) {...}
|
|
|
|
# 48| ...;
|
|
#-----| -> "3"
|
|
|
|
# 48| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 48| "3"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 49| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 51| switch (...) {...}
|
|
#-----| -> access to parameter a
|
|
|
|
# 51| access to parameter a
|
|
#-----| -> case ...:
|
|
|
|
# 53| case ...:
|
|
#-----| -> 42
|
|
|
|
# 53| 42
|
|
#-----| match -> ...;
|
|
#-----| no-match -> default:
|
|
|
|
# 54| ...;
|
|
#-----| -> "The answer"
|
|
|
|
# 54| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 54| "The answer"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 55| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 56| default:
|
|
#-----| -> ...;
|
|
|
|
# 57| ...;
|
|
#-----| -> "Not the answer"
|
|
|
|
# 57| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 57| "Not the answer"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 58| break;
|
|
#-----| break -> switch (...) {...}
|
|
|
|
# 60| switch (...) {...}
|
|
#-----| -> this access
|
|
|
|
# 60| call to method Parse
|
|
#-----| -> case ...:
|
|
|
|
# 60| access to field Field
|
|
#-----| -> call to method Parse
|
|
|
|
# 60| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 62| case ...:
|
|
#-----| -> 0
|
|
|
|
# 62| 0
|
|
#-----| match -> if (...) ...
|
|
#-----| no-match -> access to parameter a
|
|
|
|
# 63| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 63| [false] !...
|
|
#-----| false -> break;
|
|
|
|
# 63| [true] !...
|
|
#-----| true -> object creation of type NullReferenceException
|
|
|
|
# 63| ... == ...
|
|
#-----| true -> [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 63| access to field Field
|
|
#-----| -> ""
|
|
|
|
# 63| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 63| ""
|
|
#-----| -> ... == ...
|
|
|
|
# 64| throw ...;
|
|
#-----| exception(NullReferenceException) -> exit Switch (abnormal)
|
|
|
|
# 64| object creation of type NullReferenceException
|
|
#-----| -> throw ...;
|
|
|
|
# 65| break;
|
|
#-----| break -> access to parameter a
|
|
|
|
# 67| return ...;
|
|
#-----| return -> exit Switch (normal)
|
|
|
|
# 67| access to parameter a
|
|
#-----| -> return ...;
|
|
|
|
# 70| enter M
|
|
#-----| -> {...}
|
|
|
|
# 70| exit M
|
|
|
|
# 70| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 71| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 72| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 72| ... == ...
|
|
#-----| true -> return ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 72| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 72| null
|
|
#-----| -> ... == ...
|
|
|
|
# 73| return ...;
|
|
#-----| return -> exit M (normal)
|
|
|
|
# 74| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 74| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> {...}
|
|
|
|
# 74| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 74| access to parameter s
|
|
#-----| -> access to property Length
|
|
|
|
# 74| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 75| {...}
|
|
#-----| -> ...;
|
|
|
|
# 76| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 76| call to method WriteLine
|
|
#-----| -> exit M (normal)
|
|
|
|
# 76| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 79| {...}
|
|
#-----| -> ...;
|
|
|
|
# 80| ...;
|
|
#-----| -> "<empty string>"
|
|
|
|
# 80| call to method WriteLine
|
|
#-----| -> exit M (normal)
|
|
|
|
# 80| "<empty string>"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 84| enter M2
|
|
#-----| -> {...}
|
|
|
|
# 84| exit M2
|
|
|
|
# 84| exit M2 (normal)
|
|
#-----| -> exit M2
|
|
|
|
# 85| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 86| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 86| [false] ... && ...
|
|
#-----| false -> exit M2 (normal)
|
|
|
|
# 86| [true] ... && ...
|
|
#-----| true -> ...;
|
|
|
|
# 86| ... != ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> access to parameter s
|
|
|
|
# 86| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 86| null
|
|
#-----| -> ... != ...
|
|
|
|
# 86| ... > ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 86| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 86| access to parameter s
|
|
#-----| -> access to property Length
|
|
|
|
# 86| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 87| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 87| call to method WriteLine
|
|
#-----| -> exit M2 (normal)
|
|
|
|
# 87| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 90| enter M3
|
|
#-----| -> {...}
|
|
|
|
# 90| exit M3
|
|
|
|
# 90| exit M3 (abnormal)
|
|
#-----| -> exit M3
|
|
|
|
# 90| exit M3 (normal)
|
|
#-----| -> exit M3
|
|
|
|
# 91| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 92| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 92| call to method Equals
|
|
#-----| true -> "s"
|
|
#-----| false -> ...;
|
|
|
|
# 92| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 92| null
|
|
#-----| -> call to method Equals
|
|
|
|
# 93| throw ...;
|
|
#-----| exception(ArgumentNullException) -> exit M3 (abnormal)
|
|
|
|
# 93| object creation of type ArgumentNullException
|
|
#-----| -> throw ...;
|
|
|
|
# 93| "s"
|
|
#-----| -> object creation of type ArgumentNullException
|
|
|
|
# 94| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 94| call to method WriteLine
|
|
#-----| -> if (...) ...
|
|
|
|
# 94| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 96| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 96| ... != ...
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 96| access to field Field
|
|
#-----| -> null
|
|
|
|
# 96| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 96| null
|
|
#-----| -> ... != ...
|
|
|
|
# 97| ...;
|
|
#-----| -> object creation of type ControlFlow
|
|
|
|
# 97| call to method WriteLine
|
|
#-----| -> if (...) ...
|
|
|
|
# 97| access to field Field
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 97| object creation of type ControlFlow
|
|
#-----| -> access to field Field
|
|
|
|
# 99| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 99| ... != ...
|
|
#-----| true -> ...;
|
|
#-----| false -> if (...) ...
|
|
|
|
# 99| access to field Field
|
|
#-----| -> null
|
|
|
|
# 99| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 99| null
|
|
#-----| -> ... != ...
|
|
|
|
# 100| ...;
|
|
#-----| -> this access
|
|
|
|
# 100| call to method WriteLine
|
|
#-----| -> if (...) ...
|
|
|
|
# 100| access to field Field
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 100| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 102| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 102| ... != ...
|
|
#-----| true -> ...;
|
|
#-----| false -> exit M3 (normal)
|
|
|
|
# 102| access to property Prop
|
|
#-----| -> null
|
|
|
|
# 102| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 102| null
|
|
#-----| -> ... != ...
|
|
|
|
# 103| ...;
|
|
#-----| -> this access
|
|
|
|
# 103| call to method WriteLine
|
|
#-----| -> exit M3 (normal)
|
|
|
|
# 103| access to property Prop
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 103| this access
|
|
#-----| -> access to property Prop
|
|
|
|
# 106| enter M4
|
|
#-----| -> {...}
|
|
|
|
# 106| exit M4
|
|
|
|
# 106| exit M4 (normal)
|
|
#-----| -> exit M4
|
|
|
|
# 107| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 108| if (...) ...
|
|
#-----| -> access to parameter s
|
|
|
|
# 108| ... != ...
|
|
#-----| true -> {...}
|
|
#-----| false -> ...;
|
|
|
|
# 108| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 108| null
|
|
#-----| -> ... != ...
|
|
|
|
# 109| {...}
|
|
#-----| -> while (...) ...
|
|
|
|
# 110| while (...) ...
|
|
#-----| -> true
|
|
|
|
# 110| true
|
|
#-----| true -> {...}
|
|
|
|
# 111| {...}
|
|
#-----| -> ...;
|
|
|
|
# 112| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 112| call to method WriteLine
|
|
#-----| -> true
|
|
|
|
# 112| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 116| ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 116| call to method WriteLine
|
|
#-----| -> exit M4 (normal)
|
|
|
|
# 116| access to parameter s
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 119| enter M5
|
|
#-----| -> {...}
|
|
|
|
# 119| exit M5
|
|
|
|
# 119| exit M5 (normal)
|
|
#-----| -> exit M5
|
|
|
|
# 120| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 121| ... ...;
|
|
#-----| -> access to parameter s
|
|
|
|
# 121| String x = ...
|
|
#-----| -> ...;
|
|
|
|
# 121| access to parameter s
|
|
#-----| -> String x = ...
|
|
|
|
# 122| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 122| ... = ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 122| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 122| access to local variable x
|
|
#-----| -> " "
|
|
|
|
# 122| " "
|
|
#-----| -> ... + ...
|
|
|
|
# 123| return ...;
|
|
#-----| return -> exit M5 (normal)
|
|
|
|
# 123| access to local variable x
|
|
#-----| -> return ...;
|
|
|
|
# 127| enter get_Prop
|
|
#-----| -> {...}
|
|
|
|
# 127| exit get_Prop
|
|
|
|
# 127| exit get_Prop (normal)
|
|
#-----| -> exit get_Prop
|
|
|
|
# 127| {...}
|
|
#-----| -> this access
|
|
|
|
# 127| return ...;
|
|
#-----| return -> exit get_Prop (normal)
|
|
|
|
# 127| ... ? ... : ...
|
|
#-----| -> return ...;
|
|
|
|
# 127| ... == ...
|
|
#-----| true -> ""
|
|
#-----| false -> this access
|
|
|
|
# 127| access to field Field
|
|
#-----| -> null
|
|
|
|
# 127| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 127| null
|
|
#-----| -> ... == ...
|
|
|
|
# 127| ""
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 127| access to field Field
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 127| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 127| enter set_Prop
|
|
#-----| -> {...}
|
|
|
|
# 127| exit set_Prop
|
|
|
|
# 127| exit set_Prop (normal)
|
|
#-----| -> exit set_Prop
|
|
|
|
# 127| {...}
|
|
#-----| -> ...;
|
|
|
|
# 127| ...;
|
|
#-----| -> this access
|
|
|
|
# 127| ... = ...
|
|
#-----| -> exit set_Prop (normal)
|
|
|
|
# 127| this access
|
|
#-----| -> access to parameter value
|
|
|
|
# 127| access to parameter value
|
|
#-----| -> ... = ...
|
|
|
|
# 129| enter ControlFlow
|
|
#-----| -> call to constructor Object
|
|
|
|
# 129| call to constructor Object
|
|
#-----| -> {...}
|
|
|
|
# 129| exit ControlFlow
|
|
|
|
# 129| exit ControlFlow (normal)
|
|
#-----| -> exit ControlFlow
|
|
|
|
# 130| {...}
|
|
#-----| -> ...;
|
|
|
|
# 131| ...;
|
|
#-----| -> this access
|
|
|
|
# 131| ... = ...
|
|
#-----| -> exit ControlFlow (normal)
|
|
|
|
# 131| this access
|
|
#-----| -> access to parameter s
|
|
|
|
# 131| access to parameter s
|
|
#-----| -> ... = ...
|
|
|
|
# 134| enter ControlFlow
|
|
#-----| -> access to parameter i
|
|
|
|
# 134| exit ControlFlow
|
|
|
|
# 134| exit ControlFlow (normal)
|
|
#-----| -> exit ControlFlow
|
|
|
|
# 134| call to constructor ControlFlow
|
|
#-----| -> {...}
|
|
|
|
# 134| ... + ...
|
|
#-----| -> call to constructor ControlFlow
|
|
|
|
# 134| (...) ...
|
|
#-----| -> ""
|
|
|
|
# 134| access to parameter i
|
|
#-----| -> (...) ...
|
|
|
|
# 134| ""
|
|
#-----| -> ... + ...
|
|
|
|
# 134| {...}
|
|
#-----| -> exit ControlFlow (normal)
|
|
|
|
# 136| enter ControlFlow
|
|
#-----| -> 0
|
|
|
|
# 136| exit ControlFlow
|
|
|
|
# 136| exit ControlFlow (normal)
|
|
#-----| -> exit ControlFlow
|
|
|
|
# 136| call to constructor ControlFlow
|
|
#-----| -> {...}
|
|
|
|
# 136| ... + ...
|
|
#-----| -> call to constructor ControlFlow
|
|
|
|
# 136| 0
|
|
#-----| -> 1
|
|
|
|
# 136| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 136| {...}
|
|
#-----| -> exit ControlFlow (normal)
|
|
|
|
# 138| enter +
|
|
#-----| -> {...}
|
|
|
|
# 138| exit +
|
|
|
|
# 138| exit + (normal)
|
|
#-----| -> exit +
|
|
|
|
# 139| {...}
|
|
#-----| -> ...;
|
|
|
|
# 140| ...;
|
|
#-----| -> access to parameter x
|
|
|
|
# 140| call to method WriteLine
|
|
#-----| -> access to parameter y
|
|
|
|
# 140| access to parameter x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 141| return ...;
|
|
#-----| return -> exit + (normal)
|
|
|
|
# 141| access to parameter y
|
|
#-----| -> return ...;
|
|
|
|
# 144| enter get_Item
|
|
#-----| -> {...}
|
|
|
|
# 144| exit get_Item
|
|
|
|
# 144| exit get_Item (normal)
|
|
#-----| -> exit get_Item
|
|
|
|
# 144| {...}
|
|
#-----| -> access to parameter i
|
|
|
|
# 144| return ...;
|
|
#-----| return -> exit get_Item (normal)
|
|
|
|
# 144| ... + ...
|
|
#-----| -> return ...;
|
|
|
|
# 144| (...) ...
|
|
#-----| -> ""
|
|
|
|
# 144| access to parameter i
|
|
#-----| -> (...) ...
|
|
|
|
# 144| ""
|
|
#-----| -> ... + ...
|
|
|
|
# 144| enter set_Item
|
|
#-----| -> {...}
|
|
|
|
# 144| exit set_Item
|
|
|
|
# 144| exit set_Item (normal)
|
|
#-----| -> exit set_Item
|
|
|
|
# 144| {...}
|
|
#-----| -> exit set_Item (normal)
|
|
|
|
# 146| enter For
|
|
#-----| -> {...}
|
|
|
|
# 146| exit For
|
|
|
|
# 146| exit For (normal)
|
|
#-----| -> exit For
|
|
|
|
# 147| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 148| ... ...;
|
|
#-----| -> 0
|
|
|
|
# 148| Int32 x = ...
|
|
#-----| -> for (...;...;...) ...
|
|
|
|
# 148| 0
|
|
#-----| -> Int32 x = ...
|
|
|
|
# 149| for (...;...;...) ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 149| ... < ...
|
|
#-----| true -> ...;
|
|
#-----| false -> for (...;...;...) ...
|
|
|
|
# 149| access to local variable x
|
|
#-----| -> 10
|
|
|
|
# 149| 10
|
|
#-----| -> ... < ...
|
|
|
|
# 149| ++...
|
|
#-----| -> access to local variable x
|
|
|
|
# 149| access to local variable x
|
|
#-----| -> ++...
|
|
|
|
# 150| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 150| call to method WriteLine
|
|
#-----| -> access to local variable x
|
|
|
|
# 150| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 152| for (...;...;...) ...
|
|
#-----| -> {...}
|
|
|
|
# 152| ...++
|
|
#-----| -> {...}
|
|
|
|
# 152| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 153| {...}
|
|
#-----| -> ...;
|
|
|
|
# 154| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 154| call to method WriteLine
|
|
#-----| -> if (...) ...
|
|
|
|
# 154| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 155| if (...) ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 155| ... > ...
|
|
#-----| false -> access to local variable x
|
|
#-----| true -> break;
|
|
|
|
# 155| access to local variable x
|
|
#-----| -> 20
|
|
|
|
# 155| 20
|
|
#-----| -> ... > ...
|
|
|
|
# 156| break;
|
|
#-----| break -> for (...;...;...) ...
|
|
|
|
# 159| for (...;...;...) ...
|
|
#-----| -> {...}
|
|
|
|
# 160| {...}
|
|
#-----| -> ...;
|
|
|
|
# 161| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 161| call to method WriteLine
|
|
#-----| -> ...;
|
|
|
|
# 161| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 162| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 162| ...++
|
|
#-----| -> if (...) ...
|
|
|
|
# 162| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 163| if (...) ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 163| ... > ...
|
|
#-----| false -> {...}
|
|
#-----| true -> break;
|
|
|
|
# 163| access to local variable x
|
|
#-----| -> 30
|
|
|
|
# 163| 30
|
|
#-----| -> ... > ...
|
|
|
|
# 164| break;
|
|
#-----| break -> for (...;...;...) ...
|
|
|
|
# 167| for (...;...;...) ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 167| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> for (...;...;...) ...
|
|
|
|
# 167| access to local variable x
|
|
#-----| -> 40
|
|
|
|
# 167| 40
|
|
#-----| -> ... < ...
|
|
|
|
# 168| {...}
|
|
#-----| -> ...;
|
|
|
|
# 169| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 169| call to method WriteLine
|
|
#-----| -> ...;
|
|
|
|
# 169| access to local variable x
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 170| ...;
|
|
#-----| -> access to local variable x
|
|
|
|
# 170| ...++
|
|
#-----| -> access to local variable x
|
|
|
|
# 170| access to local variable x
|
|
#-----| -> ...++
|
|
|
|
# 173| for (...;...;...) ...
|
|
#-----| -> 0
|
|
|
|
# 173| Int32 i = ...
|
|
#-----| -> 0
|
|
|
|
# 173| 0
|
|
#-----| -> Int32 i = ...
|
|
|
|
# 173| Int32 j = ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 173| 0
|
|
#-----| -> Int32 j = ...
|
|
|
|
# 173| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> exit For (normal)
|
|
|
|
# 173| ... + ...
|
|
#-----| -> 10
|
|
|
|
# 173| access to local variable i
|
|
#-----| -> access to local variable j
|
|
|
|
# 173| access to local variable j
|
|
#-----| -> ... + ...
|
|
|
|
# 173| 10
|
|
#-----| -> ... < ...
|
|
|
|
# 173| ...++
|
|
#-----| -> access to local variable j
|
|
|
|
# 173| access to local variable i
|
|
#-----| -> ...++
|
|
|
|
# 173| ...++
|
|
#-----| -> access to local variable i
|
|
|
|
# 173| access to local variable j
|
|
#-----| -> ...++
|
|
|
|
# 174| {...}
|
|
#-----| -> ...;
|
|
|
|
# 175| ...;
|
|
#-----| -> access to local variable i
|
|
|
|
# 175| call to method WriteLine
|
|
#-----| -> access to local variable i
|
|
|
|
# 175| ... + ...
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 175| access to local variable i
|
|
#-----| -> access to local variable j
|
|
|
|
# 175| access to local variable j
|
|
#-----| -> ... + ...
|
|
|
|
# 179| enter Lambdas
|
|
#-----| -> {...}
|
|
|
|
# 179| exit Lambdas
|
|
|
|
# 179| exit Lambdas (normal)
|
|
#-----| -> exit Lambdas
|
|
|
|
# 180| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 181| ... ...;
|
|
#-----| -> (...) => ...
|
|
|
|
# 181| Func<Int32,Int32> y = ...
|
|
#-----| -> ... ...;
|
|
|
|
# 181| enter (...) => ...
|
|
#-----| -> access to parameter x
|
|
|
|
# 181| (...) => ...
|
|
#-----| -> Func<Int32,Int32> y = ...
|
|
|
|
# 181| exit (...) => ...
|
|
|
|
# 181| exit (...) => ... (normal)
|
|
#-----| -> exit (...) => ...
|
|
|
|
# 181| ... + ...
|
|
#-----| -> exit (...) => ... (normal)
|
|
|
|
# 181| access to parameter x
|
|
#-----| -> 1
|
|
|
|
# 181| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 182| ... ...;
|
|
#-----| -> delegate(...) { ... }
|
|
|
|
# 182| Func<Int32,Int32> z = ...
|
|
#-----| -> exit Lambdas (normal)
|
|
|
|
# 182| enter delegate(...) { ... }
|
|
#-----| -> {...}
|
|
|
|
# 182| delegate(...) { ... }
|
|
#-----| -> Func<Int32,Int32> z = ...
|
|
|
|
# 182| exit delegate(...) { ... }
|
|
|
|
# 182| exit delegate(...) { ... } (normal)
|
|
#-----| -> exit delegate(...) { ... }
|
|
|
|
# 182| {...}
|
|
#-----| -> access to parameter x
|
|
|
|
# 182| return ...;
|
|
#-----| return -> exit delegate(...) { ... } (normal)
|
|
|
|
# 182| ... + ...
|
|
#-----| -> return ...;
|
|
|
|
# 182| access to parameter x
|
|
#-----| -> 1
|
|
|
|
# 182| 1
|
|
#-----| -> ... + ...
|
|
|
|
# 185| enter LogicalOr
|
|
#-----| -> {...}
|
|
|
|
# 185| exit LogicalOr
|
|
|
|
# 185| exit LogicalOr (normal)
|
|
#-----| -> exit LogicalOr
|
|
|
|
# 186| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 187| if (...) ...
|
|
#-----| -> 1
|
|
|
|
# 187| [false] ... || ...
|
|
#-----| false -> ...;
|
|
|
|
# 187| [false] ... || ...
|
|
#-----| false -> 1
|
|
|
|
# 187| ... == ...
|
|
#-----| false -> 2
|
|
|
|
# 187| 1
|
|
#-----| -> 2
|
|
|
|
# 187| 2
|
|
#-----| -> ... == ...
|
|
|
|
# 187| ... == ...
|
|
#-----| false -> [false] ... || ...
|
|
|
|
# 187| 2
|
|
#-----| -> 3
|
|
|
|
# 187| 3
|
|
#-----| -> ... == ...
|
|
|
|
# 187| [false] ... && ...
|
|
#-----| false -> [false] ... || ...
|
|
|
|
# 187| ... == ...
|
|
#-----| false -> [false] ... && ...
|
|
|
|
# 187| 1
|
|
#-----| -> 3
|
|
|
|
# 187| 3
|
|
#-----| -> ... == ...
|
|
|
|
# 190| ...;
|
|
#-----| -> "This should happen"
|
|
|
|
# 190| call to method WriteLine
|
|
#-----| -> exit LogicalOr (normal)
|
|
|
|
# 190| "This should happen"
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 193| enter Booleans
|
|
#-----| -> {...}
|
|
|
|
# 193| exit Booleans
|
|
|
|
# 193| exit Booleans (abnormal)
|
|
#-----| -> exit Booleans
|
|
|
|
# 193| exit Booleans (normal)
|
|
#-----| -> exit Booleans
|
|
|
|
# 194| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 195| ... ...;
|
|
#-----| -> this access
|
|
|
|
# 195| Boolean b = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 195| ... && ...
|
|
#-----| -> Boolean b = ...
|
|
|
|
# 195| ... > ...
|
|
#-----| false -> ... && ...
|
|
#-----| true -> this access
|
|
|
|
# 195| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 195| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 195| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 195| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 195| !...
|
|
#-----| -> ... && ...
|
|
|
|
# 195| ... == ...
|
|
#-----| -> !...
|
|
|
|
# 195| access to property Length
|
|
#-----| -> 1
|
|
|
|
# 195| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 195| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 195| 1
|
|
#-----| -> ... == ...
|
|
|
|
# 197| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 197| [false] !...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 197| [true] !...
|
|
#-----| true -> ...;
|
|
|
|
# 197| [false] ... ? ... : ...
|
|
#-----| false -> [true] !...
|
|
|
|
# 197| [true] ... ? ... : ...
|
|
#-----| true -> [false] !...
|
|
|
|
# 197| ... == ...
|
|
#-----| true -> false
|
|
#-----| false -> true
|
|
|
|
# 197| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 197| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 197| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 197| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 197| false
|
|
#-----| false -> [false] ... ? ... : ...
|
|
|
|
# 197| true
|
|
#-----| true -> [true] ... ? ... : ...
|
|
|
|
# 198| ...;
|
|
#-----| -> this access
|
|
|
|
# 198| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 198| ... ? ... : ...
|
|
#-----| -> ... = ...
|
|
|
|
# 198| ... == ...
|
|
#-----| true -> false
|
|
#-----| false -> true
|
|
|
|
# 198| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 198| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 198| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 198| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 198| false
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 198| true
|
|
#-----| -> ... ? ... : ...
|
|
|
|
# 200| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 200| [false] ... || ...
|
|
#-----| false -> exit Booleans (normal)
|
|
|
|
# 200| [true] ... || ...
|
|
#-----| true -> {...}
|
|
|
|
# 200| [false] !...
|
|
#-----| false -> this access
|
|
|
|
# 200| [true] !...
|
|
#-----| true -> [true] ... || ...
|
|
|
|
# 200| ... == ...
|
|
#-----| true -> [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 200| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 200| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 200| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 200| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 200| [false] !...
|
|
#-----| false -> [false] ... || ...
|
|
|
|
# 200| [true] !...
|
|
#-----| true -> [true] ... || ...
|
|
|
|
# 200| [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 200| [true] !...
|
|
#-----| true -> [false] !...
|
|
|
|
# 200| [false] ... && ...
|
|
#-----| false -> [true] !...
|
|
|
|
# 200| [true] ... && ...
|
|
#-----| true -> [false] !...
|
|
|
|
# 200| ... == ...
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> access to local variable b
|
|
|
|
# 200| access to property Length
|
|
#-----| -> 1
|
|
|
|
# 200| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 200| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 200| 1
|
|
#-----| -> ... == ...
|
|
|
|
# 200| access to local variable b
|
|
#-----| false -> [false] ... && ...
|
|
#-----| true -> [true] ... && ...
|
|
|
|
# 201| {...}
|
|
#-----| -> {...}
|
|
|
|
# 202| {...}
|
|
#-----| -> object creation of type Exception
|
|
|
|
# 203| throw ...;
|
|
#-----| exception(Exception) -> exit Booleans (abnormal)
|
|
|
|
# 203| object creation of type Exception
|
|
#-----| -> throw ...;
|
|
|
|
# 208| enter Do
|
|
#-----| -> {...}
|
|
|
|
# 208| exit Do
|
|
|
|
# 208| exit Do (normal)
|
|
#-----| -> exit Do
|
|
|
|
# 209| {...}
|
|
#-----| -> do ... while (...);
|
|
|
|
# 210| do ... while (...);
|
|
#-----| -> {...}
|
|
|
|
# 211| {...}
|
|
#-----| -> ...;
|
|
|
|
# 212| ...;
|
|
#-----| -> this access
|
|
|
|
# 212| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 212| this access
|
|
#-----| -> this access
|
|
|
|
# 212| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 212| access to field Field
|
|
#-----| -> "a"
|
|
|
|
# 212| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 212| "a"
|
|
#-----| -> ... + ...
|
|
|
|
# 213| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 213| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> if (...) ...
|
|
|
|
# 213| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 213| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 213| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 213| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 214| {...}
|
|
#-----| -> continue;
|
|
|
|
# 215| continue;
|
|
#-----| continue -> this access
|
|
|
|
# 217| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 217| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> this access
|
|
|
|
# 217| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 217| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 217| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 217| 0
|
|
#-----| -> ... < ...
|
|
|
|
# 218| {...}
|
|
#-----| -> break;
|
|
|
|
# 219| break;
|
|
#-----| break -> exit Do (normal)
|
|
|
|
# 221| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> exit Do (normal)
|
|
|
|
# 221| access to property Length
|
|
#-----| -> 10
|
|
|
|
# 221| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 221| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 221| 10
|
|
#-----| -> ... < ...
|
|
|
|
# 224| enter Foreach
|
|
#-----| -> {...}
|
|
|
|
# 224| exit Foreach
|
|
|
|
# 224| exit Foreach (normal)
|
|
#-----| -> exit Foreach
|
|
|
|
# 225| {...}
|
|
#-----| -> "a"
|
|
|
|
# 226| foreach (... ... in ...) ...
|
|
#-----| non-empty -> String x
|
|
#-----| empty -> exit Foreach (normal)
|
|
|
|
# 226| String x
|
|
#-----| -> {...}
|
|
|
|
# 226| call to method Repeat<String>
|
|
#-----| -> foreach (... ... in ...) ...
|
|
|
|
# 226| "a"
|
|
#-----| -> 10
|
|
|
|
# 226| 10
|
|
#-----| -> call to method Repeat<String>
|
|
|
|
# 227| {...}
|
|
#-----| -> ...;
|
|
|
|
# 228| ...;
|
|
#-----| -> this access
|
|
|
|
# 228| ... = ...
|
|
#-----| -> if (...) ...
|
|
|
|
# 228| this access
|
|
#-----| -> this access
|
|
|
|
# 228| ... + ...
|
|
#-----| -> ... = ...
|
|
|
|
# 228| access to field Field
|
|
#-----| -> access to local variable x
|
|
|
|
# 228| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 228| access to local variable x
|
|
#-----| -> ... + ...
|
|
|
|
# 229| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 229| ... > ...
|
|
#-----| true -> {...}
|
|
#-----| false -> if (...) ...
|
|
|
|
# 229| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 229| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 229| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 229| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 230| {...}
|
|
#-----| -> continue;
|
|
|
|
# 231| continue;
|
|
#-----| continue -> foreach (... ... in ...) ...
|
|
|
|
# 233| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 233| ... < ...
|
|
#-----| false -> foreach (... ... in ...) ...
|
|
#-----| true -> {...}
|
|
|
|
# 233| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 233| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 233| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 233| 0
|
|
#-----| -> ... < ...
|
|
|
|
# 234| {...}
|
|
#-----| -> break;
|
|
|
|
# 235| break;
|
|
#-----| break -> exit Foreach (normal)
|
|
|
|
# 240| enter Goto
|
|
#-----| -> {...}
|
|
|
|
# 240| exit Goto
|
|
|
|
# 240| exit Goto (normal)
|
|
#-----| -> exit Goto
|
|
|
|
# 241| {...}
|
|
#-----| -> Label:
|
|
|
|
# 242| Label:
|
|
#-----| -> if (...) ...
|
|
|
|
# 242| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 242| [false] !...
|
|
#-----| false -> if (...) ...
|
|
|
|
# 242| [true] !...
|
|
#-----| true -> {...}
|
|
|
|
# 242| [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 242| [true] !...
|
|
#-----| true -> [false] !...
|
|
|
|
# 242| ... == ...
|
|
#-----| true -> [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 242| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 242| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 242| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 242| 0
|
|
#-----| -> ... == ...
|
|
|
|
# 242| {...}
|
|
#-----| -> if (...) ...
|
|
|
|
# 244| if (...) ...
|
|
#-----| -> this access
|
|
|
|
# 244| ... > ...
|
|
#-----| true -> goto ...;
|
|
#-----| false -> switch (...) {...}
|
|
|
|
# 244| access to property Length
|
|
#-----| -> 0
|
|
|
|
# 244| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 244| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 244| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 244| goto ...;
|
|
#-----| goto(Label) -> Label:
|
|
|
|
# 246| switch (...) {...}
|
|
#-----| -> this access
|
|
|
|
# 246| ... + ...
|
|
#-----| -> case ...:
|
|
|
|
# 246| access to property Length
|
|
#-----| -> 3
|
|
|
|
# 246| access to field Field
|
|
#-----| -> access to property Length
|
|
|
|
# 246| this access
|
|
#-----| -> access to field Field
|
|
|
|
# 246| 3
|
|
#-----| -> ... + ...
|
|
|
|
# 248| case ...:
|
|
#-----| -> 0
|
|
|
|
# 248| 0
|
|
#-----| match -> goto default;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 249| goto default;
|
|
#-----| goto(default) -> default:
|
|
|
|
# 250| case ...:
|
|
#-----| -> 1
|
|
|
|
# 250| 1
|
|
#-----| match -> ...;
|
|
#-----| no-match -> case ...:
|
|
|
|
# 251| ...;
|
|
#-----| -> 1
|
|
|
|
# 251| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 251| 1
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 252| break;
|
|
#-----| break -> exit Goto (normal)
|
|
|
|
# 253| case ...:
|
|
#-----| -> 2
|
|
|
|
# 253| 2
|
|
#-----| match -> goto ...;
|
|
#-----| no-match -> default:
|
|
|
|
# 254| goto ...;
|
|
#-----| goto(Label) -> Label:
|
|
|
|
# 255| default:
|
|
#-----| -> ...;
|
|
|
|
# 256| ...;
|
|
#-----| -> 0
|
|
|
|
# 256| call to method WriteLine
|
|
#-----| -> break;
|
|
|
|
# 256| 0
|
|
#-----| -> call to method WriteLine
|
|
|
|
# 257| break;
|
|
#-----| break -> exit Goto (normal)
|
|
|
|
# 261| enter Yield
|
|
#-----| -> {...}
|
|
|
|
# 261| exit Yield
|
|
|
|
# 261| exit Yield (normal)
|
|
#-----| -> exit Yield
|
|
|
|
# 262| {...}
|
|
#-----| -> 0
|
|
|
|
# 263| yield return ...;
|
|
#-----| -> for (...;...;...) ...
|
|
|
|
# 263| 0
|
|
#-----| -> yield return ...;
|
|
|
|
# 264| for (...;...;...) ...
|
|
#-----| -> 1
|
|
|
|
# 264| Int32 i = ...
|
|
#-----| -> access to local variable i
|
|
|
|
# 264| 1
|
|
#-----| -> Int32 i = ...
|
|
|
|
# 264| ... < ...
|
|
#-----| true -> {...}
|
|
#-----| false -> try {...} ...
|
|
|
|
# 264| access to local variable i
|
|
#-----| -> 10
|
|
|
|
# 264| 10
|
|
#-----| -> ... < ...
|
|
|
|
# 264| ...++
|
|
#-----| -> access to local variable i
|
|
|
|
# 264| access to local variable i
|
|
#-----| -> ...++
|
|
|
|
# 265| {...}
|
|
#-----| -> access to local variable i
|
|
|
|
# 266| yield return ...;
|
|
#-----| -> access to local variable i
|
|
|
|
# 266| access to local variable i
|
|
#-----| -> yield return ...;
|
|
|
|
# 268| try {...} ...
|
|
#-----| -> {...}
|
|
|
|
# 269| {...}
|
|
#-----| -> yield break;
|
|
|
|
# 270| yield break;
|
|
#-----| return -> [finally: return] {...}
|
|
|
|
# 274| [finally: return] {...}
|
|
#-----| -> [finally: return] ...;
|
|
|
|
# 275| [finally: return] ...;
|
|
#-----| -> [finally: return] "not dead"
|
|
|
|
# 275| [finally: return] call to method WriteLine
|
|
#-----| return -> exit Yield (normal)
|
|
|
|
# 275| [finally: return] "not dead"
|
|
#-----| -> [finally: return] call to method WriteLine
|
|
|
|
# 282| enter ControlFlowSub
|
|
#-----| -> call to constructor ControlFlow
|
|
|
|
# 282| exit ControlFlowSub
|
|
|
|
# 282| exit ControlFlowSub (normal)
|
|
#-----| -> exit ControlFlowSub
|
|
|
|
# 282| call to constructor ControlFlow
|
|
#-----| -> {...}
|
|
|
|
# 282| {...}
|
|
#-----| -> exit ControlFlowSub (normal)
|
|
|
|
# 284| enter ControlFlowSub
|
|
#-----| -> call to constructor ControlFlowSub
|
|
|
|
# 284| exit ControlFlowSub
|
|
|
|
# 284| exit ControlFlowSub (normal)
|
|
#-----| -> exit ControlFlowSub
|
|
|
|
# 284| call to constructor ControlFlowSub
|
|
#-----| -> {...}
|
|
|
|
# 284| {...}
|
|
#-----| -> exit ControlFlowSub (normal)
|
|
|
|
# 286| enter ControlFlowSub
|
|
#-----| -> access to parameter i
|
|
|
|
# 286| exit ControlFlowSub
|
|
|
|
# 286| exit ControlFlowSub (normal)
|
|
#-----| -> exit ControlFlowSub
|
|
|
|
# 286| call to constructor ControlFlowSub
|
|
#-----| -> {...}
|
|
|
|
# 286| call to method ToString
|
|
#-----| -> call to constructor ControlFlowSub
|
|
|
|
# 286| access to parameter i
|
|
#-----| -> call to method ToString
|
|
|
|
# 286| {...}
|
|
#-----| -> exit ControlFlowSub (normal)
|
|
|
|
# 291| enter M
|
|
#-----| -> access to parameter f
|
|
|
|
# 291| exit M
|
|
|
|
# 291| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 291| delegate call
|
|
#-----| -> exit M (normal)
|
|
|
|
# 291| access to parameter f
|
|
#-----| -> 0
|
|
|
|
# 291| 0
|
|
#-----| -> delegate call
|
|
|
|
# 296| enter NegationInConstructor
|
|
#-----| -> call to constructor Object
|
|
|
|
# 296| call to constructor Object
|
|
#-----| -> {...}
|
|
|
|
# 296| exit NegationInConstructor
|
|
|
|
# 296| exit NegationInConstructor (normal)
|
|
#-----| -> exit NegationInConstructor
|
|
|
|
# 296| {...}
|
|
#-----| -> exit NegationInConstructor (normal)
|
|
|
|
# 298| enter M
|
|
#-----| -> {...}
|
|
|
|
# 298| exit M
|
|
|
|
# 298| exit M (normal)
|
|
#-----| -> exit M
|
|
|
|
# 299| {...}
|
|
#-----| -> ...;
|
|
|
|
# 300| ...;
|
|
#-----| -> 0
|
|
|
|
# 300| object creation of type NegationInConstructor
|
|
#-----| -> exit M (normal)
|
|
|
|
# 300| 0
|
|
#-----| -> access to parameter i
|
|
|
|
# 300| ... && ...
|
|
#-----| -> ""
|
|
|
|
# 300| [false] !...
|
|
#-----| false -> ... && ...
|
|
|
|
# 300| [true] !...
|
|
#-----| true -> access to parameter s
|
|
|
|
# 300| ... > ...
|
|
#-----| true -> [false] !...
|
|
#-----| false -> [true] !...
|
|
|
|
# 300| access to parameter i
|
|
#-----| -> 0
|
|
|
|
# 300| 0
|
|
#-----| -> ... > ...
|
|
|
|
# 300| ... != ...
|
|
#-----| -> ... && ...
|
|
|
|
# 300| access to parameter s
|
|
#-----| -> null
|
|
|
|
# 300| null
|
|
#-----| -> ... != ...
|
|
|
|
# 300| ""
|
|
#-----| -> object creation of type NegationInConstructor
|
|
|
|
# 306| enter get__getter
|
|
#-----| -> (...) => ...
|
|
|
|
# 306| enter (...) => ...
|
|
#-----| -> {...}
|
|
|
|
# 306| (...) => ...
|
|
#-----| -> exit get__getter (normal)
|
|
|
|
# 306| exit get__getter
|
|
|
|
# 306| exit (...) => ...
|
|
|
|
# 306| exit get__getter (normal)
|
|
#-----| -> exit get__getter
|
|
|
|
# 306| exit (...) => ... (normal)
|
|
#-----| -> exit (...) => ...
|
|
|
|
# 307| {...}
|
|
#-----| -> ... ...;
|
|
|
|
# 308| ... ...;
|
|
#-----| -> access to parameter o
|
|
|
|
# 308| Object x = ...
|
|
#-----| -> access to local variable x
|
|
|
|
# 308| access to parameter o
|
|
#-----| -> Object x = ...
|
|
|
|
# 309| return ...;
|
|
#-----| return -> exit (...) => ... (normal)
|
|
|
|
# 309| access to local variable x
|
|
#-----| -> return ...;
|