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

Class LocalVariable

A local variable, declared within the scope of a callable. For example, the variables total and s in

void M(string[] ss) {
  int total = 0;
  ...
  foreach (var s in ss)
    ...
}

Import path

import csharp

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getALocation

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

getAPrimaryQlClass

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

getCallable

Gets the callable in which this variable is defined.

getDeclaringType

Gets the type containing this declaration, if any.

getEnclosingCallable

Gets the enclosing callable of this local variable.

getInitializer

Gets the initializer expression of this local variable, if any. For example, the initializer of total is 0, and s has no initializer, in

getName

Gets the name of this element.

getType
getVariableDeclExpr

Gets the declaration of this local variable.

isImplicitlyTyped

Holds if this variable is implicitly typed. For example, the variable s is implicitly type, and the variable total is not, in

isRef

Holds if this local variable or parameter is a ref.

Inherited predicates

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
fromLibrary

Holds if this element is from an assembly.

from Element
fromSource

Holds if this element is from source code.

from Element
getACapturingCallable

Gets a callable that captures this variable, if any. For example, v is captured by the nested lambda expression in

from LocalScopeVariable
getAChild

Gets a child of this element, if any.

from Element
getAnAccess

Gets an access to this assignable.

from Variable
getAnAssignedValue

Gets an expression assigned to this assignable, if any.

from Assignable
getAnnotatedType

Gets the annotated type of this assignable.

from Assignable
getChild

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

from Element
getFile

Gets the file containing this element.

from Element
getFullyQualifiedName

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
getFullyQualifiedNameWithTypes

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

DEPRECATED: Use getFullyQualifiedNameWithTypes instead.

from Declaration
getUnboundDeclaration

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

from Variable
getUndecoratedName

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

from Declaration
hasFullyQualifiedName

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

from Declaration
hasName

Holds if this element has name ‘name’.

from NamedElement
hasQualifiedName

DEPRECATED: Use hasFullyQualifiedName instead.

from Declaration
hasUndecoratedName

Holds if this element has undecorated name ‘name’.

from Declaration
isCaptured

Holds if this variable is captured by a nested callable. For example, v is captured by the nested lambda expression in

from LocalScopeVariable
isCompilerGenerated

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

from Declaration
isScoped

Holds if this local variable or parameter is scoped.

from LocalScopeVariable
isSourceDeclaration

Holds if this declaration is unconstructed and in source code.

from Declaration
isUnboundDeclaration

Holds if this declaration is unbound.

from Declaration
matchesHandle

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

from NamedElement
toString

Gets a textual representation of this element.

from Declaration
toStringWithTypes

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

from Element