@@ -182,12 +182,12 @@ class BundleWriter {
182182 _resolutionSink._writeTypeList (fragment.interfaces);
183183
184184 _writeForLazyRead (() {
185- _writeList (fragment.fields, _writeFieldFragment);
186- _writeList (fragment.getters, _writeGetterFragment);
187- _writeList (fragment.setters, _writeSetterFragment);
188- _writeList (fragment.methods, _writeMethodFragment);
185+ _sink. writeList (fragment.fields, _writeFieldFragment);
186+ _sink. writeList (fragment.getters, _writeGetterFragment);
187+ _sink. writeList (fragment.setters, _writeSetterFragment);
188+ _sink. writeList (fragment.methods, _writeMethodFragment);
189189 if (! fragment.isMixinApplication) {
190- _writeList (fragment.constructors, _writeConstructorFragment);
190+ _sink. writeList (fragment.constructors, _writeConstructorFragment);
191191 }
192192 });
193193 });
@@ -217,7 +217,10 @@ class BundleWriter {
217217 _writeTypeParameters (fragment.typeParameters, () {
218218 _sink.writeList (fragment.formalParameters, _writeParameterElement);
219219 _resolutionSink._writeMetadata (fragment.metadata);
220- _resolutionSink._writeNodeList (fragment.constantInitializers);
220+ _resolutionSink.writeList (
221+ fragment.constantInitializers,
222+ _resolutionSink._writeNode,
223+ );
221224 });
222225 });
223226 }
@@ -295,17 +298,17 @@ class BundleWriter {
295298 _resolutionSink._writeTypeList (fragment.interfaces);
296299
297300 // TODO(scheglov): consider reading lazily
298- _writeList (fragment.fields, _writeFieldFragment);
299- _writeList (fragment.getters, _writeGetterFragment);
300- _writeList (fragment.setters, _writeSetterFragment);
301- _writeList (fragment.constructors, _writeConstructorFragment);
302- _writeList (fragment.methods, _writeMethodFragment);
301+ _sink. writeList (fragment.fields, _writeFieldFragment);
302+ _sink. writeList (fragment.getters, _writeGetterFragment);
303+ _sink. writeList (fragment.setters, _writeSetterFragment);
304+ _sink. writeList (fragment.constructors, _writeConstructorFragment);
305+ _sink. writeList (fragment.methods, _writeMethodFragment);
303306 });
304307 });
305308 }
306309
307310 void _writeExportedReferences (List <ExportedReference > elements) {
308- _writeList < ExportedReference > (elements, (exported) {
311+ _sink. writeList (elements, (exported) {
309312 var index = _references._indexOfReference (exported.reference);
310313 if (exported is ExportedReferenceDeclared ) {
311314 _sink.writeByte (0 );
@@ -353,10 +356,10 @@ class BundleWriter {
353356 _writeTemplateFragment (fragment, () {
354357 _writeTypeParameters (fragment.typeParameters, () {
355358 _resolutionSink._writeMetadata (fragment.metadata);
356- _writeList (fragment.fields, _writeFieldFragment);
357- _writeList (fragment.getters, _writeGetterFragment);
358- _writeList (fragment.setters, _writeSetterFragment);
359- _writeList (fragment.methods, _writeMethodFragment);
359+ _sink. writeList (fragment.fields, _writeFieldFragment);
360+ _sink. writeList (fragment.getters, _writeGetterFragment);
361+ _sink. writeList (fragment.setters, _writeSetterFragment);
362+ _sink. writeList (fragment.methods, _writeMethodFragment);
360363 });
361364 });
362365 }
@@ -395,11 +398,11 @@ class BundleWriter {
395398 _resolutionSink.writeType (fragment.typeErasure);
396399
397400 // TODO(scheglov): consider reading lazily
398- _writeList (fragment.fields, _writeFieldFragment);
399- _writeList (fragment.getters, _writeGetterFragment);
400- _writeList (fragment.setters, _writeSetterFragment);
401- _writeList (fragment.constructors, _writeConstructorFragment);
402- _writeList (fragment.methods, _writeMethodFragment);
401+ _sink. writeList (fragment.fields, _writeFieldFragment);
402+ _sink. writeList (fragment.getters, _writeGetterFragment);
403+ _sink. writeList (fragment.setters, _writeSetterFragment);
404+ _sink. writeList (fragment.constructors, _writeConstructorFragment);
405+ _sink. writeList (fragment.methods, _writeMethodFragment);
403406 });
404407 });
405408 }
@@ -530,13 +533,6 @@ class BundleWriter {
530533 });
531534 }
532535
533- void _writeList <T >(List <T > elements, void Function (T ) writeElement) {
534- _sink.writeUInt30 (elements.length);
535- for (var element in elements) {
536- writeElement (element);
537- }
538- }
539-
540536 void _writeLoadLibraryFunctionReferences (LibraryElementImpl library) {
541537 var element = library.loadLibraryFunction;
542538 _writeReference (element.reference);
@@ -603,11 +599,11 @@ class BundleWriter {
603599 _resolutionSink._writeTypeList (fragment.interfaces);
604600
605601 // TODO(scheglov): consider reading lazily
606- _writeList (fragment.fields, _writeFieldFragment);
607- _writeList (fragment.getters, _writeGetterFragment);
608- _writeList (fragment.setters, _writeSetterFragment);
609- _writeList (fragment.constructors, _writeConstructorFragment);
610- _writeList (fragment.methods, _writeMethodFragment);
602+ _sink. writeList (fragment.fields, _writeFieldFragment);
603+ _sink. writeList (fragment.getters, _writeGetterFragment);
604+ _sink. writeList (fragment.setters, _writeSetterFragment);
605+ _sink. writeList (fragment.constructors, _writeConstructorFragment);
606+ _sink. writeList (fragment.methods, _writeMethodFragment);
611607 });
612608 });
613609 }
@@ -643,7 +639,7 @@ class BundleWriter {
643639 _resolutionSink._writeMetadata (element.metadata);
644640
645641 _writeTypeParameters (element.typeParameters, () {
646- _writeList (element.parameters, _writeParameterElement);
642+ _sink. writeList (element.parameters, _writeParameterElement);
647643 _resolutionSink.writeBool (element.element.inheritsCovariant);
648644 _resolutionSink.writeType (element.element.type);
649645 _resolutionSink._writeOptionalNode (element.constantInitializer);
@@ -795,28 +791,31 @@ class BundleWriter {
795791
796792 _sink.writeBool (unitElement.isSynthetic);
797793
798- _writeList (unitElement.libraryImports, _writeLibraryImport);
799- _writeList (unitElement.libraryExports, _writeLibraryExport);
794+ _sink. writeList (unitElement.libraryImports, _writeLibraryImport);
795+ _sink. writeList (unitElement.libraryExports, _writeLibraryExport);
800796
801797 // Write the metadata for parts here, even though we write parts below.
802798 // The reason is that resolution data must be in a single chunk.
803799 _writePartElementsMetadata (unitElement);
804800
805- _writeList (unitElement.classes, _writeClassFragment);
806- _writeList (unitElement.enums, _writeEnumFragment);
807- _writeList (unitElement.extensions, _writeExtensionFragment);
808- _writeList (unitElement.extensionTypes, _writeExtensionTypeFragment);
809- _writeList (unitElement.functions, _writeTopLevelFunctionFragment);
810- _writeList (unitElement.mixins, _writeMixinFragment);
811- _writeList (unitElement.typeAliases, _writeTypeAliasFragment);
812-
813- _writeList (unitElement.topLevelVariables, _writeTopLevelVariableFragment);
814- _writeList (unitElement.getters, _writeGetterFragment);
815- _writeList (unitElement.setters, _writeSetterFragment);
801+ _sink.writeList (unitElement.classes, _writeClassFragment);
802+ _sink.writeList (unitElement.enums, _writeEnumFragment);
803+ _sink.writeList (unitElement.extensions, _writeExtensionFragment);
804+ _sink.writeList (unitElement.extensionTypes, _writeExtensionTypeFragment);
805+ _sink.writeList (unitElement.functions, _writeTopLevelFunctionFragment);
806+ _sink.writeList (unitElement.mixins, _writeMixinFragment);
807+ _sink.writeList (unitElement.typeAliases, _writeTypeAliasFragment);
808+
809+ _sink.writeList (
810+ unitElement.topLevelVariables,
811+ _writeTopLevelVariableFragment,
812+ );
813+ _sink.writeList (unitElement.getters, _writeGetterFragment);
814+ _sink.writeList (unitElement.setters, _writeSetterFragment);
816815
817816 // Write parts after this library fragment, so that when we read, we
818817 // process fragments of declarations in the same order as we build them.
819- _writeList (unitElement.parts, _writePartInclude);
818+ _sink. writeList (unitElement.parts, _writePartInclude);
820819 }
821820
822821 void _writeVariableGetterSetterLinking (
@@ -949,10 +948,7 @@ class ResolutionSink extends _SummaryDataWriter {
949948 writeEnum (TypeTag .InterfaceType );
950949 // TODO(scheglov): Write raw
951950 writeElement (type.element);
952- writeUInt30 (typeArguments.length);
953- for (var i = 0 ; i < typeArguments.length; ++ i) {
954- writeType (typeArguments[i]);
955- }
951+ _writeTypeList (typeArguments);
956952 _writeNullabilitySuffix (nullabilitySuffix);
957953 }
958954 _writeTypeAliasElementArguments (type);
@@ -994,10 +990,7 @@ class ResolutionSink extends _SummaryDataWriter {
994990 }
995991
996992 void _writeElementList (List <Element > elements) {
997- writeUInt30 (elements.length);
998- for (var element in elements) {
999- writeElement (element);
1000- }
993+ writeList (elements, writeElement);
1001994 }
1002995
1003996 void _writeElementName (Element element) {
@@ -1008,8 +1001,7 @@ class ResolutionSink extends _SummaryDataWriter {
10081001 List <FormalParameterFragmentImpl > parameters, {
10091002 required bool withAnnotations,
10101003 }) {
1011- writeUInt30 (parameters.length);
1012- for (var parameter in parameters) {
1004+ writeList (parameters, (parameter) {
10131005 _writeFormalParameterKind (parameter);
10141006 writeBool (parameter.hasImplicitType);
10151007 writeBool (parameter.isInitializingFormal);
@@ -1024,15 +1016,14 @@ class ResolutionSink extends _SummaryDataWriter {
10241016 if (withAnnotations) {
10251017 _writeMetadata (parameter.metadata);
10261018 }
1027- }
1019+ });
10281020 }
10291021
10301022 void _writeFormalParameters2 (
10311023 List <FormalParameterElementMixin > parameters, {
10321024 required bool withAnnotations,
10331025 }) {
1034- writeUInt30 (parameters.length);
1035- for (var parameter in parameters) {
1026+ writeList (parameters, (parameter) {
10361027 _writeFormalParameterKind2 (parameter);
10371028 writeBool (parameter.hasImplicitType);
10381029 writeBool (parameter.isInitializingFormal);
@@ -1047,7 +1038,7 @@ class ResolutionSink extends _SummaryDataWriter {
10471038 if (withAnnotations) {
10481039 _writeMetadata (parameter.metadata as MetadataImpl );
10491040 }
1050- }
1041+ });
10511042 }
10521043
10531044 void _writeFragmentName (Fragment fragment) {
@@ -1077,13 +1068,6 @@ class ResolutionSink extends _SummaryDataWriter {
10771068 node.accept (astWriter);
10781069 }
10791070
1080- void _writeNodeList (List <AstNode > nodes) {
1081- writeUInt30 (nodes.length);
1082- for (var node in nodes) {
1083- _writeNode (node);
1084- }
1085- }
1086-
10871071 void _writeNullabilitySuffix (NullabilitySuffix suffix) {
10881072 writeByte (suffix.index);
10891073 }
@@ -1121,10 +1105,7 @@ class ResolutionSink extends _SummaryDataWriter {
11211105 }
11221106
11231107 void _writeTypeList (List <DartType > types) {
1124- writeUInt30 (types.length);
1125- for (var type in types) {
1126- writeType (type);
1127- }
1108+ writeList (types, writeType);
11281109 }
11291110
11301111 void _writeTypeParameters (
@@ -1134,10 +1115,7 @@ class ResolutionSink extends _SummaryDataWriter {
11341115 }) {
11351116 var typeParameters = typeParameterFragments.map ((f) => f.element).toList ();
11361117 localElements.withElements (typeParameters, () {
1137- writeUInt30 (typeParameters.length);
1138- for (var typeParameter in typeParameterFragments) {
1139- _writeFragmentName (typeParameter);
1140- }
1118+ writeList (typeParameterFragments, _writeFragmentName);
11411119 for (var typeParameter in typeParameterFragments) {
11421120 writeType (typeParameter.bound);
11431121 if (withAnnotations) {
@@ -1154,10 +1132,7 @@ class ResolutionSink extends _SummaryDataWriter {
11541132 required bool withAnnotations,
11551133 }) {
11561134 localElements.withElements (typeParameters, () {
1157- writeUInt30 (typeParameters.length);
1158- for (var typeParameter in typeParameters) {
1159- _writeElementName (typeParameter);
1160- }
1135+ writeList (typeParameters, _writeElementName);
11611136 for (var typeParameter in typeParameters) {
11621137 writeType (typeParameter.bound);
11631138 if (withAnnotations) {
@@ -1397,10 +1372,7 @@ class _SummaryDataWriter extends BufferedSink {
13971372 }
13981373
13991374 void _writeStringList (List <String > values) {
1400- writeUInt30 (values.length);
1401- for (var value in values) {
1402- _writeStringReference (value);
1403- }
1375+ writeList (values, _writeStringReference);
14041376 }
14051377
14061378 void _writeStringReference (String string) {
0 commit comments