Print augmentation libraries after the defining unit.

So, we can read it more naturally, first the declaration, then its
augmentations.

Change-Id: I21805969bff6874660500d4477b39ce5aba7484a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312880
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index cedeba6..96190a6 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -87,7 +87,7 @@
 /// TODO(scheglov) Clean up the list of implicitly analyzed files.
 class AnalysisDriver implements AnalysisDriverGeneric {
   /// The version of data format, should be incremented on every format change.
-  static const int DATA_VERSION = 280;
+  static const int DATA_VERSION = 281;
 
   /// The number of exception contexts allowed to write. Once this field is
   /// zero, we stop writing any new exception contexts in this process.
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 9cccd1b..84f97fd 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -122,7 +122,6 @@
   }
 
   set augmentationTarget(ClassOrAugmentationElementMixin? value) {
-    value?._augmentation = this;
     _augmentationTarget = value;
   }
 
@@ -665,6 +664,10 @@
     return _augmentation;
   }
 
+  set augmentation(ClassAugmentationElementImpl? value) {
+    _augmentation = value;
+  }
+
   @override
   ClassElementImpl? get augmentedDeclaration;
 }
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index 393aa0b..ff9e4be 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -101,10 +101,12 @@
       unitElement: element.enclosingElement2,
     );
     _readTypeParameters(reader, element.typeParameters);
-    element.augmentationTarget =
-        reader.readElement() as ClassOrAugmentationElementMixin;
     element.mixins = reader._readInterfaceTypeList();
     element.interfaces = reader._readInterfaceTypeList();
+    element.augmentationTarget =
+        reader.readElement() as ClassOrAugmentationElementMixin?;
+    element.augmentation =
+        reader.readElement() as ClassAugmentationElementImpl?;
     applyConstantOffsets?.perform();
   }
 }
@@ -147,6 +149,8 @@
     element.supertype = reader._readOptionalInterfaceType();
     element.mixins = reader._readInterfaceTypeList();
     element.interfaces = reader._readInterfaceTypeList();
+    element.augmentation =
+        reader.readElement() as ClassAugmentationElementImpl?;
     applyConstantOffsets?.perform();
   }
 }
diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
index ed14263..74ecc42 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
@@ -146,9 +146,10 @@
     _resolutionSink._writeAnnotationList(element.metadata);
 
     _writeTypeParameters(element.typeParameters, () {
-      _resolutionSink.writeElement(element.augmentationTarget);
       _resolutionSink._writeTypeList(element.mixins);
       _resolutionSink._writeTypeList(element.interfaces);
+      _resolutionSink.writeElement(element.augmentationTarget);
+      _resolutionSink.writeElement(element.augmentation);
 
       _writeList(
         element.fields.where((e) => !e.isSynthetic).toList(),
@@ -180,6 +181,7 @@
       _resolutionSink.writeType(element.supertype);
       _resolutionSink._writeTypeList(element.mixins);
       _resolutionSink._writeTypeList(element.interfaces);
+      _resolutionSink.writeElement(element.augmentation);
 
       if (!element.isMixinApplication) {
         var membersOffset = _sink.offset;
diff --git a/pkg/analyzer/lib/src/summary2/library_builder.dart b/pkg/analyzer/lib/src/summary2/library_builder.dart
index eb68367..585bf0a 100644
--- a/pkg/analyzer/lib/src/summary2/library_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/library_builder.dart
@@ -760,6 +760,7 @@
     }
   }
 
+  /// TODO(scheglov) merge while building
   void _mergeAugmentations() {
     final targets = <String, ClassOrAugmentationElementMixin>{};
     for (final unitElement in element.units) {
@@ -768,8 +769,9 @@
       }
       for (final augmentation in unitElement.classAugmentations) {
         final name = augmentation.name;
-        // TODO(scheglov) create synthetic instead of null assert
-        augmentation.augmentationTarget = targets[name]!;
+        final target = targets[name]!;
+        augmentation.augmentationTarget = target;
+        target.augmentation = augmentation;
         targets[augmentation.name] = augmentation;
       }
     }
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index 6dacd9b..fd761c6 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -604,9 +604,6 @@
 
     _writeElements('exports', e.libraryExports, _writeExportElement);
 
-    _writeElements('augmentationImports', e.augmentationImports,
-        _writeAugmentationImportElement);
-
     _sink.writelnWithIndent('definingUnit');
     _sink.withIndent(() {
       _writeUnitElement(e.definingCompilationUnit);
@@ -615,6 +612,9 @@
     if (e is LibraryElementImpl) {
       _writeLibraryAugmentations(e);
     }
+
+    _writeElements('augmentationImports', e.augmentationImports,
+        _writeAugmentationImportElement);
   }
 
   void _writeMetadata(Element element) {
diff --git a/pkg/analyzer/test/src/summary/elements_test.dart b/pkg/analyzer/test/src/summary/elements_test.dart
index d8718a0..86c516c 100644
--- a/pkg/analyzer/test/src/summary/elements_test.dart
+++ b/pkg/analyzer/test/src/summary/elements_test.dart
@@ -44,8 +44,20 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class A @31
+        augmentation: self::@augmentation::package:test/a.dart::@classAugmentation::A
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/a.dart
+      definingUnit
+        classAugmentations
+          augment class A @68
+            augmentationTarget: self::@class::A
+            augmentedDeclaration: self::@class::A
+            augmentation: self::@augmentation::package:test/b.dart::@classAugmentation::A
       augmentationImports
         package:test/b.dart
           definingUnit
@@ -53,18 +65,6 @@
               augment class A @40
                 augmentationTarget: self::@augmentation::package:test/a.dart::@classAugmentation::A
                 augmentedDeclaration: self::@class::A
-      definingUnit
-        classAugmentations
-          augment class A @68
-            augmentationTarget: self::@class::A
-            augmentedDeclaration: self::@class::A
-            augmentation: self::@augmentation::package:test/b.dart::@classAugmentation::A
-  definingUnit
-    classes
-      class A @31
-        augmentation: self::@augmentation::package:test/a.dart::@classAugmentation::A
-        constructors
-          synthetic @-1
 ''');
   }
 }
@@ -201,8 +201,18 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class C @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/a.dart
+      definingUnit
+        classes
+          class A @60
+            constructors
+              synthetic @-1
       augmentationImports
         package:test/b.dart
           definingUnit
@@ -210,16 +220,6 @@
               class B @32
                 constructors
                   synthetic @-1
-      definingUnit
-        classes
-          class A @60
-            constructors
-              synthetic @-1
-  definingUnit
-    classes
-      class C @31
-        constructors
-          synthetic @-1
 ''');
   }
 
@@ -238,17 +238,6 @@
 ''');
     checkElementText(library, r'''
 library
-  augmentationImports
-    package:test/a.dart
-      definingUnit
-        classes
-          class B @35
-            supertype: A<int>
-            constructors
-              @56
-                superConstructor: ConstructorMember
-                  base: self::@class::A::@constructor::named
-                  substitution: {T: int}
   definingUnit
     classes
       class A @31
@@ -262,6 +251,17 @@
             parameters
               requiredPositional a @50
                 type: T
+  augmentationImports
+    package:test/a.dart
+      definingUnit
+        classes
+          class B @35
+            supertype: A<int>
+            constructors
+              @56
+                superConstructor: ConstructorMember
+                  base: self::@class::A::@constructor::named
+                  substitution: {T: int}
 ''');
   }
 
@@ -280,6 +280,13 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class A @31
+        constructors
+          named @39
+            periodOffset: 38
+            nameEnd: 44
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -289,13 +296,6 @@
             constructors
               @51
                 superConstructor: self::@class::A::@constructor::named
-  definingUnit
-    classes
-      class A @31
-        constructors
-          named @39
-            periodOffset: 38
-            nameEnd: 44
 ''');
   }
 
@@ -312,6 +312,11 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class A @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -321,11 +326,6 @@
             constructors
               @51
                 superConstructor: self::@class::A::@constructor::new
-  definingUnit
-    classes
-      class A @31
-        constructors
-          synthetic @-1
 ''');
   }
 
@@ -342,6 +342,15 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
+    typeAliases
+      functionTypeAliasBased notSimplyBounded F @33
+        aliasedType: dynamic Function(C<dynamic>)
+        aliasedElement: GenericFunctionTypeElement
+          parameters
+            requiredPositional value @37
+              type: C<dynamic>
+          returnType: dynamic
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -353,15 +362,6 @@
                 defaultType: dynamic
             constructors
               synthetic @-1
-  definingUnit
-    typeAliases
-      functionTypeAliasBased notSimplyBounded F @33
-        aliasedType: dynamic Function(C<dynamic>)
-        aliasedElement: GenericFunctionTypeElement
-          parameters
-            requiredPositional value @37
-              type: C<dynamic>
-          returnType: dynamic
 ''');
   }
 
@@ -375,6 +375,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -386,7 +387,6 @@
                 defaultType: dynamic
             constructors
               synthetic @-1
-  definingUnit
 ''');
   }
 
@@ -409,6 +409,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -433,7 +434,6 @@
                     staticElement: package:test/a.dart::@class::A::@getter::a
                     staticType: int
             returnType: void
-  definingUnit
 ''');
   }
 
@@ -456,6 +456,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -487,7 +488,6 @@
                       staticType: int
                     staticType: int
             returnType: void
-  definingUnit
 ''');
   }
 
@@ -501,11 +501,11 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       documentationComment: /// My documentation.
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -526,6 +526,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -543,7 +544,6 @@
         accessors
           synthetic static get b @-1
             returnType: int
-  definingUnit
 ''');
   }
 
@@ -566,6 +566,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -591,7 +592,6 @@
         accessors
           synthetic static get b @-1
             returnType: int
-  definingUnit
 ''');
   }
 
@@ -614,6 +614,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -638,7 +639,6 @@
         accessors
           synthetic static get a @-1
             returnType: A
-  definingUnit
 ''');
   }
 
@@ -661,6 +661,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -693,7 +694,6 @@
         accessors
           synthetic static get b @-1
             returnType: int
-  definingUnit
 ''');
   }
 
@@ -714,6 +714,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -722,7 +723,6 @@
         functions
           f @65
             returnType: A
-  definingUnit
 ''');
   }
 
@@ -743,6 +743,7 @@
 
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
       imports
@@ -755,7 +756,6 @@
         accessors
           synthetic static get b @-1
             returnType: int
-  definingUnit
 ''');
   }
 
@@ -779,6 +779,10 @@
     // But the library does not import, so there `A` is unresolved.
     checkElementText(library, r'''
 library
+  definingUnit
+    functions
+      f @27
+        returnType: InvalidType
   augmentationImports
     package:test/b.dart
       imports
@@ -787,10 +791,6 @@
         functions
           f @48
             returnType: A
-  definingUnit
-    functions
-      f @27
-        returnType: InvalidType
 ''');
   }
 
@@ -816,16 +816,16 @@
 library
   imports
     package:test/a.dart
+  definingUnit
+    functions
+      f @44
+        returnType: A
   augmentationImports
     package:test/b.dart
       definingUnit
         functions
           f @31
             returnType: InvalidType
-  definingUnit
-    functions
-      f @44
-        returnType: A
 ''');
   }
 
@@ -848,6 +848,7 @@
 library
   imports
     dart:io
+  definingUnit
   augmentationImports
     package:test/a.dart
       exports
@@ -858,7 +859,6 @@
         dart:collection
         dart:math
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -881,6 +881,7 @@
 library
   imports
     dart:io
+  definingUnit
   augmentationImports
     package:test/a.dart
       imports
@@ -891,7 +892,6 @@
         dart:collection
         dart:math
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -910,6 +910,10 @@
     // The augmentation declares `A`, and can it be used in the library.
     checkElementText(library, r'''
 library
+  definingUnit
+    functions
+      f @27
+        returnType: A
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -920,10 +924,6 @@
         functions
           f @42
             returnType: A
-  definingUnit
-    functions
-      f @27
-        returnType: A
 ''');
   }
 
@@ -942,12 +942,6 @@
     // The library declares `A`, and can it be used in the augmentation.
     checkElementText(library, r'''
 library
-  augmentationImports
-    package:test/a.dart
-      definingUnit
-        functions
-          f @31
-            returnType: A
   definingUnit
     classes
       class A @31
@@ -956,6 +950,12 @@
     functions
       f @38
         returnType: A
+  augmentationImports
+    package:test/a.dart
+      definingUnit
+        functions
+          f @31
+            returnType: A
 ''');
   }
 
@@ -23629,6 +23629,11 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class B @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -23636,11 +23641,6 @@
           class A @35
             constructors
               synthetic @-1
-  definingUnit
-    classes
-      class B @31
-        constructors
-          synthetic @-1
   exportedReferences
     declared self::@augmentation::package:test/a.dart::@class::A
     declared self::@class::B
@@ -23678,6 +23678,11 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class X @56
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/d.dart
       exports
@@ -23688,11 +23693,6 @@
         package:test/b.dart
         package:test/c.dart
       definingUnit
-  definingUnit
-    classes
-      class X @56
-        constructors
-          synthetic @-1
   exportedReferences
     exported[(1, 0)] package:test/a.dart::@class::A
     exported[(2, 0)] package:test/b.dart::@class::B1
@@ -23726,6 +23726,11 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class X @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/b.dart
       exports
@@ -23733,11 +23738,6 @@
           combinators
             hide: A2, A4
       definingUnit
-  definingUnit
-    classes
-      class X @31
-        constructors
-          synthetic @-1
   exportedReferences
     exported[(1, 0)] package:test/a.dart::@class::A1
     exported[(1, 0)] package:test/a.dart::@class::A3
@@ -23766,6 +23766,11 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class X @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/b.dart
       exports
@@ -23773,11 +23778,6 @@
           combinators
             show: A1, A3
       definingUnit
-  definingUnit
-    classes
-      class X @31
-        constructors
-          synthetic @-1
   exportedReferences
     exported[(1, 0)] package:test/a.dart::@class::A1
     exported[(1, 0)] package:test/a.dart::@class::A3
@@ -23806,8 +23806,18 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class C @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/a.dart
+      definingUnit
+        classes
+          class A @60
+            constructors
+              synthetic @-1
       augmentationImports
         package:test/b.dart
           definingUnit
@@ -23815,16 +23825,6 @@
               class B @32
                 constructors
                   synthetic @-1
-      definingUnit
-        classes
-          class A @60
-            constructors
-              synthetic @-1
-  definingUnit
-    classes
-      class C @31
-        constructors
-          synthetic @-1
   exportedReferences
     declared self::@augmentation::package:test/a.dart::@class::A
     declared self::@augmentation::package:test/b.dart::@class::B
@@ -23859,21 +23859,21 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
-  augmentationImports
-    package:test/c.dart
-      exports
-        package:test/a.dart
-      augmentationImports
-        package:test/d.dart
-          exports
-            package:test/b.dart
-          definingUnit
-      definingUnit
   definingUnit
     classes
       class X @31
         constructors
           synthetic @-1
+  augmentationImports
+    package:test/c.dart
+      exports
+        package:test/a.dart
+      definingUnit
+      augmentationImports
+        package:test/d.dart
+          exports
+            package:test/b.dart
+          definingUnit
   exportedReferences
     exported[(1, 0)] package:test/a.dart::@class::A
     exported[(2, 0)] package:test/b.dart::@class::B
@@ -23896,6 +23896,7 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -23911,7 +23912,6 @@
               requiredPositional _a @-1
                 type: int
             returnType: void
-  definingUnit
   exportedReferences
     declared self::@augmentation::package:test/a.dart::@getter::a
     declared self::@augmentation::package:test/a.dart::@setter::a
@@ -23932,6 +23932,7 @@
     configuration.withExportScope = true;
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -23946,7 +23947,6 @@
         accessors
           synthetic static get a @-1
             returnType: int
-  definingUnit
   exportedReferences
     declared self::@augmentation::package:test/a.dart::@getter::a
   exportNamespace
@@ -29095,6 +29095,11 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
+    classes
+      class B @31
+        constructors
+          synthetic @-1
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -29102,11 +29107,6 @@
           class A @35
             constructors
               synthetic @-1
-  definingUnit
-    classes
-      class B @31
-        constructors
-          synthetic @-1
 ''');
 
     final import_0 = library.augmentationImports[0];
@@ -29136,19 +29136,19 @@
     configuration.withLibraryAugmentations = true;
     checkElementText(library, r'''
 library
-  augmentationImports
-    package:test/a.dart
-      augmentationImports
-        package:test/b.dart
-          definingUnit
-      definingUnit
-    package:test/c.dart
-      definingUnit
   definingUnit
   augmentations
     self::@augmentation::package:test/a.dart
     self::@augmentation::package:test/b.dart
     self::@augmentation::package:test/c.dart
+  augmentationImports
+    package:test/a.dart
+      definingUnit
+      augmentationImports
+        package:test/b.dart
+          definingUnit
+    package:test/c.dart
+      definingUnit
 ''');
 
     final import_0 = library.augmentationImports[0];
@@ -29162,9 +29162,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     noRelativeUriString
-  definingUnit
 ''');
   }
 
@@ -29174,9 +29174,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     source 'package:test/test.dart'
-  definingUnit
 ''');
   }
 
@@ -29186,9 +29186,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     relativeUri 'foo:bar'
-  definingUnit
 ''');
   }
 
@@ -29201,9 +29201,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     source 'package:test/a.dart'
-  definingUnit
 ''');
   }
 
@@ -29216,9 +29216,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     source 'package:test/a.dart'
-  definingUnit
 ''');
   }
 
@@ -29228,9 +29228,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     source 'package:test/a.dart'
-  definingUnit
 ''');
   }
 
@@ -29240,9 +29240,9 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     relativeUriString ':'
-  definingUnit
 ''');
   }
 
@@ -29949,6 +29949,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       definingUnit
@@ -29964,7 +29965,6 @@
                 element: dart:core::@getter::deprecated
             constructors
               synthetic @-1
-  definingUnit
 ''');
   }
 
@@ -29978,6 +29978,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       metadata
@@ -29989,7 +29990,6 @@
             staticType: null
           element: dart:core::@getter::deprecated
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -30004,6 +30004,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       exports
@@ -30017,7 +30018,6 @@
                 staticType: null
               element: dart:core::@getter::deprecated
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -30035,8 +30035,10 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/b.dart
+      definingUnit
       augmentationImports
         package:test/a.dart
           metadata
@@ -30048,8 +30050,6 @@
                 staticType: null
               element: dart:core::@getter::deprecated
           definingUnit
-      definingUnit
-  definingUnit
 ''');
   }
 
@@ -30064,6 +30064,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       imports
@@ -30077,7 +30078,6 @@
                 staticType: null
               element: dart:core::@getter::deprecated
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -30091,6 +30091,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       metadata
@@ -30102,7 +30103,6 @@
             staticType: null
           element: dart:core::@getter::deprecated
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -32695,6 +32695,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     package:test/a.dart
       metadata
@@ -32706,7 +32707,6 @@
             staticType: null
           element: dart:core::@getter::deprecated
       definingUnit
-  definingUnit
 ''');
   }
 
@@ -32718,6 +32718,7 @@
 ''');
     checkElementText(library, r'''
 library
+  definingUnit
   augmentationImports
     source 'dart:math'
       metadata
@@ -32728,7 +32729,6 @@
             staticElement: dart:core::@getter::deprecated
             staticType: null
           element: dart:core::@getter::deprecated
-  definingUnit
 ''');
   }