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

Class EnumConstant

An enum member constant. For example, ReadOnly and Shared in

enum Attribute {
  ReadOnly = 1,
  Shared = 2
}

Import path

import csharp

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getDeclaringEnum

Gets the enum that declares this constant.

getInitializer

Gets the initial value of this field, if any. For example, the initial value of F on line 2 is 20 in

getUnderlyingType

Gets the underlying integral type of this enum constant. For example, the underlying type of Attribute is byte in

hasExplicitValue

Holds if this enum constant has an explicit value. If not, its value is automatically determined by the compiler. In this example, ReadOnly has an explicit value but Shared does not have an explicit value.

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
getAChildExpr

Gets a child expression of this element, if any.

from TopLevelExprParent
getALocation

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

from Field
getAModifier

Gets a modifier of this declaration.

from Modifiable
getAPrimaryQlClass

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

from Field
getAnAccessfrom Field
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
getDeclaringType

Gets the type containing this declaration, if any.

from Field
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 Field
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
getTypefrom Field
getUnboundDeclaration

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

from Field
getUndecoratedName

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

from Declaration
getValue

Gets the computed value of this constant.

from MemberConstant
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
hasInitializer

Holds if this field has an initial value. For example, the initial value of F on line 2 is 20 in

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

DEPRECATED: Use hasFullyQualifiedName instead.

from Declaration
hasQualifiedName

DEPRECATED: Use hasFullyQualifiedName instead.

from Member
hasUndecoratedName

Holds if this element has undecorated name ‘name’.

from Declaration
isAbstractfrom 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
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
isFilefrom Member
isInternalfrom Member
isNew

Holds if this declaration has the modifier new.

from Modifiable
isPartial

Holds if this declaration is partial.

from Modifiable
isPrivatefrom Member
isProtectedfrom Member
isPublicfrom Member
isReadOnly

Holds if this field is readonly.

from Field
isReadonlyRef

Holds if this is a ref readonly field.

from Field
isRef

Holds if this is a ref field.

from Field
isRequiredfrom Member
isSealedfrom Member
isSourceDeclaration

Holds if this declaration is unconstructed and in source code.

from Declaration
isStaticfrom Member
isUnboundDeclaration

Holds if this declaration is unbound.

from Declaration
isUnsafe

Holds if this declaration is unsafe.

from Modifiable
isVolatile

Holds if this field is volatile.

from Field
matchesHandle

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

from NamedElement
toStringfrom Field
toStringWithTypes

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

from Element

Charpred