Class NestedCompletion
A nested completion. For example, in
void M(bool b1, bool b2)
{
try
{
if (b1)
throw new Exception();
}
finally
{
if (b2)
System.Console.WriteLine("M called");
}
}
b2 has an outer throw completion (inherited from throw new Exception)
and an inner false completion. b2 also has a (normal) true completion.
Import path
import semmle.code.csharp.controlflow.internal.CompletionDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| getAMatchingSuccessorType | Gets a successor type that matches this completion. |
| getAnInnerCompatibleCompletion | Gets a completion that is compatible with the inner completion. |
| getInnerCompletion | Gets the inner completion. This is either the inner completion, when the completion is nested, or the completion itself. |
| getNestLevel | Gets the level of this nested completion. |
| getOuterCompletion | Gets the outer completion. This is either the outer completion, when the completion is nested, or the completion itself. |
| toString | Gets a textual representation of this completion. |
Inherited predicates
| continuesLoop | Holds if this completion will continue a loop when it is the completion of a loop body. | from Completion |
| isValidFor | Holds if this completion is valid for control flow element | from Completion |