A program element that can possess control flow. That is, either a statement or an expression.
A control flow element can be mapped to a control flow node (
getAControlFlowNode(). There is a one-to-many relationship between
control flow elements and control flow nodes. This allows control flow
splitting, for example modeling the control flow through
Holds if basic block
Gets a first control flow node executed within this element.
Gets a potential last control flow node executed within this element.
Gets a control flow node for this element. That is, a node in the control flow graph that corresponds to this element.
Gets an element that is reachable from this element.
Gets the assembly that this element was compiled into.
Gets the enclosing callable of this element, if any.
Holds if this element is live, that is this element can be reached from the entry point of its enclosing callable.
Holds if the current element is reachable from
Holds if this element is from an assembly.
Holds if this element is from source code.
Gets a child of this element, if any.
Gets a child expression of this element, if any.
Gets a child statement of this element, if any.
Gets a location of this element, including sources and assemblies.
Gets the name of a primary CodeQL class to which this element belongs.
Gets the file containing this element.
Gets the index of this element among its parent’s other children (zero-based).
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”.
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.
Gets the number of children of this element.
Gets the parent of this element, if any.
Gets a textual representation of this element.
Gets the full textual representation of this element, including type information.