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 |