CodeQL library for C#
Search

Class AnonymousFunctionExpr

An anonymous function. Either a lambda expression (LambdaExpr) or an anonymous method expression (AnonymousMethodExpr).

Import path

import csharp

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    getEnclosingCallable
    getName

    Gets the name of this element.

    getReturnType

    Gets the return type of this callable.

    getUnboundDeclaration

    Gets the unbound version of this declaration, that is, the declaration where all type arguments have been removed. For example, in

    toString

    Gets a textual representation of this element.

    toStringWithTypes

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

    Inherited predicates

    calls

    Holds if callee is potentially called from this callable. That is, callee is a potential run-time target of a call in the body of this callable.

    from Callable
    canReturn

    Holds if this callable can return expression e.

    from Callable
    canYieldReturn

    Holds if this callable can yield return the expression e.

    from Callable
    compiledFromSource

    Holds if this element was compiled from source code that is also present in the database. That is, this element corresponds to another element from source.

    from NamedElement
    compiledFromSource

    Holds if this element was compiled from source code that is also present in the database. That is, this element corresponds to another element from source.

    from NamedElement
    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
    fromLibrary

    Holds if this element is from an assembly.

    from Element
    fromLibrary

    Holds if this element is from an assembly.

    from Element
    fromSource

    Holds if this element is from source code.

    from Element
    fromSource

    Holds if this element is from source code.

    from Element
    fromSource

    Holds if this element is from source code.

    from Element
    getACall

    Gets a Call that has this callable as a target.

    from Callable
    getAChild

    Gets a child of this element, if any.

    from Element
    getAChild

    Gets a child of this element, if any.

    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
    getAChildExpr

    Gets a child expression of this element, if any.

    from ExprOrStmtParent
    getAChildStmt

    Gets a child statement 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 Expr
    getAModifier

    Gets a modifier of this declaration.

    from Modifiable
    getAParameter

    Gets a parameter, if any.

    from Callable
    getAPrimaryQlClass

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

    from Element
    getAPrimaryQlClass

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

    from Element
    getAPrimaryQlClass

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

    from Element
    getARawParameter

    Gets a raw parameter (including the qualifier), if any.

    from Parameterizable
    getAReachableElement

    Gets an element that is reachable from this element.

    from ControlFlowElement
    getAStatementBody

    DEPRECATED: Use getStatementBody instead.

    from Callable
    getAnnotatedReturnType

    Gets the annotated return type of this callable.

    from Callable
    getAnnotatedType

    Gets the annotated type of this expression.

    from Expr
    getAssembly

    Gets the assembly that this element was compiled into.

    from ControlFlowElement
    getBody

    Gets the body of this callable, if any.

    from Callable
    getChild

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

    from ExprOrStmtParent
    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
    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
    getChildStmt

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

    from ExprOrStmtParent
    getCyclomaticComplexity

    Gets the number of branching statements (if, while, do, for, foreach switch, case, catch) plus the number of branching expressions (?, &&, ||, ??) plus one. Callables with a high cyclomatic complexity (> 10) are hard to test and maintain, given their large number of possible execution paths. They should be refactored.

    from Callable
    getDeclaringType

    Gets the type containing this declaration, if any.

    from Declaration
    getDeclaringType

    Gets the type containing this declaration, if any.

    from Declaration
    getEnclosingStmt

    Gets the enclosing statement of this expression, if any.

    from Expr
    getEntryPoint

    Gets the entry point in the control graph for this callable.

    from Callable
    getExitPoint

    Gets the exit point in the control graph for this callable.

    from Callable
    getExplicitArgumentName

    Gets the explicit parameter name used to pass this expression as an argument for, if any. For example, if this expression is 0 in M(second: 1, first: 0) then the result is "first".

    from Expr
    getExpressionBody

    Gets the expression body of this callable (if any), specified by =>.

    from Callable
    getFile

    Gets the file containing this element.

    from Element
    getFile

    Gets the file containing this element.

    from Element
    getFile

    Gets the file containing this element.

    from Element
    getIndex

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

    from Element
    getIndex

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

    from Element
    getIndex

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

    from Element
    getLabel

    Gets a unique string label for this element.

    from Callable
    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
    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
    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
    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
    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
    getNumberOfChildren

    Gets the number of children of this element.

    from Element
    getNumberOfChildren

    Gets the number of children of this element.

    from Element
    getNumberOfLines

    Gets the total number of lines in this callable.

    from Callable
    getNumberOfLinesOfCode

    Gets the number of lines containing code in this callable.

    from Callable
    getNumberOfLinesOfComments

    Gets the number of lines containing comments in this callable.

    from Callable
    getNumberOfParameters

    Gets the number of parameters of this callable.

    from Callable
    getParameter

    Gets the ith parameter, excluding the this parameter.

    from Callable
    getParentfrom Expr
    getPrimaryQlClasses

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

    from Element
    getPrimaryQlClasses

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

    from Element
    getPrimaryQlClasses

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

    from Element
    getQualifiedName

    Gets the fully qualified name of this element, for example the fully qualified name of M on line 3 is N.C.M in

    from NamedElement
    getQualifiedName

    Gets the fully qualified name of this element, for example the fully qualified name of M on line 3 is N.C.M in

    from NamedElement
    getQualifiedNameWithTypes

    Gets the fully qualified name of this declaration, including types, for example the fully qualified name with types of M on line 3 is N.C.M(int, string) in

    from Declaration
    getQualifiedNameWithTypes

    Gets the fully qualified name of this declaration, including types, for example the fully qualified name with types of M on line 3 is N.C.M(int, string) in

    from Declaration
    getRawParameter

    Gets raw parameter i, including the this parameter at index 0.

    from Parameterizable
    getStatementBody

    Gets the statement body of this callable, if any.

    from Callable
    getType

    Gets the type of this expression.

    from Expr
    getUndecoratedName

    Gets the name of this declaration, without additional decoration such as <...>.

    from Declaration
    getUndecoratedName

    Gets the name of this declaration, without additional decoration such as <...>.

    from Declaration
    getValue

    Gets the value of this expression, if any

    from Expr
    hasBody

    Holds if this callable has a body or an implementation.

    from Callable
    hasExpressionBody

    Holds if this callable has an expression body.

    from Callable
    hasMaybeNullFlowState

    Holds if the nullable flow state of this expression may be null.

    from Expr
    hasModifier

    Holds if this declaration has name as a modifier.

    from Modifiable
    hasName

    Holds if this element has name ‘name’.

    from NamedElement
    hasName

    Holds if this element has name ‘name’.

    from NamedElement
    hasNoParameters

    Holds if this declaration has no parameters.

    from Parameterizable
    hasNonEmptyBody

    Holds if this callable has a non-empty body. That is, either it has an expression body, or it has a non-empty statement body.

    from Callable
    hasNotNullFlowState

    Holds if the nullable flow state of this expression is not null.

    from Expr
    hasQualifiedName

    Holds if this element has the qualified name qualifier.name.

    from Declaration
    hasQualifiedName

    Holds if this element has qualified name qualifiedName, for example System.Console.WriteLine.

    from NamedElement
    hasQualifiedName

    Holds if this element has the qualified name qualifier.name.

    from Declaration
    hasQualifiedName

    Holds if this element has qualified name qualifiedName, for example System.Console.WriteLine.

    from NamedElement
    hasStatementBody

    Holds if this callable has a statement body.

    from Callable
    hasUndecoratedName

    Holds if this element has undecorated name ‘name’.

    from Declaration
    hasUndecoratedName

    Holds if this element has undecorated name ‘name’.

    from Declaration
    hasValue

    Holds if this expression has a value.

    from Expr
    isAbstract

    Holds if this declaration is abstract.

    from Modifiable
    isAsync

    Holds if this declaration is async.

    from Modifiable
    isCompilerGenerated

    Holds if this declaration has been generated by the compiler, for example implicit constructors or accessors.

    from Declaration
    isCompilerGenerated

    Holds if this declaration has been generated by the compiler, for example implicit constructors or accessors.

    from Declaration
    isConst

    Holds if this declaration is const.

    from Modifiable
    isEffectivelyInternal

    Holds if this declaration is effectively internal. A declaration is considered effectively internal if it can only be referenced from the declaring assembly.

    from Modifiable
    isEffectivelyPrivate

    Holds if this declaration is effectively private. A declaration is considered effectively private if it can only be referenced from - the declaring and its nested types, similarly to private declarations, and - the enclosing types.

    from Modifiable
    isEffectivelyPublic

    Holds if this declaration is effectively public, meaning that it can be referenced outside the declaring assembly.

    from Modifiable
    isExtern

    Holds if this declaration is extern.

    from Modifiable
    isImplicit

    Holds if this expression is generated by the compiler and does not appear explicitly in the source code.

    from Expr
    isInternal

    Holds if this declaration is internal.

    from Modifiable
    isLive

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

    from ControlFlowElement
    isNew

    Holds if this declaration has the modifier new.

    from Modifiable
    isPartial

    Holds if this declaration is partial.

    from Modifiable
    isPrivate

    Holds if this declaration is private.

    from Modifiable
    isProtected

    Holds if this declaration is protected.

    from Modifiable
    isPublic

    Holds if this declaration is public.

    from Modifiable
    isSealed

    Holds if this declaration is sealed.

    from Modifiable
    isSourceDeclaration

    Holds if this declaration is unconstructed and in source code.

    from Declaration
    isSourceDeclaration

    Holds if this declaration is unconstructed and in source code.

    from Declaration
    isStatic

    Holds if this declaration is static.

    from Modifiable
    isUnboundDeclaration

    Holds if this declaration is unbound.

    from Declaration
    isUnboundDeclaration

    Holds if this declaration is unbound.

    from Declaration
    isUnsafe

    Holds if this declaration is unsafe.

    from Modifiable
    matchesHandle

    Holds if other has the same metadata handle in the same assembly.

    from NamedElement
    matchesHandle

    Holds if other has the same metadata handle in the same assembly.

    from NamedElement
    parameterTypesToString

    Gets the types of the parameters of this declaration as a comma-separated string.

    from Parameterizable
    reachableFrom

    Holds if the current element is reachable from src.

    from ControlFlowElement
    stripCasts

    Gets an expression that is the result of stripping (recursively) all implicit and explicit casts from this expression, if any. For example, the result is reader if this expression is either (IDisposable)reader or reader as IDisposable.

    from Expr
    stripImplicitCasts

    Gets an expression that is the result of stripping (recursively) all implicit casts from this expression, if any.

    from Expr