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

Class Parameter

A parameter of a parameterizable declaration (callable, delegate, or indexer). For example, p in

void M(int p) {
  ...
}

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.

getAnAssignedArgument

Gets an argument which is assigned to this parameter in a call to the enclosing callable.

getCallable

Gets the callable to which this parameter belongs, if any.

getDeclaringElement

Gets the declaring element of this parameter.

getDeclaringType

Gets the type containing this declaration, if any.

getDefaultValue

Gets the default value of this parameter, if any. For example, the default value of numberOfTries is 3 in

getIndex

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

getName

Gets the name of this element.

getPosition

Gets the position of this parameter. For example, the position of x is 0 and the position of y is 1 in

getRawPosition

Gets the raw position of this parameter, including the this parameter at index 0.

getType

Gets the type of this variable.

getUnboundDeclaration

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

hasDefaultValue

Holds if this parameter has a default value.

hasExtensionMethodModifier

Holds this parameter is the first parameter of an extension method. For example, list is the first parameter of the extension method Count in

isIn

Holds if this parameter is a value type that is passed in by reference. For example, p is an input parameter in

isOut

Holds if this parameter is an output parameter. For example, p is an output parameter in

isOutOrRef

Holds if this parameter is an output or reference parameter.

isOverwritten

Holds if this parameter is potentially overwritten in the body of its callable.

isParams

Holds if this parameter is a parameter array. For example, args is a parameter array in

isReadonlyRef

Holds if this parameter if a ref readonly parameter. For example, p is a ref readonly parameter in

isRef

Holds if this parameter is a reference parameter. For example, p is a reference parameter in

isValue

Holds if this parameter is a normal value parameter. For example, p is a value parameter in

toString

Inherited predicates

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
getAChildExpr

Gets a child expression of this element, if any.

from TopLevelExprParent
getAnAccess

Gets an access to this assignable.

from Variable
getAnAssignedValue

Gets an expression assigned to this assignable, if any.

from Assignable
getAnAttribute

Gets an attribute attached to this element, if any.

from Attributable
getAnnotatedType

Gets the annotated type of this assignable.

from Assignable
getChild

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

from TopLevelExprParent
getChildExpr

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

from TopLevelExprParent
getFile

Gets the file containing this element.

from Element
getFullyQualifiedName

DEPRECATED: Use hasFullyQualifiedName instead.

from NamedElement
getFullyQualifiedNameDebug

INTERNAL: Do not use.

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
getInitializer

Gets the expression used to initialise this variable, if any.

from Variable
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
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
hasLocationInfo

Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

from Attributable
hasName

Holds if this element has name ‘name’.

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

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

from Element