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

Class Indexer

An indexer, for example string this[int i] on line 2 in

class C {
  public string this[int i] {
    get { return i.ToString(); }
  }
}

Import path

import csharp

Direct supertypes

Indirect supertypes

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.

getAnAccess
getAnImplementor

Gets a member that immediately implements this interface member, if any.

getAnOverrider

Gets a member that immediately overrides this member, if any.

getAnUltimateImplementee

Gets an interface member that is (transitively) implemented by this member, if any. That is, either this member immediately implements the interface member, or this member overrides (transitively) another member that immediately implements the interface member.

getAnUltimateImplementor

Gets a member that (transitively) implements this interface member, if any. That is, either this interface member is immediately implemented by the result, or the result overrides (transitively) another member that immediately implements this interface member.

getDeclaringType

Gets the type containing this declaration, if any.

getDimension

Gets the dimension of this indexer, that is, its number of parameters.

getExpressionBody

Gets the expression body of this indexer, if any. For example, the expression body of the indexer on line 2 is 20 in

getImplementee

Gets the interface member that is immediately implemented by this member, if any.

getName

Gets the name of this element.

getOverridee

Gets the member that is immediately overridden by this member, if any.

getType

Gets the type of this assignable.

getUnboundDeclaration

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

getUndecoratedName

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

toStringWithTypes

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

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
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
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
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 TopLevelExprParent
getAModifier

Gets a modifier of this declaration.

from Modifiable
getAParameter

Gets a parameter, if any.

from Parameterizable
getARawParameter

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

from Parameterizable
getAnAccessor

Gets an accessor of this declaration.

from DeclarationWithAccessors
getAnAssignedValue

Gets an expression assigned to this assignable, if any.

from Assignable
getAnAttribute

Gets an attribute attached to this element, if any.

from Attributable
getAnImplementor

Gets a member that immediately implements this interface member, if any.

from Overridable
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
getExplicitlyImplementedInterface

Gets any interface this member explicitly implements; this only applies to members that can be declared on an interface, i.e. methods, properties, indexers and events.

from Overridable
getFile

Gets the file containing this element.

from Element
getFile

Gets the file containing this element.

from Element
getGetter

Gets the get accessor of this declaration, if any.

from DeclarationWithGetSetAccessors
getImplementee

Gets the interface member that is immediately implemented by this member, if any.

from Overridable
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 NamedElement
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
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
getNumberOfChildren

Gets the number of children of this element.

from Element
getNumberOfChildren

Gets the number of children of this element.

from Element
getNumberOfParameters

Gets the number of parameters of this callable.

from Parameterizable
getParameter

Gets the ith parameter, excluding the this parameter.

from Parameterizable
getParent

Gets the parent of this element, if any.

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

Gets the set accessor of this declaration, if any.

from DeclarationWithGetSetAccessors
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
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
hasQualifiedName

Holds if this member has name name and is defined in type type with namespace namespace.

from Member
hasQualifiedName

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

from Declaration
hasQualifiedName

DEPRECATED: Use hasQualifiedName/2 instead. 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

DEPRECATED: Use hasQualifiedName/2 instead. Holds if this element has qualified name qualifiedName, for example System.Console.WriteLine.

from NamedElement
hasUndecoratedName

Holds if this element has undecorated name ‘name’.

from Declaration
hasUndecoratedName

Holds if this element has undecorated name ‘name’.

from Declaration
implements

Holds if this member implements (transitively) an interface member.

from Overridable
implementsExplicitInterface

Holds if this member implements an interface member explicitly.

from Overridable
isAbstract from Member
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
isFile from Member
isImplemented

Holds if this interface member is implemented by some other member.

from Overridable
isInternal from Member
isNew

Holds if this declaration has the modifier new.

from Modifiable
isOverridableOrImplementable

Holds if this member can be overridden or implemented.

from Virtualizable
isOverridden

Holds if this member is overridden by some other member.

from Overridable
isOverride

Holds if this member has the modifier override.

from Virtualizable
isPartial

Holds if this declaration is partial.

from Modifiable
isPrivate from Virtualizable
isProtected from Member
isPublic from Virtualizable
isReadOnly

Holds if this declaration is read-only.

from DeclarationWithGetSetAccessors
isReadWrite

Holds if this declaration is read-write.

from DeclarationWithGetSetAccessors
isRequired from Member
isSealed from Member
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 from Member
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
isVirtual

Holds if this member is virtual.

from Virtualizable
isWriteOnly

Holds if this declaration is write-only.

from DeclarationWithGetSetAccessors
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
overrides

Holds if this member overrides another member.

from Overridable
overridesOrImplements

Holds if this member overrides or implements (transitively) that member.

from Overridable
overridesOrImplementsOrEquals

Holds if this member overrides or implements (reflexively, transitively) that member.

from Overridable
parameterTypesToString

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

from Parameterizable
toString from AssignableMember