Module Completion
INTERNAL: Do not use.
Provides classes representing control flow completions.
A completion represents how a statement or expression terminates.
There are six kinds of completions: normal completion,
return completion, break completion, continue completion,
goto completion, and throw completion.
Normal completions are further subdivided into Boolean completions and all other normal completions. A Boolean completion adds the information that the expression terminated with the given boolean value due to a subexpression terminating with the other given Boolean value. This is only relevant for conditional contexts in which the value controls the control-flow successor.
Goto successors are further subdivided into label gotos, case gotos, and default gotos.
Import path
import semmle.code.csharp.controlflow.internal.CompletionImports
| csharp | The default C# QL library. |
Predicates
| assertionCompletion | Gets a valid completion when argument |
| foreachEmptiness | Holds if |
| switchMatching | Holds if |
Classes
| BooleanCompletion | A completion that represents evaluation of an expression with a Boolean value. |
| BreakCompletion | A completion that represents evaluation of a statement or an expression resulting in a break (in a loop or in a |
| Completion | A completion of a statement or an expression. |
| ConditionalCompletion | A completion that represents evaluation of an expression, whose value determines the successor. Either a Boolean completion ( |
| ContinueCompletion | A completion that represents evaluation of a statement or an expression resulting in a loop continuation (a |
| EmptinessCompletion | A completion that represents evaluation of an emptiness test, for example a test in a |
| ExitCompletion | A completion that represents evaluation of a statement or an expression resulting in a program exit, for example |
| FalseCompletion | A Boolean |
| GotoCompletion | A completion that represents evaluation of a statement or an expression resulting in a |
| MatchingCompletion | A completion that represents matching, for example a |
| NestedBreakCompletion | A nested completion for a loop that exists with a |
| NestedCompletion | A nested completion. For example, in |
| NormalCompletion | A completion that represents normal evaluation of a statement or an expression. |
| NullnessCompletion | A completion that represents evaluation of an expression that is either |
| ReturnCompletion | A completion that represents evaluation of a statement or an expression resulting in a return from a callable. |
| SimpleCompletion | A simple (normal) completion. |
| ThrowCompletion | A completion that represents evaluation of a statement or an expression resulting in a thrown exception. |
| TrueCompletion | A Boolean |