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

Class Modifiable

A declaration that can have a modifier.

Import path

import csharp

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getAModifier

Gets a modifier of this declaration.

hasModifier

Holds if this declaration has name as a modifier.

isAbstract

Holds if this declaration is abstract.

isAsync

Holds if this declaration is async.

isConst

Holds if this declaration is const.

isEffectivelyInternal

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

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.

isEffectivelyPublic

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

isExtern

Holds if this declaration is extern.

isFile

Holds if this declaration is file local.

isInternal

Holds if this declaration is internal.

isNew

Holds if this declaration has the modifier new.

isPartial

Holds if this declaration is partial.

isPrivate

Holds if this declaration is private.

isProtected

Holds if this declaration is protected.

isPublic

Holds if this declaration is public.

isRequired

Holds if this declaration has the modifier required.

isSealed

Holds if this declaration is sealed.

isStatic

Holds if this declaration is static.

isUnsafe

Holds if this declaration is unsafe.

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
getAChild

Gets a child of this element, if any.

from Element
getALocation

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

from Element
getAPrimaryQlClass

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

from Element
getChild

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

from Element
getDeclaringType

Gets the type containing this declaration, if any.

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

Gets the name of this element.

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

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

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