CodeQL library for C#
codeql/csharp-all 0.6.2 ( changelog , source )
Search

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

Fields

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 cfe.

from Completion

Charpred