ClassTypeAliasImpl constructor

ClassTypeAliasImpl({
  1. required CommentImpl? comment,
  2. required List<AnnotationImpl>? metadata,
  3. required Token typedefKeyword,
  4. required Token name,
  5. required TypeParameterListImpl? typeParameters,
  6. required Token equals,
  7. required Token? abstractKeyword,
  8. required Token? macroKeyword,
  9. required Token? inlineKeyword,
  10. required Token? sealedKeyword,
  11. required Token? augmentKeyword,
  12. required Token? mixinKeyword,
  13. required NamedTypeImpl superclass,
  14. required WithClauseImpl withClause,
  15. required ImplementsClauseImpl? implementsClause,
  16. required Token semicolon,
})

Initialize a newly created class type alias. Either or both of the comment and metadata can be null if the class type alias does not have the corresponding attribute. The typeParameters can be null if the class does not have any type parameters. The abstractKeyword can be null if the class is not abstract. The implementsClause can be null if the class does not implement any interfaces.

Implementation

ClassTypeAliasImpl({
  required super.comment,
  required super.metadata,
  required super.typedefKeyword,
  required super.name,
  required TypeParameterListImpl? typeParameters,
  required this.equals,
  required this.abstractKeyword,
  required this.macroKeyword,
  required this.inlineKeyword,
  required this.sealedKeyword,
  required this.augmentKeyword,
  required this.mixinKeyword,
  required NamedTypeImpl superclass,
  required WithClauseImpl withClause,
  required ImplementsClauseImpl? implementsClause,
  required super.semicolon,
})  : _typeParameters = typeParameters,
      _superclass = superclass,
      _withClause = withClause,
      _implementsClause = implementsClause {
  _becomeParentOf(_typeParameters);
  _becomeParentOf(_superclass);
  _becomeParentOf(_withClause);
  _becomeParentOf(_implementsClause);
}