Skip to content

Commit a705b3a

Browse files
committed
C#: Generic control flow graph splitting
Refactor existing logic for splitting control flow nodes belonging to a `finally` block. A `Split` defines (1) when to enter the split, (2) when to stay in the split, and (3) when to leave the split. With only these definitions, control flow splitting is achieved by tagging each control flow element with the set of splits that apply to it.
1 parent 1365761 commit a705b3a

File tree

3 files changed

+686
-491
lines changed

3 files changed

+686
-491
lines changed

csharp/ql/src/semmle/code/csharp/controlflow/Completion.qll

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,6 @@ class Completion extends TCompletion {
123123
this instanceof NormalCompletion or
124124
this instanceof ContinueCompletion
125125
}
126-
127-
/** Holds if this completion is a valid completion for exiting a callable. */
128-
predicate isValidCallableExitCompletion() {
129-
not this instanceof GotoCompletion
130-
}
131126
}
132127

133128
/** Holds if expression `e` has the Boolean constant value `value`. */

0 commit comments

Comments
 (0)