ClassElement class abstract

An element that represents a class or a mixin. The class can be defined by either a class declaration (with a class body), a mixin application (without a class body), a mixin declaration, or an enum declaration.

Clients may not extend, implement or mix-in this class.

Implemented types

Constructors

ClassElement()

Properties

accessors List<PropertyAccessorElement>
Return a list containing all of the accessors (getters and setters) declared in this class.
no setterinherited
allSupertypes List<InterfaceType>
Return a list containing all the supertypes defined for this element and its supertypes. This includes superclasses, mixins, interfaces, and superclass constraints.
no setterinherited
augmentation ClassAugmentationElement?
The immediate augmentation of this element, or null if there are no augmentations. ClassAugmentationElement.augmentationTarget is the back pointer that will point at this element.
no setterinherited
augmented AugmentedClassElement
Returns the result of applying augmentations to this class.
no setter
constructors List<ConstructorElement>
Return a list containing all of the constructors declared in this class. The list will be empty if there are no constructors defined for this class, as is the case when this element represents an enum or a mixin.
no setterinherited
context → AnalysisContext
Return the analysis context in which this element is defined.
no setterinherited
declaration Element
Return the declaration of this element. If the element is a view on an element, e.g. a method from an interface type, with substituted type parameters, return the corresponding element from the class, without any substitutions. If this element is already a declaration (or a synthetic element, e.g. a synthetic property accessor), return itself.
no setterinherited
displayName String
Return the display name of this element, possibly the empty string if this element does not have a name.
no setterinherited
documentationComment String?
Return the content of the documentation comment (including delimiters) for this element, or null if this element does not or cannot have documentation.
no setterinherited
enclosingElement CompilationUnitElement
Return the element that either physically or logically encloses this element. This will be null if this element is a library because libraries are the top-level elements in the model.
no setterinherited
enclosingElement2 CompilationUnitElement
Return the element that either physically or logically encloses this element. This will be null if this element is a library because libraries are the top-level elements in the model.
no setterinherited
enclosingElement3 CompilationUnitElement
Return the element that either physically or logically encloses this element. This will be null if this element is a library because libraries are the top-level elements in the model.
no setterinherited
fields List<FieldElement>
Return a list containing all of the fields declared in this class.
no setterinherited
hasAlwaysThrows bool
Return true if this element has an annotation of the form @alwaysThrows.
no setterinherited
hasDeprecated bool
Return true if this element has an annotation of the form @deprecated or @Deprecated('..').
no setterinherited
hasDoNotStore bool
Return true if this element has an annotation of the form @doNotStore.
no setterinherited
hasFactory bool
Return true if this element has an annotation of the form @factory.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasInternal bool
Return true if this element has an annotation of the form @internal.
no setterinherited
hasIsTest bool
Return true if this element has an annotation of the form @isTest.
no setterinherited
hasIsTestGroup bool
Return true if this element has an annotation of the form @isTestGroup.
no setterinherited
hasJS bool
Return true if this element has an annotation of the form @JS(..).
no setterinherited
hasLiteral bool
Return true if this element has an annotation of the form @literal.
no setterinherited
hasMustBeOverridden bool
Return true if this element has an annotation of the form @mustBeOverridden.
no setterinherited
hasMustCallSuper bool
Return true if this element has an annotation of the form @mustCallSuper.
no setterinherited
hasNonFinalField bool
Return true if this class or its superclass declares a non-final instance field.
no setterinherited
hasNonVirtual bool
Return true if this element has an annotation of the form @nonVirtual.
no setterinherited
hasOptionalTypeArgs bool
Return true if this element has an annotation of the form @optionalTypeArgs.
no setterinherited
hasOverride bool
Return true if this element has an annotation of the form @override.
no setterinherited
hasProtected bool
Return true if this element has an annotation of the form @protected.
no setterinherited
hasRequired bool
Return true if this element has an annotation of the form @required.
no setterinherited
hasSealed bool
Return true if this element has an annotation of the form @sealed.
no setterinherited
hasStaticMember bool
Return true if this class declares a static member.
no setterinherited
hasUseResult bool
Return true if this element has an annotation of the form @useResult or @UseResult('..').
no setterinherited
hasVisibleForOverriding bool
Return true if this element has an annotation of the form @visibleForOverriding.
no setterinherited
hasVisibleForTemplate bool
Return true if this element has an annotation of the form @visibleForTemplate.
no setterinherited
hasVisibleForTesting bool
Return true if this element has an annotation of the form @visibleForTesting.
no setterinherited
id int
The unique integer identifier of this element.
no setterinherited
interfaces List<InterfaceType>
Return a list containing all of the interfaces that are implemented by this class.
no setterinherited
isAbstract bool
Return true if this class is abstract. A class is abstract if it has an explicit abstract modifier or if it is implicitly abstract, such as a class defined by a mixin declaration. Note, that this definition of abstract is different from has unimplemented members. TODO(scheglov) Deprecate and replace it.
no setterinherited
isDartCoreEnum bool
Return true if this class represents the class 'Enum' defined in the dart:core library.
no setterinherited
isDartCoreObject bool
Return true if this class represents the class 'Object' defined in the dart:core library.
no setterinherited
isEnum bool
Return true if this class is defined by an enum declaration.
no setterinherited
isMixin bool
Return true if this class is defined by a mixin declaration.
no setterinherited
isMixinApplication bool
Return true if this class is a mixin application. A class is a mixin application if it was declared using the syntax "class A = B with C;".
no setterinherited
isPrivate bool
Return true if this element is private. Private elements are visible only within the library in which they are declared.
no setterinherited
isPublic bool
Return true if this element is public. Public elements are visible within any library that imports the library in which they are declared.
no setterinherited
isSimplyBounded bool
If the element defines a type, indicates whether the type may safely appear without explicit type parameters as the bounds of a type parameter declaration.
no setterinherited
isSynthetic bool
Return true if this element is synthetic. A synthetic element is an element that is not represented in the source code explicitly, but is implied by the source code, such as the default constructor for a class that does not explicitly define any constructors.
no setterinherited
isValidMixin bool
Return true if this class can validly be used as a mixin when defining another class. For classes defined by a mixin declaration, the result is always true. For classes defined by a class declaration or a mixin application, the behavior of this method is defined by the Dart Language Specification in section 9:
no setterinherited
kind ElementKind
Return the kind of element that this is.
no setterinherited
library LibraryElement
Return the library that contains this element. This will be the element itself if it is a library element. This will be null if this element is MultiplyDefinedElement that is not contained in a library.
no setterinherited
librarySource → Source
If this target is associated with a library, return the source of the library's defining compilation unit; otherwise return null.
no setterinherited
location ElementLocation?
Return an object representing the location of this element in the element model. The object can be used to locate this element at a later time.
no setterinherited
metadata List<ElementAnnotation>
Return a list containing all of the metadata associated with this element. The array will be empty if the element does not have any metadata or if the library containing this element has not yet been resolved.
no setterinherited
methods List<MethodElement>
Return a list containing all of the methods declared in this class.
no setterinherited
mixins List<InterfaceType>
Return a list containing all of the mixins that are applied to the class being extended in order to derive the superclass of this class.
no setterinherited
name String
Return the name of this element, or null if this element does not have a name.
no setterinherited
nameLength int
Return the length of the name of this element in the file that contains the declaration of this element, or 0 if this element does not have a name.
no setterinherited
nameOffset int
Return the offset of the name of this element in the file that contains the declaration of this element, or -1 if this element is synthetic, does not have a name, or otherwise does not have an offset.
no setterinherited
nonSynthetic Element
Return the non-synthetic element that caused this element to be created.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
session AnalysisSession?
Return the analysis session in which this element is defined.
no setterinherited
source → Source
Return the source associated with this target, or null if this target is not associated with a source.
no setterinherited
superclassConstraints List<InterfaceType>
Return a list containing all of the superclass constraints defined for this class. The list will be empty if this class does not represent a mixin declaration. If this class does represent a mixin declaration but the declaration does not have an on clause, then the list will contain the type for the class Object.
no setterinherited
supertype InterfaceType?
Return the superclass of this element.
no setterinherited
thisType InterfaceType
Return the type of this expression for this element.
no setterinherited
typeParameters List<TypeParameterElement>
Return a list containing all of the type parameters declared by this element directly. This does not include type parameters that are declared by any enclosing elements.
no setterinherited
unnamedConstructor ConstructorElement?
Returns the unnamed constructor declared directly in this class. If the class does not declare any constructors, a synthetic default constructor will be returned. TODO(scheglov) Deprecate and remove it.
no setterinherited

Methods

accept<T>(ElementVisitor<T> visitor) → T?
Use the given visitor to visit this element. Return the value returned by the visitor as a result of visiting this element.
inherited
getDisplayString({required bool withNullability, bool multiline = false}) String
Return the presentation of this element as it should appear when presented to users.
inherited
getExtendedDisplayName(String? shortName) String
Return a display name for the given element that includes the path to the compilation unit in which the type is defined. If shortName is null then displayName will be used as the name of this element. Otherwise the provided name will be used.
inherited
getField(String name) FieldElement?
Returns the field (synthetic or explicit) defined directly in this class or augmentation that has the given name. TODO(scheglov) Deprecate and remove it.
inherited
getGetter(String name) PropertyAccessorElement?
Returns the getter (synthetic or explicit) defined directly in this class or augmentation that has the given name. TODO(scheglov) Deprecate and remove it.
inherited
getMethod(String name) MethodElement?
Returns the method defined directly in this class or augmentation that has the given name. TODO(scheglov) Deprecate and remove it.
inherited
getNamedConstructor(String name) ConstructorElement?
Returns the constructor defined directly in this class or augmentation that has the given name. TODO(scheglov) Deprecate and remove it.
inherited
getSetter(String name) PropertyAccessorElement?
Returns the setter (synthetic or explicit) defined directly in this class or augmentation that has the given name. TODO(scheglov) Deprecate and remove it.
inherited
instantiate({required List<DartType> typeArguments, required NullabilitySuffix nullabilitySuffix}) InterfaceType
Create the InterfaceType for this element with the given typeArguments and nullabilitySuffix.
inherited
isAccessibleIn(LibraryElement? library) bool
Return true if this element, assuming that it is within scope, is accessible to code in the given library. This is defined by the Dart Language Specification in section 3.2:
inherited
isAccessibleIn2(LibraryElement library) bool
Return true if this element, assuming that it is within scope, is accessible to code in the given library. This is defined by the Dart Language Specification in section 6.2:
inherited
lookUpConcreteMethod(String methodName, LibraryElement library) MethodElement?
Return the element representing the method that results from looking up the given methodName in this class with respect to the given library, ignoring abstract methods, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.1:
inherited
lookUpGetter(String getterName, LibraryElement library) PropertyAccessorElement?
Return the element representing the getter that results from looking up the given getterName in this class with respect to the given library, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.2:
inherited
lookUpInheritedConcreteGetter(String getterName, LibraryElement library) PropertyAccessorElement?
Return the element representing the getter that results from looking up the given getterName in the superclass of this class with respect to the given library, ignoring abstract getters, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.2:
inherited
lookUpInheritedConcreteMethod(String methodName, LibraryElement library) MethodElement?
Return the element representing the method that results from looking up the given methodName in the superclass of this class with respect to the given library, ignoring abstract methods, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.1:
inherited
lookUpInheritedConcreteSetter(String setterName, LibraryElement library) PropertyAccessorElement?
Return the element representing the setter that results from looking up the given setterName in the superclass of this class with respect to the given library, ignoring abstract setters, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.2:
inherited
lookUpInheritedMethod(String methodName, LibraryElement library) MethodElement?
Return the element representing the method that results from looking up the given methodName in the superclass of this class with respect to the given library, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.1:
inherited
lookUpMethod(String methodName, LibraryElement library) MethodElement?
Return the element representing the method that results from looking up the given methodName in this class with respect to the given library, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.1:
inherited
lookUpSetter(String setterName, LibraryElement library) PropertyAccessorElement?
Return the element representing the setter that results from looking up the given setterName in this class with respect to the given library, or null if the look up fails. The behavior of this method is defined by the Dart Language Specification in section 16.15.2:
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
thisOrAncestorMatching<E extends Element>(bool predicate(Element)) → E?
Return either this element or the most immediate ancestor of this element for which the predicate returns true, or null if there is no such element.
inherited
thisOrAncestorOfType<E extends Element>() → E?
Return either this element or the most immediate ancestor of this element that has the given type, or null if there is no such element.
inherited
toString() String
A string representation of this object.
inherited
visitChildren(ElementVisitor visitor) → void
Use the given visitor to visit all of the children of this element. There is no guarantee of the order in which the children will be visited.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited