|  | // Copyright (c) 2024, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  |  | 
|  | part of 'fragment.dart'; | 
|  |  | 
|  | class ClassFragment extends DeclarationFragmentImpl implements Fragment { | 
|  | @override | 
|  | final String name; | 
|  |  | 
|  | final int nameOffset; | 
|  |  | 
|  | SourceClassBuilder? _builder; | 
|  |  | 
|  | late final List<MetadataBuilder>? metadata; | 
|  | late final Modifiers modifiers; | 
|  | late final TypeBuilder? supertype; | 
|  | late final List<TypeBuilder>? mixins; | 
|  | late final List<TypeBuilder>? interfaces; | 
|  | late final List<ConstructorReferenceBuilder> constructorReferences; | 
|  | late final int startOffset; | 
|  | late final int endOffset; | 
|  |  | 
|  | @override | 
|  | late final UriOffsetLength uriOffset = | 
|  | new UriOffsetLength(fileUri, nameOffset, name.length); | 
|  |  | 
|  | ClassFragment({ | 
|  | required this.name, | 
|  | required super.fileUri, | 
|  | required this.nameOffset, | 
|  | required super.typeParameters, | 
|  | required super.enclosingScope, | 
|  | required super.typeParameterScope, | 
|  | required super.nominalParameterNameSpace, | 
|  | required super.enclosingCompilationUnit, | 
|  | }); | 
|  |  | 
|  | @override | 
|  | // Coverage-ignore(suite): Not run. | 
|  | SourceClassBuilder get builder { | 
|  | assert(_builder != null, "Builder has not been computed for $this."); | 
|  | return _builder!; | 
|  | } | 
|  |  | 
|  | void set builder(SourceClassBuilder value) { | 
|  | assert(_builder == null, "Builder has already been computed for $this."); | 
|  | _builder = value; | 
|  | } | 
|  |  | 
|  | @override | 
|  | bool get isPatch => enclosingCompilationUnit.isPatch && modifiers.isAugment; | 
|  |  | 
|  | @override | 
|  | // Coverage-ignore(suite): Not run. | 
|  | DeclarationFragmentKind get kind => DeclarationFragmentKind.classDeclaration; | 
|  |  | 
|  | @override | 
|  | String toString() => '$runtimeType($name,$fileUri,$nameOffset)'; | 
|  | } |