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.Completion
Direct 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 |