@@ -68,7 +68,7 @@ class ClassItem extends InterfaceItem {
6868 @override
6969 void write (BufferedSink sink) {
7070 sink.writeEnum (_ManifestItemKind .class_);
71- super ._write (sink);
71+ super .write (sink);
7272 }
7373}
7474
@@ -90,9 +90,7 @@ class ExportItem extends TopLevelItem {
9090 @override
9191 void write (BufferedSink sink) {
9292 sink.writeEnum (_ManifestItemKind .export_);
93- sink.writeUri (libraryUri);
94- name.write (sink);
95- id.write (sink);
93+ super .write (sink);
9694 }
9795}
9896
@@ -109,10 +107,9 @@ sealed class InstanceItem extends TopLevelItem {
109107 required this .members,
110108 });
111109
112- void _write (BufferedSink sink) {
113- sink.writeUri (libraryUri);
114- name.write (sink);
115- id.write (sink);
110+ @override
111+ void write (BufferedSink sink) {
112+ super .write (sink);
116113 typeParameters.writeList (sink);
117114 sink.writeMap (
118115 members,
@@ -181,21 +178,17 @@ class InstanceItemGetterItem extends InstanceItemMemberItem {
181178 @override
182179 void write (BufferedSink sink) {
183180 sink.writeEnum (_ManifestItemKind2 .instanceGetter);
184- name.write (sink);
185- id.write (sink);
186- sink.writeBool (isStatic);
181+ super .write (sink);
187182 returnType.write (sink);
188183 }
189184}
190185
191186sealed class InstanceItemMemberItem extends ManifestItem {
192- final LookupName name;
193- final ManifestItemId id;
194187 final bool isStatic;
195188
196189 InstanceItemMemberItem ({
197- required this .name,
198- required this .id,
190+ required super .name,
191+ required super .id,
199192 required this .isStatic,
200193 });
201194
@@ -210,6 +203,12 @@ sealed class InstanceItemMemberItem extends ManifestItem {
210203 return InterfaceItemConstructorItem .read (reader);
211204 }
212205 }
206+
207+ @override
208+ void write (BufferedSink sink) {
209+ super .write (sink);
210+ sink.writeBool (isStatic);
211+ }
213212}
214213
215214class InstanceItemMethodItem extends InstanceItemMemberItem {
@@ -262,9 +261,7 @@ class InstanceItemMethodItem extends InstanceItemMemberItem {
262261 @override
263262 void write (BufferedSink sink) {
264263 sink.writeEnum (_ManifestItemKind2 .instanceMethod);
265- name.write (sink);
266- id.write (sink);
267- sink.writeBool (isStatic);
264+ super .write (sink);
268265 functionType.writeNoTag (sink);
269266 }
270267}
@@ -286,6 +283,14 @@ sealed class InterfaceItem extends InstanceItem {
286283 required this .mixins,
287284 });
288285
286+ @override
287+ void write (BufferedSink sink) {
288+ super .write (sink);
289+ supertype.writeOptional (sink);
290+ mixins.writeList (sink);
291+ interfaces.writeList (sink);
292+ }
293+
289294 MatchContext ? _matchInterfaceElement (InterfaceElementImpl2 element) {
290295 var context = MatchContext (parent: null );
291296 context.addTypeParameters (element.typeParameters2);
@@ -296,14 +301,6 @@ sealed class InterfaceItem extends InstanceItem {
296301 }
297302 return null ;
298303 }
299-
300- @override
301- void _write (BufferedSink sink) {
302- super ._write (sink);
303- supertype.writeOptional (sink);
304- mixins.writeList (sink);
305- interfaces.writeList (sink);
306- }
307304}
308305
309306class InterfaceItemConstructorItem extends InstanceItemMemberItem {
@@ -314,10 +311,11 @@ class InterfaceItemConstructorItem extends InstanceItemMemberItem {
314311 InterfaceItemConstructorItem ({
315312 required super .name,
316313 required super .id,
314+ required super .isStatic,
317315 required this .isConst,
318316 required this .isFactory,
319317 required this .functionType,
320- }) : super (isStatic : false ) ;
318+ });
321319
322320 factory InterfaceItemConstructorItem .fromElement ({
323321 required LookupName name,
@@ -329,6 +327,7 @@ class InterfaceItemConstructorItem extends InstanceItemMemberItem {
329327 return InterfaceItemConstructorItem (
330328 name: name,
331329 id: id,
330+ isStatic: false ,
332331 isConst: element.isConst,
333332 isFactory: element.isFactory,
334333 functionType: element.type.encode (context),
@@ -339,6 +338,7 @@ class InterfaceItemConstructorItem extends InstanceItemMemberItem {
339338 return InterfaceItemConstructorItem (
340339 name: LookupName .read (reader),
341340 id: ManifestItemId .read (reader),
341+ isStatic: reader.readBool (),
342342 isConst: reader.readBool (),
343343 isFactory: reader.readBool (),
344344 functionType: ManifestFunctionType .read (reader),
@@ -365,8 +365,7 @@ class InterfaceItemConstructorItem extends InstanceItemMemberItem {
365365 @override
366366 void write (BufferedSink sink) {
367367 sink.writeEnum (_ManifestItemKind2 .interfaceConstructor);
368- name.write (sink);
369- id.write (sink);
368+ super .write (sink);
370369 sink.writeBool (isConst);
371370 sink.writeBool (isFactory);
372371 functionType.writeNoTag (sink);
@@ -409,7 +408,21 @@ class ManifestAnnotation {
409408}
410409
411410sealed class ManifestItem {
412- void write (BufferedSink sink);
411+ /// The name of the item, mostly for debugging.
412+ final LookupName name;
413+
414+ /// The unique identifier of this item.
415+ final ManifestItemId id;
416+
417+ ManifestItem ({
418+ required this .name,
419+ required this .id,
420+ });
421+
422+ void write (BufferedSink sink) {
423+ name.write (sink);
424+ id.write (sink);
425+ }
413426}
414427
415428class ManifestMetadata {
@@ -505,9 +518,7 @@ class TopLevelFunctionItem extends TopLevelItem {
505518 @override
506519 void write (BufferedSink sink) {
507520 sink.writeEnum (_ManifestItemKind .topLevelFunction);
508- sink.writeUri (libraryUri);
509- name.write (sink);
510- id.write (sink);
521+ super .write (sink);
511522 functionType.writeNoTag (sink);
512523 }
513524}
@@ -574,9 +585,7 @@ class TopLevelGetterItem extends TopLevelItem {
574585 @override
575586 void write (BufferedSink sink) {
576587 sink.writeEnum (_ManifestItemKind .topLevelGetter);
577- sink.writeUri (libraryUri);
578- name.write (sink);
579- id.write (sink);
588+ super .write (sink);
580589 metadata.write (sink);
581590 returnType.write (sink);
582591 constInitializer.writeOptional (sink);
@@ -587,16 +596,10 @@ sealed class TopLevelItem extends ManifestItem {
587596 /// The URI of the declaring library, mostly for debugging.
588597 final Uri libraryUri;
589598
590- /// The name of the item, mostly for debugging.
591- final LookupName name;
592-
593- /// The unique identifier of this item.
594- final ManifestItemId id;
595-
596599 TopLevelItem ({
597600 required this .libraryUri,
598- required this .name,
599- required this .id,
601+ required super .name,
602+ required super .id,
600603 });
601604
602605 factory TopLevelItem .read (SummaryDataReader reader) {
@@ -614,6 +617,12 @@ sealed class TopLevelItem extends ManifestItem {
614617 return TopLevelSetterItem .read (reader);
615618 }
616619 }
620+
621+ @override
622+ void write (BufferedSink sink) {
623+ sink.writeUri (libraryUri);
624+ super .write (sink);
625+ }
617626}
618627
619628class TopLevelSetterItem extends TopLevelItem {
@@ -670,9 +679,7 @@ class TopLevelSetterItem extends TopLevelItem {
670679 @override
671680 void write (BufferedSink sink) {
672681 sink.writeEnum (_ManifestItemKind .topLevelSetter);
673- sink.writeUri (libraryUri);
674- name.write (sink);
675- id.write (sink);
682+ super .write (sink);
676683 metadata.write (sink);
677684 valueType.write (sink);
678685 }
0 commit comments