@@ -264,9 +264,9 @@ class LibraryReader {
264264 void _readClassElements () {
265265 _libraryElement.classes = _reader.readTypedList (() {
266266 var reference = _readReference ();
267- var fragments = _readFragments <ClassFragmentImpl >();
268- // TODO(scheglov): link fragments.
267+ var fragments = _readFragmentsById <ClassFragmentImpl >();
269268 var element = ClassElementImpl (reference, fragments.first);
269+ element.linkFragments (fragments);
270270 element.readModifiers (_reader);
271271
272272 // Configure for reading members lazily.
@@ -340,13 +340,13 @@ class LibraryReader {
340340 List <ConstructorElementImpl > _readConstructorElements () {
341341 return _reader.readTypedList (() {
342342 var reference = _readReference ();
343- var fragments = _readFragments <ConstructorFragmentImpl >();
344- // TODO(scheglov): link fragments.
343+ var fragments = _readFragmentsById <ConstructorFragmentImpl >();
345344 var element = ConstructorElementImpl (
346345 name: fragments.first.name,
347346 reference: reference,
348347 firstFragment: fragments.first,
349348 );
349+ element.linkFragments (fragments);
350350 element.readModifiers (_reader);
351351
352352 // TODO(scheglov): type parameters
@@ -478,9 +478,9 @@ class LibraryReader {
478478 void _readEnumElements () {
479479 _libraryElement.enums = _reader.readTypedList (() {
480480 var reference = _readReference ();
481- var fragments = _readFragments <EnumFragmentImpl >();
482- // TODO(scheglov): link fragments.
481+ var fragments = _readFragmentsById <EnumFragmentImpl >();
483482 var element = EnumElementImpl (reference, fragments.first);
483+ element.linkFragments (fragments);
484484
485485 // TODO(scheglov): consider reading lazily
486486 for (var fragment in element.fragments) {
@@ -563,9 +563,9 @@ class LibraryReader {
563563 void _readExtensionElements () {
564564 _libraryElement.extensions = _reader.readTypedList (() {
565565 var reference = _readReference ();
566- var fragments = _readFragments <ExtensionFragmentImpl >();
567- // TODO(scheglov): link fragments.
566+ var fragments = _readFragmentsById <ExtensionFragmentImpl >();
568567 var element = ExtensionElementImpl (reference, fragments.first);
568+ element.linkFragments (fragments);
569569
570570 for (var fragment in element.fragments) {
571571 fragment.ensureReadMembers ();
@@ -621,9 +621,9 @@ class LibraryReader {
621621 void _readExtensionTypeElements () {
622622 _libraryElement.extensionTypes = _reader.readTypedList (() {
623623 var reference = _readReference ();
624- var fragments = _readFragments <ExtensionTypeFragmentImpl >();
625- // TODO(scheglov): link fragments.
624+ var fragments = _readFragmentsById <ExtensionTypeFragmentImpl >();
626625 var element = ExtensionTypeElementImpl (reference, fragments.first);
626+ element.linkFragments (fragments);
627627
628628 // TODO(scheglov): consider reading lazily
629629 for (var fragment in element.fragments) {
@@ -690,12 +690,12 @@ class LibraryReader {
690690 List <FieldElementImpl > _readFieldElements () {
691691 return _reader.readTypedList (() {
692692 var reference = _readReference ();
693- var fragments = _readFragments <FieldFragmentImpl >();
694- // TODO(scheglov): link fragments.
693+ var fragments = _readFragmentsById <FieldFragmentImpl >();
695694 var element = FieldElementImpl (
696695 reference: reference,
697696 firstFragment: fragments.first,
698697 );
698+ element.linkFragments (fragments);
699699
700700 element.deferReadResolution (
701701 _createDeferredReadResolutionCallback ((reader) {
@@ -776,16 +776,16 @@ class LibraryReader {
776776 return _reader.readOptionalStringReference ();
777777 }
778778
779- List <T > _readFragments <T extends FragmentImpl >() {
779+ List <T > _readFragmentsById <T extends FragmentImpl >() {
780780 return _reader.readTypedList (_readFragmentById);
781781 }
782782
783783 List <GetterElementImpl > _readGetterElements () {
784784 return _reader.readTypedList (() {
785785 var reference = _readReference ();
786- var fragments = _readFragments <GetterFragmentImpl >();
787- // TODO(scheglov): link fragments.
786+ var fragments = _readFragmentsById <GetterFragmentImpl >();
788787 var element = GetterElementImpl (reference, fragments.first);
788+ element.linkFragments (fragments);
789789 element.readModifiers (_reader);
790790
791791 element.deferReadResolution (
@@ -907,13 +907,13 @@ class LibraryReader {
907907 List <MethodElementImpl > _readMethodElements () {
908908 return _reader.readTypedList (() {
909909 var reference = _readReference ();
910- var fragments = _readFragments <MethodFragmentImpl >();
911- // TODO(scheglov): link fragments.
910+ var fragments = _readFragmentsById <MethodFragmentImpl >();
912911 var element = MethodElementImpl (
913912 name: fragments.first.name,
914913 reference: reference,
915914 firstFragment: fragments.first,
916915 );
916+ element.linkFragments (fragments);
917917 element.readModifiers (_reader);
918918 element.typeInferenceError = _readTopLevelInferenceError ();
919919
@@ -970,9 +970,9 @@ class LibraryReader {
970970 void _readMixinElements () {
971971 _libraryElement.mixins = _reader.readTypedList (() {
972972 var reference = _readReference ();
973- var fragments = _readFragments <MixinFragmentImpl >();
974- // TODO(scheglov): link fragments.
973+ var fragments = _readFragmentsById <MixinFragmentImpl >();
975974 var element = MixinElementImpl (reference, fragments.first);
975+ element.linkFragments (fragments);
976976 element.readModifiers (_reader);
977977
978978 // TODO(scheglov): consider reading lazily
@@ -1108,9 +1108,9 @@ class LibraryReader {
11081108 List <SetterElementImpl > _readSetterElements () {
11091109 return _reader.readTypedList (() {
11101110 var reference = _readReference ();
1111- var fragments = _readFragments <SetterFragmentImpl >();
1112- // TODO(scheglov): link fragments.
1111+ var fragments = _readFragmentsById <SetterFragmentImpl >();
11131112 var element = SetterElementImpl (reference, fragments.first);
1113+ element.linkFragments (fragments);
11141114 element.readModifiers (_reader);
11151115
11161116 element.deferReadResolution (
@@ -1191,9 +1191,9 @@ class LibraryReader {
11911191 void _readTopLevelFunctionElements () {
11921192 _libraryElement.topLevelFunctions = _reader.readTypedList (() {
11931193 var reference = _readReference ();
1194- var fragments = _readFragments <TopLevelFunctionFragmentImpl >();
1195- // TODO(scheglov): link fragments.
1194+ var fragments = _readFragmentsById <TopLevelFunctionFragmentImpl >();
11961195 var element = TopLevelFunctionElementImpl (reference, fragments.first);
1196+ element.linkFragments (fragments);
11971197
11981198 element.deferReadResolution (
11991199 _createDeferredReadResolutionCallback ((reader) {
@@ -1253,9 +1253,9 @@ class LibraryReader {
12531253 void _readTopLevelVariableElements () {
12541254 _libraryElement.topLevelVariables = _reader.readTypedList (() {
12551255 var reference = _readReference ();
1256- var fragments = _readFragments <TopLevelVariableFragmentImpl >();
1257- // TODO(scheglov): link fragments.
1256+ var fragments = _readFragmentsById <TopLevelVariableFragmentImpl >();
12581257 var element = TopLevelVariableElementImpl (reference, fragments.first);
1258+ element.linkFragments (fragments);
12591259
12601260 element.deferReadResolution (
12611261 _createDeferredReadResolutionCallback ((reader) {
@@ -1293,7 +1293,7 @@ class LibraryReader {
12931293 void _readTypeAliasElements () {
12941294 _libraryElement.typeAliases = _reader.readTypedList (() {
12951295 var reference = _readReference ();
1296- var fragments = _readFragments <TypeAliasFragmentImpl >();
1296+ var fragments = _readFragmentsById <TypeAliasFragmentImpl >();
12971297 var element = TypeAliasElementImpl (reference, fragments.first);
12981298
12991299 element.deferReadResolution (
0 commit comments