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

Class ForeachStmtEnumerable

A class of foreach statements where the iterable expression supports the use of the LINQ extension methods on IEnumerable.

Import path

import Linq.Helpers

Direct supertypes

Indirect supertypes

Inherited predicates

controlsBlock

Holds if basic block controlled is controlled by this control flow element with conditional value s. That is, controlled can only be reached from the callable entry point by going via the s edge out of some basic block ending with this element.

from ControlFlowElement
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
getAChildExpr

Gets a child expression of this element, if any.

from ExprOrStmtParent
getAChildStmt

Gets a child statement of this element, if any.

from ExprOrStmtParent
getAControlFlowEntryNode

Gets a first control flow node executed within this element.

from ControlFlowElement
getAControlFlowExitNode

Gets a potential last control flow node executed within this element.

from ControlFlowElement
getAControlFlowNode

Gets a control flow node for this element. That is, a node in the control flow graph that corresponds to this element.

from ControlFlowElement
getALocation

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

from Stmt
getAPrimaryQlClass

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

from ForeachStmt
getAReachableElement

Gets an element that is reachable from this element.

from ControlFlowElement
getAVariable

Gets a local variable of this foreach loop.

from ForeachStmt
getAVariableDeclExpr

Gets a local variable declaration of this foreach loop.

from ForeachStmt
getAssembly

Gets the assembly that this element was compiled into.

from ControlFlowElement
getBody

Gets the body of this loop statement.

from LoopStmt
getChild

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

from ExprOrStmtParent
getChildExpr

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

from ExprOrStmtParent
getChildStmt

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

from ExprOrStmtParent
getCondition

Gets the condition of this loop statement, if any.

from ForeachStmt
getCurrent

Gets the called Current property.

from ForeachStmt
getDispose

Gets the called Dispose or DisposeAsync method, if any.

from ForeachStmt
getElementType

Gets the intermediate type to which the Current property is converted before being converted to the iteration variable type.

from ForeachStmt
getEnclosingCallable

Gets the enclosing callable of this statement.

from Stmt
getFile

Gets the file containing this element.

from Element
getGetEnumerator

Gets the called GetEnumerator method.

from ForeachStmt
getIndex

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

from Element
getIterableExpr

Gets the expression that this foreach loop iterates over.

from ForeachStmt
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
getMoveNext

Gets the called MoveNext or MoveNextAsync method.

from ForeachStmt
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
getVariable

Gets the local variable of this foreach loop, if any.

from ForeachStmt
getVariable

Gets the ith local variable of this foreach loop.

from ForeachStmt
getVariableDeclExpr

Gets the local variable declaration of this foreach loop, if any.

from ForeachStmt
getVariableDeclExpr

Gets the ith local variable declaration of this foreach loop.

from ForeachStmt
getVariableDeclTuple

Gets the local variable declaration tuple of this foreach loop, if any. For example, (int a, int b) in

from ForeachStmt
isAsync

Holds if this foreach statement is asynchronous.

from ForeachStmt
isCompilerGenerated

Holds if this statement is compiler generated.

from Stmt
isGlobal

Holds if this statement is a global statement.

from Stmt
isLive

Holds if this element is live, that is this element can be reached from the entry point of its enclosing callable.

from ControlFlowElement
reachableFrom

Holds if the current element is reachable from src.

from ControlFlowElement
stripSingletonBlocks

Gets the singleton statement contained in this statement, by removing enclosing block statements.

from Stmt
toString

Gets a textual representation of this element.

from ForeachStmt
toStringWithTypes

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

from Element

Charpred