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

Class ArrayType

An array type, for example int[].

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.

    getArraySuffix

    INTERNAL: Do not use. Gets a string representing the array suffix, for example [,,,].

    getChild

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

    getDimension

    Gets the dimension of this array type. For example int[][] is of dimension 2, while int[] is of dimension 1.

    getElementType

    Gets the element type of this array, for example int in int[].

    getRank

    Gets the rank of this array type. For example int[,] is of rank 2, while int[] is of rank 1.

    hasSameShapeAs

    Holds if this array type has the same shape (dimension and rank) as that array type.

    isMultiDimensional

    Holds if this array is multi-dimensional.

    toStringWithTypes

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

    Inherited predicates

    containsTypeParameters

    Holds if this type contains one or more type parameters.

    from Type
    fromLibrary

    Holds if this element is from an assembly.

    from Element
    fromSource

    Holds if this element is from source code.

    from Element
    getABaseInterface

    Gets an immediate base interface of this type, if any.

    from ValueOrRefType
    getABaseType

    Gets an immediate base type of this type, if any.

    from ValueOrRefType
    getAChild

    Gets a child of this element, if any.

    from Type
    getAChildType

    Gets a nested child type, if any.

    from ValueOrRefType
    getAConstant

    Gets a member constant of this type, if any.

    from ValueOrRefType
    getAConstructor

    Gets a static or instance constructor of this type, if any.

    from ValueOrRefType
    getADepth

    Gets the length of some path to the root of the hierarchy.

    from ValueOrRefType
    getAField

    Gets a field (or member constant) of this type, if any.

    from ValueOrRefType
    getAMember

    Gets a member of this type, if any.

    from ValueOrRefType
    getAMember

    Gets a member of this type with the given name.

    from ValueOrRefType
    getAMethod

    Gets a method of this type, if any.

    from ValueOrRefType
    getAMethod

    Gets a method of this type with the given name.

    from ValueOrRefType
    getAModifier

    Gets a modifier of this declaration.

    from Modifiable
    getANestedType

    Gets a nested type of this type, if any.

    from ValueOrRefType
    getAProperty

    Gets a property of this type, if any.

    from ValueOrRefType
    getASubType

    Gets an immediate subtype of this type, if any.

    from ValueOrRefType
    getAfferentCoupling

    Gets the number of types that directly depend on this type.

    from ValueOrRefType
    getAnAccess

    Gets an access to this member.

    from Member
    getAnAttribute

    Gets an attribute attached to this element, if any.

    from Attributable
    getAnEvent

    Gets an event of this type, if any.

    from ValueOrRefType
    getAnIndexer

    Gets an indexer of this type, if any.

    from ValueOrRefType
    getAnOperator

    Gets a user-defined operator of this type, if any.

    from ValueOrRefType
    getBaseClass

    Gets the immediate base class of this class, if any.

    from ValueOrRefType
    getDeclaringNamespace

    Gets the namespace declaring this type, if any.

    from ValueOrRefType
    getDeclaringType

    Gets the type containing this declaration, if any.

    from ValueOrRefType
    getEfferentCoupling

    Gets the number of types that this type directly depends upon.

    from ValueOrRefType
    getField

    Gets a field (or member constant) with the given name.

    from ValueOrRefType
    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
    getIndex

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

    from Element
    getInheritanceDepth

    Gets the depth of inheritance, which is the maximum distance from object in the type hierarchy. Types that are very deeply nested may be difficult to maintain.

    from ValueOrRefType
    getLackOfCohesionCK

    Gets the Chidamber and Kemerer lack of cohesion metric.

    from ValueOrRefType
    getLackOfCohesionHS

    Gets the Henderson-Sellers lack of cohesion metric.

    from ValueOrRefType
    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
    getName

    Gets the name of this element.

    from Type
    getNamespace

    Gets the namespace containing this type.

    from ValueOrRefType
    getNumberOfAncestors

    Gets the number of (direct or indirect) base types.

    from ValueOrRefType
    getNumberOfCallables

    Gets the number of callables in this type.

    from ValueOrRefType
    getNumberOfChildren

    Gets the number of children of this element.

    from Element
    getNumberOverridden

    Gets the number of overridden methods (NORM) of this reference type.

    from RefType
    getParent

    Gets the parent of this element, if any.

    from Element
    getParentNamespaceDeclaration

    Gets the source namespace declaration in which this type is declared, if any. This only holds for non-nested types.

    from ValueOrRefType
    getPrimaryQlClasses

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

    from Element
    getProperty

    Gets a named property of this type.

    from ValueOrRefType
    getResponse

    Gets the response of this type, which is defined as the total number of callables invoked by this type. This is computed as the total number of calls made by callables in this type, excluding member accesses.

    from ValueOrRefType
    getSpecialisationIndex

    Gets the specialization index of this type.

    from RefType
    getStaticConstructor

    Gets the static constructor of this type, if any.

    from ValueOrRefType
    getUnboundDeclaration

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

    from ValueOrRefType
    getUndecoratedName

    Gets the name of this type without additional syntax such as [] or *.

    from ValueOrRefType
    hasCallable

    Holds if this type has callable c, that is, either c is declared in this type, or c is inherited by this type.

    from ValueOrRefType
    hasFullyQualifiedName

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

    from Declaration
    hasFullyQualifiedName

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

    from Member
    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
    hasMember

    Holds if this type has member m, that is, either m is declared in this type, or m is inherited by this type.

    from ValueOrRefType
    hasMethod

    Holds if this type has method m, that is, either m is declared in this type, or m is inherited by this type.

    from ValueOrRefType
    hasModifier

    Holds if this declaration has name as a modifier.

    from Modifiable
    hasName

    Holds if this element has name ‘name’.

    from NamedElement
    hasUndecoratedName

    Holds if this element has undecorated name ‘name’.

    from Declaration
    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
    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

    Holds if this declaration is file local.

    from Modifiable
    isImplicitlyConvertibleTo

    Holds if this type is implicitly convertible to that type.

    from Type
    isInternal

    Holds if this declaration is internal.

    from Modifiable
    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
    isRecord

    Holds if this type is a record.

    from ValueOrRefType
    isRefType

    Holds if this type is a reference type, or a type parameter that is a reference type.

    from RefType
    isRequired

    Holds if this declaration has the modifier required.

    from Modifiable
    isSealed

    Holds if this declaration is sealed.

    from Modifiable
    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
    isUnsafe

    Holds if this declaration is unsafe.

    from Modifiable
    isValueType

    Holds if this type is a value type, or a type parameter that is a value type.

    from Type
    toStringfrom ValueOrRefType