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

Class Statements::TryStmtTree

Import path

import semmle.code.csharp.controlflow.internal.ControlFlowGraphImpl

Direct supertypes

Indirect supertypes

Predicates

getAFinallyDescendant

Gets a descendant that belongs to the finally block of this try statement.

getAFinallyPredecessor

Gets a last element from a try or catch block of this try statement that may finish with completion c, such that control may be transferred to the finally block (if it exists), but only if finalizable = true.

getAThrownException

Gets an exception type that is thrown by cfe in the block of this try statement. Throw completion c matches the exception type.

last

Holds if last with completion c is a potential last element executed within this element.

lastBlock

Holds if last is a last element of the block of this try statement.

nestLevel

Gets the finally-nesting level of this try statement. That is, the number of finally blocks that this try statement is nested under.

propagatesAbnormal

Holds if abnormal execution of child should propagate upwards.

succ

Holds if succ is a control flow successor for pred, given that pred finishes with completion c.

Inherited predicates

first

Holds if first is the first element executed within this element.

from PreOrderTree
fromLibrary

Holds if this element is from an assembly.

from Element
fromSource

Holds if this element is from source code.

from Element
getAChild

Gets a child of this element, if any.

from Element
getALocation

Gets a location of this element, including sources and assemblies.

from Element
getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

from Element
getChild

Gets the ith child of this element (zero-based).

from Element
getFile

Gets the file containing this element.

from Element
getIdfrom AstNode
getIndex

Gets the index of this element among its parent’s other children (zero-based).

from Element
getLanguage

Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”.

from Element
getLocation

Gets the location of this element. Where an element has locations in source and assemblies, choose the source location. If there are multiple assembly locations, choose only one.

from Element
getNumberOfChildren

Gets the number of children of this element.

from Element
getParent

Gets the parent of this element, if any.

from Element
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
toString

Gets a textual representation of this element.

from Element
toStringWithTypes

Gets the full textual representation of this element, including type information.

from Element