Create _writeFragments and rename _readFragmentsById into _readFragments. Change-Id: Ief992b70ff5af923dac75c7553683f6e2ed93a0e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/442171 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Samuel Rawlins <srawlins@google.com> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart index 6015953..22b7f68 100644 --- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart +++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -264,7 +264,7 @@ void _readClassElements() { _libraryElement.classes = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<ClassFragmentImpl>(); + var fragments = _readFragments<ClassFragmentImpl>(); // TODO(scheglov): link fragments. var element = ClassElementImpl(reference, fragments.first); element.readModifiers(_reader); @@ -340,7 +340,7 @@ List<ConstructorElementImpl> _readConstructorElements() { return _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<ConstructorFragmentImpl>(); + var fragments = _readFragments<ConstructorFragmentImpl>(); // TODO(scheglov): link fragments. var element = ConstructorElementImpl( name: fragments.first.name, @@ -478,7 +478,7 @@ void _readEnumElements() { _libraryElement.enums = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<EnumFragmentImpl>(); + var fragments = _readFragments<EnumFragmentImpl>(); // TODO(scheglov): link fragments. var element = EnumElementImpl(reference, fragments.first); @@ -563,7 +563,7 @@ void _readExtensionElements() { _libraryElement.extensions = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<ExtensionFragmentImpl>(); + var fragments = _readFragments<ExtensionFragmentImpl>(); // TODO(scheglov): link fragments. var element = ExtensionElementImpl(reference, fragments.first); @@ -621,7 +621,7 @@ void _readExtensionTypeElements() { _libraryElement.extensionTypes = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<ExtensionTypeFragmentImpl>(); + var fragments = _readFragments<ExtensionTypeFragmentImpl>(); // TODO(scheglov): link fragments. var element = ExtensionTypeElementImpl(reference, fragments.first); @@ -690,7 +690,7 @@ List<FieldElementImpl> _readFieldElements() { return _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<FieldFragmentImpl>(); + var fragments = _readFragments<FieldFragmentImpl>(); // TODO(scheglov): link fragments. var element = FieldElementImpl( reference: reference, @@ -776,14 +776,14 @@ return _reader.readOptionalStringReference(); } - List<T> _readFragmentsById<T extends FragmentImpl>() { + List<T> _readFragments<T extends FragmentImpl>() { return _reader.readTypedList(_readFragmentById); } List<GetterElementImpl> _readGetterElements() { return _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<GetterFragmentImpl>(); + var fragments = _readFragments<GetterFragmentImpl>(); // TODO(scheglov): link fragments. var element = GetterElementImpl(reference, fragments.first); element.readModifiers(_reader); @@ -907,7 +907,7 @@ List<MethodElementImpl> _readMethodElements() { return _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<MethodFragmentImpl>(); + var fragments = _readFragments<MethodFragmentImpl>(); // TODO(scheglov): link fragments. var element = MethodElementImpl( name: fragments.first.name, @@ -970,7 +970,7 @@ void _readMixinElements() { _libraryElement.mixins = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<MixinFragmentImpl>(); + var fragments = _readFragments<MixinFragmentImpl>(); // TODO(scheglov): link fragments. var element = MixinElementImpl(reference, fragments.first); element.readModifiers(_reader); @@ -1108,7 +1108,7 @@ List<SetterElementImpl> _readSetterElements() { return _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<SetterFragmentImpl>(); + var fragments = _readFragments<SetterFragmentImpl>(); // TODO(scheglov): link fragments. var element = SetterElementImpl(reference, fragments.first); element.readModifiers(_reader); @@ -1191,7 +1191,7 @@ void _readTopLevelFunctionElements() { _libraryElement.topLevelFunctions = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<TopLevelFunctionFragmentImpl>(); + var fragments = _readFragments<TopLevelFunctionFragmentImpl>(); // TODO(scheglov): link fragments. var element = TopLevelFunctionElementImpl(reference, fragments.first); @@ -1253,7 +1253,7 @@ void _readTopLevelVariableElements() { _libraryElement.topLevelVariables = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<TopLevelVariableFragmentImpl>(); + var fragments = _readFragments<TopLevelVariableFragmentImpl>(); // TODO(scheglov): link fragments. var element = TopLevelVariableElementImpl(reference, fragments.first); @@ -1293,7 +1293,7 @@ void _readTypeAliasElements() { _libraryElement.typeAliases = _reader.readTypedList(() { var reference = _readReference(); - var fragments = _readFragmentsById<TypeAliasFragmentImpl>(); + var fragments = _readFragments<TypeAliasFragmentImpl>(); var element = TypeAliasElementImpl(reference, fragments.first); element.deferReadResolution(
diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart index 614dd04..2fc29d5 100644 --- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart +++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
@@ -122,7 +122,7 @@ // TODO(scheglov): extract _sink.writeList(libraryElement.topLevelVariables, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); _writeElementResolution(() { _resolutionSink.writeType(element.type); }); @@ -148,9 +148,7 @@ void _writeClassElements(List<ClassElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, (fragment) { - _writeFragmentId(fragment); - }); + _writeFragments(element.fragments); element.writeModifiers(_sink); // We read members lazily. @@ -197,7 +195,7 @@ void _writeConstructorElements(List<ConstructorElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); element.writeModifiers(_sink); _writeElementResolution(() { @@ -269,9 +267,7 @@ void _writeEnumElements(List<EnumElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, (fragment) { - _writeFragmentId(fragment); - }); + _writeFragments(element.fragments); // TODO(scheglov): consider reading lazily _resolutionSink.withTypeParameters(element.typeParameters, () { @@ -331,9 +327,7 @@ void _writeExtensionElements(List<ExtensionElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, (fragment) { - _writeFragmentId(fragment); - }); + _writeFragments(element.fragments); // TODO(scheglov): consider reading lazily _resolutionSink.withTypeParameters(element.typeParameters, () { @@ -367,9 +361,7 @@ void _writeExtensionTypeElements(List<ExtensionTypeElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, (fragment) { - _writeFragmentId(fragment); - }); + _writeFragments(element.fragments); // TODO(scheglov): consider reading lazily _resolutionSink.withTypeParameters(element.typeParameters, () { @@ -416,7 +408,7 @@ void _writeFieldElements(List<FieldElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); _writeElementResolution(() { _resolutionSink.writeType(element.type); }); @@ -476,10 +468,14 @@ _sink._writeOptionalStringReference(fragment.name); } + void _writeFragments(List<FragmentImpl> fragments) { + _sink.writeList(fragments, _writeFragmentId); + } + void _writeGetterElements(List<GetterElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); element.writeModifiers(_sink); _writeElementResolution(() { @@ -541,7 +537,7 @@ void _writeMethodElements(List<MethodElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); element.writeModifiers(_sink); _sink._writeTopLevelInferenceError(element.typeInferenceError); @@ -566,9 +562,7 @@ void _writeMixinElements(List<MixinElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, (fragment) { - _writeFragmentId(fragment); - }); + _writeFragments(element.fragments); element.writeModifiers(_sink); // TODO(scheglov): consider reading lazily @@ -680,7 +674,7 @@ void _writeSetterElements(List<SetterElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); element.writeModifiers(_sink); _writeElementResolution(() { @@ -715,7 +709,7 @@ ) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); _writeElementResolution(() { _resolutionSink.withTypeParameters(element.typeParameters, () { @@ -744,7 +738,7 @@ void _writeTypeAliasElements(List<TypeAliasElementImpl> elements) { _sink.writeList(elements, (element) { _writeReference(element.reference); - _sink.writeList(element.fragments, _writeFragmentId); + _writeFragments(element.fragments); _writeElementResolution(() { _resolutionSink.withTypeParameters(element.typeParameters, () {