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, () {