ClassDeclarationImpl class

The declaration of a class.

classDeclaration ::= classModifiers? 'class' SimpleIdentifier TypeParameterList? (ExtendsClause WithClause?)? ImplementsClause? '{' ClassMember* '}'

classModifiers ::= 'sealed' | 'abstract'

Inheritance
Implemented types
Available Extensions

Constructors

ClassDeclarationImpl({required CommentImpl? comment, required List<AnnotationImpl>? metadata, required Token? abstractKeyword, required Token? macroKeyword, required Token? inlineKeyword, required Token? sealedKeyword, required Token? augmentKeyword, required Token? mixinKeyword, required Token classKeyword, required Token name, required TypeParameterListImpl? typeParameters, required ExtendsClauseImpl? extendsClause, required WithClauseImpl? withClause, required ImplementsClauseImpl? implementsClause, required NativeClauseImpl? nativeClause, required Token leftBracket, required List<ClassMemberImpl> members, required Token rightBracket})
Initialize a newly created class declaration. Either or both of the comment and metadata can be null if the class does not have the corresponding attribute. The abstractKeyword can be null if the class is not abstract. The typeParameters can be null if the class does not have any type parameters. Any or all of the extendsClause, withClause, and implementsClause can be null if the class does not have the corresponding clause. The list of members can be null if the class does not have any members.

Properties

abstractKeyword → Token?
The 'abstract' keyword, or null if the keyword was absent.
final
augmentKeyword → Token?
The 'augment' keyword, or null if the keyword was absent.
final
beginToken → Token
Return the first token included in this node's source range.
no setterinherited
childEntities Iterable<SyntacticEntity>
Return an iterator that can be used to iterate through all the entities (either AST nodes or tokens) that make up the contents of this node, including doc comments but excluding other comments.
no setterinherited
classKeyword → Token
The token representing the 'class' keyword.
final
declaredElement ↔ ClassElement?
Return the element associated with this declaration, or null if either this node corresponds to a list of declarations or if the AST structure has not been resolved.
getter/setter pairoverride-getter
declaredElement2 → ClassElement?
Return the element associated with this declaration, or null if either this node corresponds to a list of declarations or if the AST structure has not been resolved.
no setteroverride
documentationComment CommentImpl?
Return the documentation comment associated with this node, or null if this node does not have a documentation comment associated with it.
getter/setter pairinherited
end int
Return the offset of the character immediately following the last character of this node's source range.
no setterinherited
endToken → Token
Return the last token included in this node's source range.
no setteroverride
extendsClause ExtendsClauseImpl?
Returns the extends clause for this class, or null if the class does not extend any other class.
getter/setter pairoverride-getter
firstTokenAfterCommentAndMetadata → Token
Return the first token following the comment and metadata.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
implementsClause ImplementsClauseImpl?
Returns the implements clause for the class/mixin, or null if the class/mixin does not implement any interfaces.
getter/setter pairoverride-getter
inlineKeyword → Token?
The 'inline' keyword, or null if the keyword was absent.
final
isSynthetic bool
Return true if this node is a synthetic node.
no setterinherited
leftBracket → Token
The left curly bracket.
final
length int
Return the number of characters in the syntactic entity's source range.
no setterinherited
macroKeyword → Token?
The 'macro' keyword, or null if the keyword was absent.
final
members NodeListImpl<ClassMemberImpl>
Returns the members defined by the class/mixin.
no setteroverride
metadata NodeListImpl<AnnotationImpl>
Return the annotations associated with this node.
no setterinherited
mixinKeyword → Token?
The 'mixin' keyword, or null if the keyword was absent.
final
name → Token
The name of the member being declared.
finalinherited
name2 → Token
Return the name of the member being declared.
no setterinherited
namedChildEntities Iterable<ChildEntity>
Return properties (tokens and nodes) of this node, with names, in the order in which these entities should normally appear, not necessary in the order they really are (because of recovery).
no setterinherited
nativeClause NativeClauseImpl?
Return the native clause for this class, or null if the class does not have a native clause.
getter/setter pairoverride-getter
offset int
Return the offset from the beginning of the file to the first character in the syntactic entity.
no setterinherited
parent AstNode?
Return this node's parent node, or null if this node is the root of an AST structure.
no setterinherited
rightBracket → Token
The right curly bracket.
final
root AstNode
Return the node at the root of this node's AST structure.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sealedKeyword → Token?
The 'sealed' keyword, or null if the keyword was absent.
final
sortedCommentAndAnnotations List<AstNode>
Return a list containing the comment and annotations associated with this node, sorted in lexical order.
no setterinherited
typeParameters TypeParameterListImpl?
Returns the type parameters for the class/mixin, or null if the class/mixin does not have any type parameters.
getter/setter pairoverride-getter
withClause WithClauseImpl?
Returns the with clause for the class, or null if the class does not have a with clause.
getter/setter pairoverride-getter

Methods

accept<E>(AstVisitor<E> visitor) → E?
Use the given visitor to visit this node.
override
detachFromParent() → void
inherited
findPrevious(Token target) → Token?
Return the token before target or null if it cannot be found.
inherited
getProperty<E>(String name) → E?
Return the value of the property with the given name, or null if this node does not have a property with the given name.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setProperty(String name, Object? value) → void
Set the value of the property with the given name to the given value. If the value is null, the property will effectively be removed.
inherited
thisOrAncestorMatching<E extends AstNode>(bool predicate(AstNode)) → E?
Return either this node or the most immediate ancestor of this node for which the predicate returns true, or null if there is no such node.
inherited
thisOrAncestorOfType<E extends AstNode>() → E?
Return either this node or the most immediate ancestor of this node that has the given type, or null if there is no such node.
inherited
toSource() String
Return a textual description of this node in a form approximating valid source.
inherited
toString() String
A string representation of this object.
inherited
visitChildren(AstVisitor visitor) → void
Use the given visitor to visit all of the children of this node.
override

Operators

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