diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 72a4869..86f31f2 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -6,6 +6,7 @@
 * Deprecated `CompilationUnitElement.types`, use `classes` instead.
 * Added `Element.nonSynthetic`, use it to get the element that caused creation
   of this element, e.g. the field for a synthetic getter.
+* Synthetic getters and setters now use `-1` as `nameOffset`.
 
 ## 1.7.0
 * Require `meta: ^1.4.0`.
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index df8d575..39ab9db 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -82,7 +82,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 = 148;
+  static const int DATA_VERSION = 150;
 
   /// 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 d23483e..c005a09 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -4727,7 +4727,7 @@
   ParameterElementImpl_ofImplicitSetter(
       PropertyAccessorElementImpl_ImplicitSetter setter)
       : setter = setter,
-        super('_${setter.variable.name}', setter.variable.nameOffset) {
+        super('_${setter.variable.name}', -1) {
     enclosingElement = setter;
     isSynthetic = true;
     parameterKind = ParameterKind.REQUIRED;
@@ -4886,7 +4886,7 @@
   /// associated with the given [variable].
   PropertyAccessorElementImpl.forVariable(PropertyInducingElementImpl variable,
       {Reference? reference})
-      : super(variable.name, variable.nameOffset, reference: reference) {
+      : super(variable.name, -1, reference: reference) {
     this.variable = variable;
     isAbstract = variable is FieldElementImpl && variable.isAbstract;
     isStatic = variable.isStatic;
diff --git a/pkg/analyzer/lib/src/summary2/informative_data.dart b/pkg/analyzer/lib/src/summary2/informative_data.dart
index 259d681..a96e330 100644
--- a/pkg/analyzer/lib/src/summary2/informative_data.dart
+++ b/pkg/analyzer/lib/src/summary2/informative_data.dart
@@ -338,10 +338,6 @@
         element as FieldElementImpl;
         element.setCodeRange(info.codeOffset, info.codeLength);
         element.nameOffset = info.nameOffset;
-        (element.getter as PropertyAccessorElementImpl?)?.nameOffset =
-            info.nameOffset;
-        (element.setter as PropertyAccessorElementImpl?)?.nameOffset =
-            info.nameOffset;
         element.documentationComment = info.documentationComment;
 
         var linkedData = element.linkedData as FieldElementLinkedData;
@@ -565,10 +561,6 @@
     element as TopLevelVariableElementImpl;
     element.setCodeRange(info.codeOffset, info.codeLength);
     element.nameOffset = info.nameOffset;
-    (element.getter as PropertyAccessorElementImpl?)?.nameOffset =
-        info.nameOffset;
-    (element.setter as PropertyAccessorElementImpl?)?.nameOffset =
-        info.nameOffset;
     element.documentationComment = info.documentationComment;
 
     var linkedData = element.linkedData as TopLevelVariableElementLinkedData;
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index d0f0792..d0de517 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -177,14 +177,6 @@
     expect(element.nonSynthetic, same(element));
   }
 
-  void _assertNonSyntheticElementSelfOr(Element element, Element ifSynthetic) {
-    if (element.isSynthetic) {
-      expect(element.nonSynthetic, same(ifSynthetic));
-    } else {
-      expect(element.nonSynthetic, same(element));
-    }
-  }
-
   /// Assert that the [accessor] of the [property] is correctly linked to
   /// the same enclosing element as the [property].
   void _assertSyntheticAccessorEnclosing(
@@ -398,7 +390,13 @@
 
     expect(e.isAsynchronous, isFalse);
     expect(e.isGenerator, isFalse);
-    _assertNonSyntheticElementSelfOr(e, e.enclosingElement);
+
+    if (e.isSynthetic) {
+      expect(e.nameOffset, -1);
+      expect(e.nonSynthetic, same(e.enclosingElement));
+    } else {
+      expect(e.nameOffset, isPositive);
+    }
   }
 
   void _writeDocumentation(Element element) {
@@ -668,7 +666,10 @@
       }
     }
 
-    if (!e.isSynthetic) {
+    if (e.isSynthetic) {
+      expect(e.nameOffset, -1);
+    } else {
+      expect(e.nameOffset, isPositive);
       _assertNonSyntheticElementSelf(e);
     }
 
@@ -704,7 +705,9 @@
     DartType type = e.type;
     expect(type, isNotNull);
 
-    if (!e.isSynthetic) {
+    if (e.isSynthetic) {
+      expect(e.nameOffset, -1);
+    } else {
       expect(e.getter, isNotNull);
       _assertSyntheticAccessorEnclosing(e, e.getter!);
 
@@ -712,6 +715,7 @@
         _assertSyntheticAccessorEnclosing(e, e.setter!);
       }
 
+      expect(e.nameOffset, isPositive);
       _assertNonSyntheticElementSelf(e);
     }
 
diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
index acba031..738afb8 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
@@ -27,7 +27,7 @@
 main() {
   defineReflectiveSuite(() {
     defineReflectiveTests(ResynthesizeAst2Test);
-    defineReflectiveTests(ApplyCheckElementTextReplacements);
+    // defineReflectiveTests(ApplyCheckElementTextReplacements);
   });
 }
 
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/resynthesize_common.dart
index 0dc788c..1071a07 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/resynthesize_common.dart
@@ -855,11 +855,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @105
+          synthetic get x @-1
             returnType: int
-          synthetic set x @105
+          synthetic set x @-1
             parameters
-              requiredPositional _x @105
+              requiredPositional _x @-1
                 type: int
             returnType: void
           get a @51
@@ -983,11 +983,11 @@
               requiredPositional final this.x @36
                 type: dynamic
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @18
+          synthetic set x @-1
             parameters
-              requiredPositional _x @18
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1009,11 +1009,11 @@
               requiredPositional final this.x @32
                 type: int
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @18
+          synthetic set x @-1
             parameters
-              requiredPositional _x @18
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1035,11 +1035,11 @@
               requiredPositional final this.x @28
                 type: dynamic
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @18
+          synthetic set x @-1
             parameters
-              requiredPositional _x @18
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1069,11 +1069,11 @@
                   requiredPositional b @-1
                     type: double
         accessors
-          synthetic get x @16
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @16
+          synthetic set x @-1
             parameters
-              requiredPositional _x @16
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1103,11 +1103,11 @@
                   requiredPositional b @-1
                     type: double
         accessors
-          synthetic get x @16
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @16
+          synthetic set x @-1
             parameters
-              requiredPositional _x @16
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1140,11 +1140,11 @@
                   requiredPositional t @-1
                     type: T
         accessors
-          synthetic get f @23
+          synthetic get f @-1
             returnType: dynamic Function()
-          synthetic set f @23
+          synthetic set f @-1
             parameters
-              requiredPositional _f @23
+              requiredPositional _f @-1
                 type: dynamic Function()
             returnType: void
 ''');
@@ -1170,18 +1170,18 @@
               requiredPositional final this.x @17
                 type: int
         accessors
-          synthetic get x @25
+          synthetic get x @-1
             returnType: int
-          synthetic set x @25
+          synthetic set x @-1
             parameters
-              requiredPositional _x @25
+              requiredPositional _x @-1
                 type: int
             returnType: void
-          synthetic get x @35
+          synthetic get x @-1
             returnType: String
-          synthetic set x @35
+          synthetic set x @-1
             parameters
-              requiredPositional _x @35
+              requiredPositional _x @-1
                 type: String
             returnType: void
 ''');
@@ -1221,11 +1221,11 @@
               requiredPositional final this.x @32
                 type: dynamic
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: num
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: num
             returnType: void
 ''');
@@ -1247,11 +1247,11 @@
               requiredPositional final this.x @28
                 type: int
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: num
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: num
             returnType: void
 ''');
@@ -1273,11 +1273,11 @@
               requiredPositional final this.x @24
                 type: num
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: num
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: num
             returnType: void
 ''');
@@ -1299,11 +1299,11 @@
               requiredPositional final this.x @32
                 type: dynamic
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1325,11 +1325,11 @@
               requiredPositional final this.x @28
                 type: int
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1351,11 +1351,11 @@
               requiredPositional final this.x @24
                 type: dynamic
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1377,11 +1377,11 @@
               optionalNamed final this.x @25
                 type: int
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: int
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -1407,11 +1407,11 @@
                     literal: 42 @28
                     staticType: int
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: int
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -1433,11 +1433,11 @@
               optionalPositional final this.x @25
                 type: int
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: int
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -1463,11 +1463,11 @@
                     literal: 42 @29
                     staticType: int
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: int
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -1837,7 +1837,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get i @27
+          synthetic static get i @-1
             returnType: int
 ''');
   }
@@ -1860,7 +1860,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get i @32
+          synthetic static get i @-1
             returnType: int
 ''');
   }
@@ -1887,7 +1887,7 @@
               requiredPositional final this.foo @36
                 type: int
         accessors
-          synthetic get foo @22
+          synthetic get foo @-1
             returnType: int
           set foo @48
             parameters
@@ -1910,11 +1910,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1933,11 +1933,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @19
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @19
+          synthetic set x @-1
             parameters
-              requiredPositional _x @19
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -1979,7 +1979,7 @@
         constructors
           const @80
         accessors
-          synthetic get foo @93
+          synthetic get foo @-1
             returnType: double
 ''');
   }
@@ -1997,11 +1997,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get i @21
+          synthetic static get i @-1
             returnType: int
-          synthetic static set i @21
+          synthetic static set i @-1
             parameters
-              requiredPositional _i @21
+              requiredPositional _i @-1
                 type: int
             returnType: void
 ''');
@@ -2020,11 +2020,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get i @26
+          synthetic static get i @-1
             returnType: int
-          synthetic static set i @26
+          synthetic static set i @-1
             parameters
-              requiredPositional _i @26
+              requiredPositional _i @-1
                 type: int
             returnType: void
 ''');
@@ -2045,18 +2045,18 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get i @14
+          synthetic get i @-1
             returnType: int
-          synthetic set i @14
+          synthetic set i @-1
             parameters
-              requiredPositional _i @14
+              requiredPositional _i @-1
                 type: int
             returnType: void
-          synthetic get j @21
+          synthetic get j @-1
             returnType: int
-          synthetic set j @21
+          synthetic set j @-1
             parameters
-              requiredPositional _j @21
+              requiredPositional _j @-1
                 type: int
             returnType: void
 ''');
@@ -2079,11 +2079,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get foo @21
+          synthetic get foo @-1
             returnType: int
-          synthetic set foo @21
+          synthetic set foo @-1
             parameters
-              requiredPositional _foo @21
+              requiredPositional _foo @-1
                 type: int
             returnType: void
 ''');
@@ -2106,11 +2106,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get foo @27
+          synthetic get foo @-1
             returnType: int
-          synthetic set foo @27
+          synthetic set foo @-1
             parameters
-              requiredPositional _foo @27
+              requiredPositional _foo @-1
                 type: int
             returnType: void
 ''');
@@ -2133,7 +2133,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get foo @27
+          synthetic get foo @-1
             returnType: int
 ''');
   }
@@ -3016,11 +3016,11 @@
       static c @13
         type: C
     accessors
-      synthetic static get c @13
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @13
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @13
+          requiredPositional _c @-1
             type: C
         returnType: void
 ''');
@@ -3042,11 +3042,11 @@
       static c @14
         type: C?
     accessors
-      synthetic static get c @14
+      synthetic static get c @-1
         returnType: C?
-      synthetic static set c @14
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @14
+          requiredPositional _c @-1
             type: C?
         returnType: void
 ''');
@@ -3069,11 +3069,11 @@
       static c @13
         type: C*
     accessors
-      synthetic static get c @13
+      synthetic static get c @-1
         returnType: C*
-      synthetic static set c @13
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @13
+          requiredPositional _c @-1
             type: C*
         returnType: void
 ''');
@@ -4024,7 +4024,7 @@
       static final f @6
         type: V Function<U, V>(U, V)
     accessors
-      synthetic static get f @6
+      synthetic static get f @-1
         returnType: V Function<U, V>(U, V)
 ''');
   }
@@ -4046,7 +4046,7 @@
         static final f @19
           type: double Function(int)
       accessors
-        synthetic static get f @19
+        synthetic static get f @-1
           returnType: double Function(int)
 ''');
   }
@@ -4818,39 +4818,39 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get withInit @16
+          synthetic get withInit @-1
             returnType: int
-          synthetic set withInit @16
+          synthetic set withInit @-1
             parameters
-              requiredPositional _withInit @16
+              requiredPositional _withInit @-1
                 type: int
             returnType: void
-          synthetic get withoutInit @37
+          synthetic get withoutInit @-1
             returnType: int
-          synthetic set withoutInit @37
+          synthetic set withoutInit @-1
             parameters
-              requiredPositional _withoutInit @37
+              requiredPositional _withoutInit @-1
                 type: int
             returnType: void
-          synthetic get multiWithInit @57
+          synthetic get multiWithInit @-1
             returnType: int
-          synthetic set multiWithInit @57
+          synthetic set multiWithInit @-1
             parameters
-              requiredPositional _multiWithInit @57
+              requiredPositional _multiWithInit @-1
                 type: int
             returnType: void
-          synthetic get multiWithoutInit @76
+          synthetic get multiWithoutInit @-1
             returnType: int
-          synthetic set multiWithoutInit @76
+          synthetic set multiWithoutInit @-1
             parameters
-              requiredPositional _multiWithoutInit @76
+              requiredPositional _multiWithoutInit @-1
                 type: int
             returnType: void
-          synthetic get multiWithInit2 @94
+          synthetic get multiWithInit2 @-1
             returnType: int
-          synthetic set multiWithInit2 @94
+          synthetic set multiWithInit2 @-1
             parameters
-              requiredPositional _multiWithInit2 @94
+              requiredPositional _multiWithInit2 @-1
                 type: int
             returnType: void
 ''',
@@ -5032,74 +5032,74 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get hasDocComment @50
+          synthetic get hasDocComment @-1
             returnType: int
-          synthetic set hasDocComment @50
+          synthetic set hasDocComment @-1
             parameters
-              requiredPositional _hasDocComment @50
+              requiredPositional _hasDocComment @-1
                 type: int
             returnType: void
-          synthetic get hasDocComment2 @65
+          synthetic get hasDocComment2 @-1
             returnType: int
-          synthetic set hasDocComment2 @65
+          synthetic set hasDocComment2 @-1
             parameters
-              requiredPositional _hasDocComment2 @65
+              requiredPositional _hasDocComment2 @-1
                 type: int
             returnType: void
-          synthetic get hasAnnotation @100
+          synthetic get hasAnnotation @-1
             returnType: int
-          synthetic set hasAnnotation @100
+          synthetic set hasAnnotation @-1
             parameters
-              requiredPositional _hasAnnotation @100
+              requiredPositional _hasAnnotation @-1
                 type: int
             returnType: void
-          synthetic get hasAnnotation2 @115
+          synthetic get hasAnnotation2 @-1
             returnType: int
-          synthetic set hasAnnotation2 @115
+          synthetic set hasAnnotation2 @-1
             parameters
-              requiredPositional _hasAnnotation2 @115
+              requiredPositional _hasAnnotation2 @-1
                 type: int
             returnType: void
-          synthetic get annotationThenComment @184
+          synthetic get annotationThenComment @-1
             returnType: int
-          synthetic set annotationThenComment @184
+          synthetic set annotationThenComment @-1
             parameters
-              requiredPositional _annotationThenComment @184
+              requiredPositional _annotationThenComment @-1
                 type: int
             returnType: void
-          synthetic get annotationThenComment2 @207
+          synthetic get annotationThenComment2 @-1
             returnType: int
-          synthetic set annotationThenComment2 @207
+          synthetic set annotationThenComment2 @-1
             parameters
-              requiredPositional _annotationThenComment2 @207
+              requiredPositional _annotationThenComment2 @-1
                 type: int
             returnType: void
-          synthetic get commentThenAnnotation @284
+          synthetic get commentThenAnnotation @-1
             returnType: int
-          synthetic set commentThenAnnotation @284
+          synthetic set commentThenAnnotation @-1
             parameters
-              requiredPositional _commentThenAnnotation @284
+              requiredPositional _commentThenAnnotation @-1
                 type: int
             returnType: void
-          synthetic get commentThenAnnotation2 @307
+          synthetic get commentThenAnnotation2 @-1
             returnType: int
-          synthetic set commentThenAnnotation2 @307
+          synthetic set commentThenAnnotation2 @-1
             parameters
-              requiredPositional _commentThenAnnotation2 @307
+              requiredPositional _commentThenAnnotation2 @-1
                 type: int
             returnType: void
-          synthetic get commentAroundAnnotation @384
+          synthetic get commentAroundAnnotation @-1
             returnType: int
-          synthetic set commentAroundAnnotation @384
+          synthetic set commentAroundAnnotation @-1
             parameters
-              requiredPositional _commentAroundAnnotation @384
+              requiredPositional _commentAroundAnnotation @-1
                 type: int
             returnType: void
-          synthetic get commentAroundAnnotation2 @409
+          synthetic get commentAroundAnnotation2 @-1
             returnType: int
-          synthetic set commentAroundAnnotation2 @409
+          synthetic set commentAroundAnnotation2 @-1
             parameters
-              requiredPositional _commentAroundAnnotation2 @409
+              requiredPositional _commentAroundAnnotation2 @-1
                 type: int
             returnType: void
 ''',
@@ -5675,39 +5675,39 @@
         codeLength: 18
         type: int
     accessors
-      synthetic static get withInit @4
+      synthetic static get withInit @-1
         returnType: int
-      synthetic static set withInit @4
+      synthetic static set withInit @-1
         parameters
-          requiredPositional _withInit @4
+          requiredPositional _withInit @-1
             type: int
         returnType: void
-      synthetic static get withoutInit @31
+      synthetic static get withoutInit @-1
         returnType: int
-      synthetic static set withoutInit @31
+      synthetic static set withoutInit @-1
         parameters
-          requiredPositional _withoutInit @31
+          requiredPositional _withoutInit @-1
             type: int
         returnType: void
-      synthetic static get multiWithInit @49
+      synthetic static get multiWithInit @-1
         returnType: int
-      synthetic static set multiWithInit @49
+      synthetic static set multiWithInit @-1
         parameters
-          requiredPositional _multiWithInit @49
+          requiredPositional _multiWithInit @-1
             type: int
         returnType: void
-      synthetic static get multiWithoutInit @68
+      synthetic static get multiWithoutInit @-1
         returnType: int
-      synthetic static set multiWithoutInit @68
+      synthetic static set multiWithoutInit @-1
         parameters
-          requiredPositional _multiWithoutInit @68
+          requiredPositional _multiWithoutInit @-1
             type: int
         returnType: void
-      synthetic static get multiWithInit2 @86
+      synthetic static get multiWithInit2 @-1
         returnType: int
-      synthetic static set multiWithInit2 @86
+      synthetic static set multiWithInit2 @-1
         parameters
-          requiredPositional _multiWithInit2 @86
+          requiredPositional _multiWithInit2 @-1
             type: int
         returnType: void
 ''',
@@ -5881,74 +5881,74 @@
         codeLength: 24
         type: int
     accessors
-      synthetic static get hasDocComment @34
+      synthetic static get hasDocComment @-1
         returnType: int
-      synthetic static set hasDocComment @34
+      synthetic static set hasDocComment @-1
         parameters
-          requiredPositional _hasDocComment @34
+          requiredPositional _hasDocComment @-1
             type: int
         returnType: void
-      synthetic static get hasDocComment2 @49
+      synthetic static get hasDocComment2 @-1
         returnType: int
-      synthetic static set hasDocComment2 @49
+      synthetic static set hasDocComment2 @-1
         parameters
-          requiredPositional _hasDocComment2 @49
+          requiredPositional _hasDocComment2 @-1
             type: int
         returnType: void
-      synthetic static get hasAnnotation @80
+      synthetic static get hasAnnotation @-1
         returnType: int
-      synthetic static set hasAnnotation @80
+      synthetic static set hasAnnotation @-1
         parameters
-          requiredPositional _hasAnnotation @80
+          requiredPositional _hasAnnotation @-1
             type: int
         returnType: void
-      synthetic static get hasAnnotation2 @95
+      synthetic static get hasAnnotation2 @-1
         returnType: int
-      synthetic static set hasAnnotation2 @95
+      synthetic static set hasAnnotation2 @-1
         parameters
-          requiredPositional _hasAnnotation2 @95
+          requiredPositional _hasAnnotation2 @-1
             type: int
         returnType: void
-      synthetic static get annotationThenComment @156
+      synthetic static get annotationThenComment @-1
         returnType: int
-      synthetic static set annotationThenComment @156
+      synthetic static set annotationThenComment @-1
         parameters
-          requiredPositional _annotationThenComment @156
+          requiredPositional _annotationThenComment @-1
             type: int
         returnType: void
-      synthetic static get annotationThenComment2 @179
+      synthetic static get annotationThenComment2 @-1
         returnType: int
-      synthetic static set annotationThenComment2 @179
+      synthetic static set annotationThenComment2 @-1
         parameters
-          requiredPositional _annotationThenComment2 @179
+          requiredPositional _annotationThenComment2 @-1
             type: int
         returnType: void
-      synthetic static get commentThenAnnotation @248
+      synthetic static get commentThenAnnotation @-1
         returnType: int
-      synthetic static set commentThenAnnotation @248
+      synthetic static set commentThenAnnotation @-1
         parameters
-          requiredPositional _commentThenAnnotation @248
+          requiredPositional _commentThenAnnotation @-1
             type: int
         returnType: void
-      synthetic static get commentThenAnnotation2 @271
+      synthetic static get commentThenAnnotation2 @-1
         returnType: int
-      synthetic static set commentThenAnnotation2 @271
+      synthetic static set commentThenAnnotation2 @-1
         parameters
-          requiredPositional _commentThenAnnotation2 @271
+          requiredPositional _commentThenAnnotation2 @-1
             type: int
         returnType: void
-      synthetic static get commentAroundAnnotation @340
+      synthetic static get commentAroundAnnotation @-1
         returnType: int
-      synthetic static set commentAroundAnnotation @340
+      synthetic static set commentAroundAnnotation @-1
         parameters
-          requiredPositional _commentAroundAnnotation @340
+          requiredPositional _commentAroundAnnotation @-1
             type: int
         returnType: void
-      synthetic static get commentAroundAnnotation2 @365
+      synthetic static get commentAroundAnnotation2 @-1
         returnType: int
-      synthetic static set commentAroundAnnotation2 @365
+      synthetic static set commentAroundAnnotation2 @-1
         parameters
-          requiredPositional _commentAroundAnnotation2 @365
+          requiredPositional _commentAroundAnnotation2 @-1
             type: int
         returnType: void
 ''',
@@ -6040,9 +6040,9 @@
                 token: int @32
               type: int
     accessors
-      synthetic static get a @10
+      synthetic static get a @-1
         returnType: num
-      synthetic static get b @23
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -6085,9 +6085,9 @@
             rightParenthesis: ) @30
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
-      synthetic static get b @19
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -6128,7 +6128,7 @@
               literal: 0 @10
               staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -6185,11 +6185,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get f1 @29
+          synthetic static get f1 @-1
             returnType: int
-          synthetic static get f2 @56
+          synthetic static get f2 @-1
             returnType: int
-          synthetic static get f3 @67
+          synthetic static get f3 @-1
             returnType: int
 ''');
   }
@@ -6227,7 +6227,7 @@
               requiredPositional final this.t @66
                 type: T
         accessors
-          synthetic get t @23
+          synthetic get t @-1
             returnType: T
     topLevelVariables
       static const x @85
@@ -6284,9 +6284,9 @@
             keyword: const @118
             staticType: C<int>
     accessors
-      synthetic static get x @85
+      synthetic static get x @-1
         returnType: Object
-      synthetic static get y @114
+      synthetic static get y @-1
         returnType: Object
 ''');
     var x = library.definingCompilationUnit.topLevelVariables[0]
@@ -6326,7 +6326,7 @@
         constructors
           const @38
         accessors
-          synthetic get f @22
+          synthetic get f @-1
             returnType: int
 ''');
   }
@@ -6377,11 +6377,11 @@
               staticType: List<int>
               token: a @38
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: List<int>
-      synthetic static get b @21
+      synthetic static get b @-1
         returnType: int
-      synthetic static get c @34
+      synthetic static get c @-1
         returnType: int
 ''');
   }
@@ -6479,7 +6479,7 @@
             rightBracket: ] @163
             staticType: List<P<dynamic>>
     accessors
-      synthetic static get values @131
+      synthetic static get values @-1
         returnType: List<P<dynamic>>
 ''');
   }
@@ -6521,7 +6521,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get f @25
+          synthetic static get f @-1
             returnType: int
     functions
       foo @46
@@ -6547,7 +6547,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @18
+          synthetic get f @-1
             returnType: int
     functions
       foo @39
@@ -6596,7 +6596,7 @@
             staticInvokeType: null
             staticType: int
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: int
     functions
       foo @25
@@ -6635,9 +6635,9 @@
             staticInvokeType: null
             staticType: int
     accessors
-      synthetic static get a @10
+      synthetic static get a @-1
         returnType: int
-      synthetic static get b @28
+      synthetic static get b @-1
         returnType: bool
 ''');
   }
@@ -6718,7 +6718,7 @@
             keyword: const @55
             staticType: C<int, String>
     accessors
-      synthetic static get V @51
+      synthetic static get V @-1
         returnType: C<int, String>
 ''');
   }
@@ -6788,7 +6788,7 @@
             keyword: const @27
             staticType: C<int, String>
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: C<int, String>
 ''');
   }
@@ -6866,7 +6866,7 @@
             keyword: const @32
             staticType: C<int, String>
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: C<int, String>
 ''');
   }
@@ -6911,7 +6911,7 @@
             keyword: const @41
             staticType: C<dynamic, dynamic>
     accessors
-      synthetic static get V @37
+      synthetic static get V @-1
         returnType: C<dynamic, dynamic>
 ''');
   }
@@ -6972,7 +6972,7 @@
             keyword: const @41
             staticType: C<int, String>
     accessors
-      synthetic static get V @37
+      synthetic static get V @-1
         returnType: C<int, String>
 ''');
   }
@@ -7029,7 +7029,7 @@
             keyword: const @27
             staticType: C<int, String>
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: C<int, String>
 ''');
   }
@@ -7094,7 +7094,7 @@
             keyword: const @32
             staticType: C<int, String>
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: C<int, String>
 ''');
   }
@@ -7177,7 +7177,7 @@
             keyword: const @83
             staticType: C
     accessors
-      synthetic static get V @79
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7221,7 +7221,7 @@
             keyword: const @27
             staticType: C
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7273,7 +7273,7 @@
             keyword: const @32
             staticType: C
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7314,7 +7314,7 @@
             keyword: const @21
             staticType: C
     accessors
-      synthetic static get V @17
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7353,7 +7353,7 @@
             keyword: const @10
             staticType: dynamic
     accessors
-      synthetic static get V @6
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -7404,7 +7404,7 @@
             keyword: const @32
             staticType: C
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7452,7 +7452,7 @@
             keyword: const @32
             staticType: dynamic
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -7496,7 +7496,7 @@
             keyword: const @10
             staticType: dynamic
     accessors
-      synthetic static get V @6
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -7540,7 +7540,7 @@
             keyword: const @24
             staticType: C<dynamic>
     accessors
-      synthetic static get V @20
+      synthetic static get V @-1
         returnType: C<dynamic>
 ''');
   }
@@ -7578,7 +7578,7 @@
             keyword: const @35
             staticType: C
     accessors
-      synthetic static get V @31
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7617,7 +7617,7 @@
             keyword: const @27
             staticType: C
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7664,7 +7664,7 @@
             keyword: const @32
             staticType: C
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: C
 ''');
   }
@@ -7695,7 +7695,7 @@
             keyword: const @10
             staticType: dynamic
     accessors
-      synthetic static get V @6
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -7738,7 +7738,7 @@
             keyword: const @32
             staticType: dynamic
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -7777,7 +7777,7 @@
             keyword: const @10
             staticType: dynamic
     accessors
-      synthetic static get V @6
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -7814,9 +7814,9 @@
                 token: int @28
               type: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
-      synthetic static get b @19
+      synthetic static get b @-1
         returnType: bool
 ''');
   }
@@ -7842,7 +7842,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get F @32
+          synthetic static get F @-1
             returnType: String
     topLevelVariables
       static const v @52
@@ -7868,7 +7868,7 @@
               staticElement: self::@class::C::@getter::F
               staticType: String
     accessors
-      synthetic static get v @52
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -7912,7 +7912,7 @@
               staticElement: a.dart::@class::C::@getter::F
               staticType: String
     accessors
-      synthetic static get v @27
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -7963,7 +7963,7 @@
                 staticElement: a.dart::@class::C
                 staticType: null
     accessors
-      synthetic static get v @32
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -7989,7 +7989,7 @@
             target: SimpleStringLiteral
               literal: 'abc' @10
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -8024,9 +8024,9 @@
             staticElement: dart:core::@class::String::@getter::length
             staticType: int
     accessors
-      synthetic static get S @13
+      synthetic static get S @-1
         returnType: String
-      synthetic static get v @30
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -8061,7 +8061,7 @@
             staticElement: dart:core::@class::String::@getter::length
             staticType: int
     accessors
-      synthetic static get v @23
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -8103,7 +8103,7 @@
               staticElement: a.dart::@getter::S
               staticType: String
     accessors
-      synthetic static get v @28
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -8142,7 +8142,7 @@
             staticElement: self::@class::C::@method::length
             staticType: int Function()
     accessors
-      synthetic static get v @47
+      synthetic static get v @-1
         returnType: int Function()
 ''');
   }
@@ -8182,7 +8182,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8225,7 +8225,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8254,7 +8254,7 @@
             rightBracket: ] @25
             staticType: List<int>
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8307,7 +8307,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8360,7 +8360,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8411,7 +8411,7 @@
               leftBracket: < @23
               rightBracket: > @32
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8457,7 +8457,7 @@
             rightBracket: } @30
             staticType: Map<int, double>
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8528,7 +8528,7 @@
               leftBracket: < @23
               rightBracket: > @32
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8599,7 +8599,7 @@
               leftBracket: < @23
               rightBracket: > @32
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -8644,7 +8644,7 @@
               leftBracket: < @29
               rightBracket: > @33
     accessors
-      synthetic static get b @24
+      synthetic static get b @-1
         returnType: int
     functions
       f @2
@@ -8684,7 +8684,7 @@
                     staticType: int Function()
                     token: foo @40
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
     functions
       foo @53
@@ -8725,7 +8725,7 @@
                     staticInvokeType: null
                     staticType: int
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -8763,7 +8763,7 @@
                     staticInvokeType: null
                     staticType: int
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -8900,9 +8900,9 @@
             writeElement: self::@getter::a
             writeType: dynamic
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
-      synthetic static get b @19
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -8934,9 +8934,9 @@
             staticElement: <null>
             staticType: int
     accessors
-      synthetic static get a @11
+      synthetic static get a @-1
         returnType: int?
-      synthetic static get b @24
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -8968,9 +8968,9 @@
             staticElement: dart:core::@class::int::@method::unary-
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
-      synthetic static get b @19
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -9005,7 +9005,7 @@
             staticElement: package:test/a.dart::@extension::E::@method::unary-
             staticType: int
     accessors
-      synthetic static get b @23
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -9041,9 +9041,9 @@
             writeElement: self::@getter::a
             writeType: dynamic
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
-      synthetic static get b @19
+      synthetic static get b @-1
         returnType: int
 ''');
   }
@@ -9070,7 +9070,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get F @29
+          synthetic static get F @-1
             returnType: int
     topLevelVariables
       static const V @45
@@ -9089,7 +9089,7 @@
             staticElement: self::@class::C::@getter::F
             staticType: int
     accessors
-      synthetic static get V @45
+      synthetic static get V @-1
         returnType: int
 ''');
   }
@@ -9126,7 +9126,7 @@
             staticElement: a.dart::@class::C::@getter::F
             staticType: int
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: int
 ''');
   }
@@ -9170,7 +9170,7 @@
               staticElement: a.dart::@class::C
               staticType: null
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: int
 ''');
   }
@@ -9214,7 +9214,7 @@
             staticElement: self::@class::C::@method::m
             staticType: int Function(int, String)
     accessors
-      synthetic static get V @57
+      synthetic static get V @-1
         returnType: int Function(int, String)
 ''');
   }
@@ -9251,7 +9251,7 @@
             staticElement: a.dart::@class::C::@method::m
             staticType: int Function(int, String)
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: int Function(int, String)
 ''');
   }
@@ -9295,7 +9295,7 @@
               staticElement: a.dart::@class::C
               staticType: null
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: int Function(int, String)
 ''');
   }
@@ -9338,7 +9338,7 @@
             staticElement: self::@extension::E::@method::f
             staticType: void Function()
     accessors
-      synthetic static get x @59
+      synthetic static get x @-1
         returnType: void Function()
 ''');
   }
@@ -9360,7 +9360,7 @@
             staticType: dynamic Function()
             token: foo @19
     accessors
-      synthetic static get V @15
+      synthetic static get V @-1
         returnType: dynamic Function()
     functions
       foo @0
@@ -9385,7 +9385,7 @@
             staticType: R Function<P, R>(P)
             token: foo @30
     accessors
-      synthetic static get V @26
+      synthetic static get V @-1
         returnType: R Function<P, R>(P)
     functions
       foo @2
@@ -9421,7 +9421,7 @@
             staticType: dynamic Function()
             token: foo @27
     accessors
-      synthetic static get V @23
+      synthetic static get V @-1
         returnType: dynamic Function()
 ''');
   }
@@ -9456,7 +9456,7 @@
             staticElement: a.dart::@function::foo
             staticType: dynamic Function()
     accessors
-      synthetic static get V @28
+      synthetic static get V @-1
         returnType: dynamic Function()
 ''');
   }
@@ -9492,9 +9492,9 @@
             staticInvokeType: null
             staticType: int
     accessors
-      synthetic static get A @6
+      synthetic static get A @-1
         returnType: int
-      synthetic static get B @19
+      synthetic static get B @-1
         returnType: int
 ''');
   }
@@ -9529,7 +9529,7 @@
             staticInvokeType: null
             staticType: int
     accessors
-      synthetic static get B @23
+      synthetic static get B @-1
         returnType: int
 ''');
   }
@@ -9572,7 +9572,7 @@
             staticInvokeType: null
             staticType: int
     accessors
-      synthetic static get B @28
+      synthetic static get B @-1
         returnType: int
 ''');
   }
@@ -9692,19 +9692,19 @@
             staticType: Type
             token: F @227
     accessors
-      synthetic static get vDynamic @76
+      synthetic static get vDynamic @-1
         returnType: Type
-      synthetic static get vNull @102
+      synthetic static get vNull @-1
         returnType: Type
-      synthetic static get vObject @122
+      synthetic static get vObject @-1
         returnType: Type
-      synthetic static get vClass @146
+      synthetic static get vClass @-1
         returnType: Type
-      synthetic static get vGenericClass @164
+      synthetic static get vGenericClass @-1
         returnType: Type
-      synthetic static get vEnum @189
+      synthetic static get vEnum @-1
         returnType: Type
-      synthetic static get vFunctionTypeAlias @206
+      synthetic static get vFunctionTypeAlias @-1
         returnType: Type
 ''');
   }
@@ -9727,7 +9727,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @31
+          synthetic get f @-1
             returnType: List<dynamic Function()>
     typeAliases
       functionTypeAliasBased F @8
@@ -9777,11 +9777,11 @@
             staticType: Type
             token: F @79
     accessors
-      synthetic static get vClass @23
+      synthetic static get vClass @-1
         returnType: Type
-      synthetic static get vEnum @41
+      synthetic static get vEnum @-1
         returnType: Type
-      synthetic static get vFunctionTypeAlias @58
+      synthetic static get vFunctionTypeAlias @-1
         returnType: Type
 ''');
   }
@@ -9850,11 +9850,11 @@
             staticElement: a.dart::@typeAlias::F
             staticType: Type
     accessors
-      synthetic static get vClass @28
+      synthetic static get vClass @-1
         returnType: Type
-      synthetic static get vEnum @48
+      synthetic static get vEnum @-1
         returnType: Type
-      synthetic static get vFunctionTypeAlias @67
+      synthetic static get vFunctionTypeAlias @-1
         returnType: Type
 ''');
   }
@@ -9879,7 +9879,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @21
+          synthetic get f @-1
             returnType: List<T>
 ''');
   }
@@ -9900,7 +9900,7 @@
             staticType: dynamic
             token: foo @10
     accessors
-      synthetic static get V @6
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -9934,7 +9934,7 @@
             staticElement: <null>
             staticType: dynamic
     accessors
-      synthetic static get V @17
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -9976,7 +9976,7 @@
               staticElement: foo.dart::@class::C
               staticType: null
     accessors
-      synthetic static get V @30
+      synthetic static get V @-1
         returnType: dynamic
 ''');
   }
@@ -10017,7 +10017,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -10058,7 +10058,7 @@
             rightBracket: } @25
             staticType: Set<int>
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -10113,7 +10113,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -10168,7 +10168,7 @@
               leftBracket: < @23
               rightBracket: > @27
     accessors
-      synthetic static get x @13
+      synthetic static get x @-1
         returnType: Object
 ''');
   }
@@ -10451,41 +10451,41 @@
             staticInvokeType: null
             staticType: bool
     accessors
-      synthetic static get vEqual @6
+      synthetic static get vEqual @-1
         returnType: bool
-      synthetic static get vAnd @29
+      synthetic static get vAnd @-1
         returnType: bool
-      synthetic static get vOr @57
+      synthetic static get vOr @-1
         returnType: bool
-      synthetic static get vBitXor @84
+      synthetic static get vBitXor @-1
         returnType: int
-      synthetic static get vBitAnd @107
+      synthetic static get vBitAnd @-1
         returnType: int
-      synthetic static get vBitOr @130
+      synthetic static get vBitOr @-1
         returnType: int
-      synthetic static get vBitShiftLeft @152
+      synthetic static get vBitShiftLeft @-1
         returnType: int
-      synthetic static get vBitShiftRight @182
+      synthetic static get vBitShiftRight @-1
         returnType: int
-      synthetic static get vAdd @213
+      synthetic static get vAdd @-1
         returnType: int
-      synthetic static get vSubtract @233
+      synthetic static get vSubtract @-1
         returnType: int
-      synthetic static get vMiltiply @258
+      synthetic static get vMiltiply @-1
         returnType: int
-      synthetic static get vDivide @283
+      synthetic static get vDivide @-1
         returnType: double
-      synthetic static get vFloorDivide @306
+      synthetic static get vFloorDivide @-1
         returnType: int
-      synthetic static get vModulo @335
+      synthetic static get vModulo @-1
         returnType: int
-      synthetic static get vGreater @358
+      synthetic static get vGreater @-1
         returnType: bool
-      synthetic static get vGreaterEqual @382
+      synthetic static get vGreaterEqual @-1
         returnType: bool
-      synthetic static get vLess @412
+      synthetic static get vLess @-1
         returnType: bool
-      synthetic static get vLessEqual @433
+      synthetic static get vLessEqual @-1
         returnType: bool
 ''');
   }
@@ -10527,7 +10527,7 @@
               literal: 11 @32
               staticType: int
     accessors
-      synthetic static get vConditional @6
+      synthetic static get vConditional @-1
         returnType: int
 ''');
   }
@@ -10569,7 +10569,7 @@
               literal: 11 @30
               staticType: int
     accessors
-      synthetic static get vIdentical @6
+      synthetic static get vIdentical @-1
         returnType: int
 ''');
   }
@@ -10597,7 +10597,7 @@
             staticInvokeType: null
             staticType: num
     accessors
-      synthetic static get vIfNull @6
+      synthetic static get vIfNull @-1
         returnType: num
 ''');
   }
@@ -10734,31 +10734,31 @@
                 offset: 0
             poundSign: # @0
     accessors
-      synthetic static get vNull @6
+      synthetic static get vNull @-1
         returnType: dynamic
-      synthetic static get vBoolFalse @26
+      synthetic static get vBoolFalse @-1
         returnType: bool
-      synthetic static get vBoolTrue @52
+      synthetic static get vBoolTrue @-1
         returnType: bool
-      synthetic static get vIntPositive @76
+      synthetic static get vIntPositive @-1
         returnType: int
-      synthetic static get vIntNegative @100
+      synthetic static get vIntNegative @-1
         returnType: int
-      synthetic static get vIntLong1 @125
+      synthetic static get vIntLong1 @-1
         returnType: int
-      synthetic static get vIntLong2 @163
+      synthetic static get vIntLong2 @-1
         returnType: int
-      synthetic static get vIntLong3 @201
+      synthetic static get vIntLong3 @-1
         returnType: int
-      synthetic static get vDouble @239
+      synthetic static get vDouble @-1
         returnType: double
-      synthetic static get vString @260
+      synthetic static get vString @-1
         returnType: String
-      synthetic static get vStringConcat @283
+      synthetic static get vStringConcat @-1
         returnType: String
-      synthetic static get vStringInterpolation @318
+      synthetic static get vStringInterpolation @-1
         returnType: String
-      synthetic static get vSymbol @372
+      synthetic static get vSymbol @-1
         returnType: Symbol
 ''');
   }
@@ -10800,9 +10800,9 @@
             rightBracket: ] @59
             staticType: List<int?>
     accessors
-      synthetic static get a @14
+      synthetic static get a @-1
         returnType: String?
-      synthetic static get b @40
+      synthetic static get b @-1
         returnType: List<int?>
 ''');
   }
@@ -10889,11 +10889,11 @@
               rightParenthesis: ) @82
               staticType: String
     accessors
-      synthetic static get v1 @10
+      synthetic static get v1 @-1
         returnType: int
-      synthetic static get v2 @38
+      synthetic static get v2 @-1
         returnType: int
-      synthetic static get v3 @63
+      synthetic static get v3 @-1
         returnType: int
 ''');
   }
@@ -10954,13 +10954,13 @@
             staticElement: dart:core::@class::int::@method::~
             staticType: int
     accessors
-      synthetic static get vNotEqual @6
+      synthetic static get vNotEqual @-1
         returnType: bool
-      synthetic static get vNot @32
+      synthetic static get vNot @-1
         returnType: bool
-      synthetic static get vNegate @52
+      synthetic static get vNegate @-1
         returnType: int
-      synthetic static get vComplement @72
+      synthetic static get vComplement @-1
         returnType: int
 ''');
   }
@@ -10980,7 +10980,7 @@
             staticType: dynamic
             superKeyword: super @15
     accessors
-      synthetic static get vSuper @6
+      synthetic static get vSuper @-1
         returnType: dynamic
 ''');
   }
@@ -11000,7 +11000,7 @@
             staticType: dynamic
             thisKeyword: this @14
     accessors
-      synthetic static get vThis @6
+      synthetic static get vThis @-1
         returnType: dynamic
 ''');
   }
@@ -11022,7 +11022,7 @@
               staticType: int
             staticType: Never
     accessors
-      synthetic static get c @6
+      synthetic static get c @-1
         returnType: Never
 ''');
   }
@@ -11045,7 +11045,7 @@
               staticType: int*
             staticType: Never*
     accessors
-      synthetic static get c @6
+      synthetic static get c @-1
         returnType: dynamic
 ''');
   }
@@ -11228,17 +11228,17 @@
               leftBracket: < @283
               rightBracket: > @306
     accessors
-      synthetic static get vNull @6
+      synthetic static get vNull @-1
         returnType: List<Null>
-      synthetic static get vDynamic @36
+      synthetic static get vDynamic @-1
         returnType: List<dynamic>
-      synthetic static get vInterfaceNoTypeParameters @79
+      synthetic static get vInterfaceNoTypeParameters @-1
         returnType: List<int>
-      synthetic static get vInterfaceNoTypeArguments @136
+      synthetic static get vInterfaceNoTypeArguments @-1
         returnType: List<List<dynamic>>
-      synthetic static get vInterfaceWithTypeArguments @186
+      synthetic static get vInterfaceWithTypeArguments @-1
         returnType: List<List<String>>
-      synthetic static get vInterfaceWithTypeArguments2 @246
+      synthetic static get vInterfaceWithTypeArguments2 @-1
         returnType: List<Map<int, List<String>>>
 ''');
   }
@@ -11274,7 +11274,7 @@
               leftBracket: < @33
               rightBracket: > @35
     accessors
-      synthetic static get v @23
+      synthetic static get v @-1
         returnType: List<C>
 ''');
   }
@@ -11318,7 +11318,7 @@
               leftBracket: < @38
               rightBracket: > @42
     accessors
-      synthetic static get v @28
+      synthetic static get v @-1
         returnType: List<C>
 ''');
   }
@@ -11359,7 +11359,7 @@
               leftBracket: < @42
               rightBracket: > @44
     accessors
-      synthetic static get v @32
+      synthetic static get v @-1
         returnType: List<int Function(String)>
 ''');
   }
@@ -11486,13 +11486,13 @@
               leftBracket: < @168
               rightBracket: > @186
     accessors
-      synthetic static get vDynamic1 @6
+      synthetic static get vDynamic1 @-1
         returnType: Map<dynamic, int>
-      synthetic static get vDynamic2 @48
+      synthetic static get vDynamic2 @-1
         returnType: Map<int, dynamic>
-      synthetic static get vInterface @90
+      synthetic static get vInterface @-1
         returnType: Map<int, String>
-      synthetic static get vInterfaceWithTypeArguments @132
+      synthetic static get vInterfaceWithTypeArguments @-1
         returnType: Map<int, List<String>>
 ''');
   }
@@ -11575,11 +11575,11 @@
               leftBracket: < @113
               rightBracket: > @126
     accessors
-      synthetic static get vDynamic1 @6
+      synthetic static get vDynamic1 @-1
         returnType: Set<dynamic>
-      synthetic static get vInterface @43
+      synthetic static get vInterface @-1
         returnType: Set<int>
-      synthetic static get vInterfaceWithTypeArguments @77
+      synthetic static get vInterfaceWithTypeArguments @-1
         returnType: Set<List<String>>
 ''');
   }
@@ -11611,7 +11611,7 @@
             rightBracket: ] @24
             staticType: List<int>
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: List<int>
 ''');
   }
@@ -11653,7 +11653,7 @@
             rightBracket: } @45
             staticType: Map<int, String>
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: Map<int, String>
 ''');
   }
@@ -11686,7 +11686,7 @@
             rightBracket: } @24
             staticType: Set<int>
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: Set<int>
 ''');
   }
@@ -11736,11 +11736,11 @@
       static final vIndex @69
         type: int
     accessors
-      synthetic static get vValue @23
+      synthetic static get vValue @-1
         returnType: E
-      synthetic static get vValues @43
+      synthetic static get vValues @-1
         returnType: List<E>
-      synthetic static get vIndex @69
+      synthetic static get vIndex @-1
         returnType: int
 ''');
   }
@@ -11776,7 +11776,7 @@
       static final vToString @17
         type: String
     accessors
-      synthetic static get vToString @17
+      synthetic static get vToString @-1
         returnType: String
 ''');
   }
@@ -11810,9 +11810,9 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get a @25
+          synthetic static get a @-1
             returnType: dynamic
-          synthetic static get b @47
+          synthetic static get b @-1
             returnType: dynamic
 ''');
   }
@@ -11840,7 +11840,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get a @25
+          synthetic static get a @-1
             returnType: dynamic Function()
         methods
           static m @41
@@ -11969,7 +11969,7 @@
                   staticType: null
                   token: x @35
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -12011,7 +12011,7 @@
                   staticType: null
                   token: x @35
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
     functions
       foo @52
@@ -12055,7 +12055,7 @@
                   staticType: null
                   token: _f @51
         accessors
-          synthetic get _f @22
+          synthetic get _f @-1
             returnType: int
 ''');
   }
@@ -12100,7 +12100,7 @@
                   staticType: null
                   token: x @40
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -13438,7 +13438,7 @@
                   staticType: null
                   token: x @35
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
       class D @58
         fields
@@ -13468,7 +13468,7 @@
                   staticType: null
                   token: x @87
         accessors
-          synthetic get x @70
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -13495,7 +13495,7 @@
         constructors
           @23
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: dynamic
       class D @50
         fields
@@ -13504,7 +13504,7 @@
         constructors
           @67
         accessors
-          synthetic get x @62
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -13608,7 +13608,7 @@
                     staticType: void Function(dynamic)
                     token: defaultF @93
         accessors
-          synthetic get f @71
+          synthetic get f @-1
             returnType: void Function(dynamic)
               aliasElement: self::@typeAlias::F
               aliasArguments
@@ -14289,11 +14289,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @27
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @27
+          synthetic set x @-1
             parameters
-              requiredPositional _x @27
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
       class A @38
@@ -14303,11 +14303,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get y @48
+          synthetic get y @-1
             returnType: int
-          synthetic set y @48
+          synthetic set y @-1
             parameters
-              requiredPositional _y @48
+              requiredPositional _y @-1
                 type: int
             returnType: void
 ''');
@@ -14453,11 +14453,11 @@
           static x @63
             type: dynamic
         accessors
-          synthetic static get x @63
+          synthetic static get x @-1
             returnType: dynamic
-          synthetic static set x @63
+          synthetic static set x @-1
             parameters
-              requiredPositional _x @63
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
       E @78
@@ -14466,11 +14466,11 @@
           static y @100
             type: int
         accessors
-          synthetic static get y @100
+          synthetic static get y @-1
             returnType: int
-          synthetic static set y @100
+          synthetic static set y @-1
             parameters
-              requiredPositional _y @100
+              requiredPositional _y @-1
                 type: int
             returnType: void
 ''');
@@ -14564,11 +14564,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @27
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @27
+          synthetic set x @-1
             parameters
-              requiredPositional _x @27
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
       mixin A @38
@@ -14580,11 +14580,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get y @48
+          synthetic get y @-1
             returnType: int
-          synthetic set y @48
+          synthetic set y @-1
             parameters
-              requiredPositional _y @48
+              requiredPositional _y @-1
                 type: int
             returnType: void
 ''');
@@ -14610,32 +14610,32 @@
       static x @30
         type: double
     accessors
-      synthetic static get x @5
+      synthetic static get x @-1
         returnType: bool
-      synthetic static set x @5
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @5
+          requiredPositional _x @-1
             type: bool
         returnType: void
-      synthetic static get x @12
+      synthetic static get x @-1
         returnType: dynamic
-      synthetic static set x @12
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @12
+          requiredPositional _x @-1
             type: dynamic
         returnType: void
-      synthetic static get x @19
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @19
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @19
+          requiredPositional _x @-1
             type: int
         returnType: void
-      synthetic static get x @30
+      synthetic static get x @-1
         returnType: double
-      synthetic static set x @30
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @30
+          requiredPositional _x @-1
             type: double
         returnType: void
 ''');
@@ -14782,7 +14782,7 @@
             literal: 0 @104
             staticType: int
     accessors
-      synthetic static get annotation @91
+      synthetic static get annotation @-1
         returnType: int
 ''');
   }
@@ -15432,7 +15432,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @21
+          synthetic get f @-1
             returnType: dynamic
 ''');
   }
@@ -15472,7 +15472,7 @@
                 literal: 0 @40
                 staticType: int
         accessors
-          synthetic static get x @36
+          synthetic static get x @-1
             returnType: int
 ''');
   }
@@ -15494,11 +15494,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic abstract get i @34
+          synthetic abstract get i @-1
             returnType: int
-          synthetic abstract set i @34
+          synthetic abstract set i @-1
             parameters
-              requiredPositional _i @34
+              requiredPositional _i @-1
                 type: int
             returnType: void
 ''');
@@ -15520,11 +15520,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @26
+          synthetic get x @-1
             returnType: int
-          synthetic set x @26
+          synthetic set x @-1
             parameters
-              requiredPositional covariant _x @26
+              requiredPositional covariant _x @-1
                 type: int
             returnType: void
 ''');
@@ -15550,11 +15550,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @38
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @38
+          synthetic set x @-1
             parameters
-              requiredPositional _x @38
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -15577,11 +15577,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get i @34
+          synthetic get i @-1
             returnType: int
-          synthetic set i @34
+          synthetic set i @-1
             parameters
-              requiredPositional _i @34
+              requiredPositional _i @-1
                 type: int
             returnType: void
 ''');
@@ -15609,7 +15609,7 @@
         constructors
           const @34
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: int
 ''');
   }
@@ -15693,7 +15693,7 @@
         constructors
           const @93
         accessors
-          synthetic get f @46
+          synthetic get f @-1
             returnType: A<int Function(double)>
 ''');
   }
@@ -15715,7 +15715,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: int
 ''');
   }
@@ -15738,11 +15738,11 @@
               requiredPositional final this.v @34
                 type: int
         accessors
-          synthetic get v @24
+          synthetic get v @-1
             returnType: int
-          synthetic set v @24
+          synthetic set v @-1
             parameters
-              requiredPositional _v @24
+              requiredPositional _v @-1
                 type: int
             returnType: void
       abstract class D @55
@@ -15770,11 +15770,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @14
+          synthetic get v @-1
             returnType: num
-          synthetic set v @14
+          synthetic set v @-1
             parameters
-              requiredPositional _v @14
+              requiredPositional _v @-1
                 type: num
             returnType: void
 ''');
@@ -15793,11 +15793,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @14
+          synthetic get v @-1
             returnType: int
-          synthetic set v @14
+          synthetic set v @-1
             parameters
-              requiredPositional _v @14
+              requiredPositional _v @-1
                 type: int
             returnType: void
 ''');
@@ -15818,11 +15818,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @24
+          synthetic get v @-1
             returnType: int
-          synthetic set v @24
+          synthetic set v @-1
             parameters
-              requiredPositional _v @24
+              requiredPositional _v @-1
                 type: int
             returnType: void
       abstract class D @44
@@ -15880,7 +15880,7 @@
         constructors
           const @94
         accessors
-          synthetic get f @107
+          synthetic get f @-1
             returnType: List<int>
     topLevelVariables
       static const a @6
@@ -15890,7 +15890,7 @@
             literal: 0 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -15908,11 +15908,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get v @21
+          synthetic static get v @-1
             returnType: int
-          synthetic static set v @21
+          synthetic static set v @-1
             parameters
-              requiredPositional _v @21
+              requiredPositional _v @-1
                 type: int
             returnType: void
 ''');
@@ -15938,7 +15938,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get x @25
+          synthetic static get x @-1
             returnType: int
 ''');
   }
@@ -15963,7 +15963,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @35
+          synthetic get b @-1
             returnType: double
 ''');
   }
@@ -15989,7 +15989,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @46
+          synthetic get b @-1
             returnType: double
   parts
     a.dart
@@ -15997,7 +15997,7 @@
         static final a @19
           type: int
       accessors
-        synthetic static get a @19
+        synthetic static get a @-1
           returnType: int
 ''');
   }
@@ -16018,7 +16018,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: int
 ''');
   }
@@ -16039,7 +16039,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get x @25
+          synthetic static get x @-1
             returnType: int
 ''');
   }
@@ -16057,7 +16057,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get x @23
+          synthetic static get x @-1
             returnType: int
 ''');
   }
@@ -16080,11 +16080,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @16
+          synthetic get a @-1
             returnType: Never
-          synthetic set a @16
+          synthetic set a @-1
             parameters
-              requiredPositional _a @16
+              requiredPositional _a @-1
                 type: Never
             returnType: void
 ''');
@@ -16116,11 +16116,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @33
+          synthetic get b @-1
             returnType: int
-          synthetic set b @33
+          synthetic set b @-1
             parameters
-              requiredPositional _b @33
+              requiredPositional _b @-1
                 type: int
             returnType: void
 ''');
@@ -16139,11 +16139,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: int
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -16162,11 +16162,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @14
+          synthetic get x @-1
             returnType: int
-          synthetic set x @14
+          synthetic set x @-1
             parameters
-              requiredPositional _x @14
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -16200,7 +16200,7 @@
         constructors
           const @53
         accessors
-          synthetic get f1 @30
+          synthetic get f1 @-1
             returnType: List<int>
       class C2 @67
         fields
@@ -16209,7 +16209,7 @@
         constructors
           @108
         accessors
-          synthetic get f2 @91
+          synthetic get f2 @-1
             returnType: List<int>
 ''');
   }
@@ -16923,11 +16923,11 @@
       static x @35
         type: FutureOr<int>
     accessors
-      synthetic static get x @35
+      synthetic static get x @-1
         returnType: FutureOr<int>
-      synthetic static set x @35
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @35
+          requiredPositional _x @-1
             type: FutureOr<int>
         returnType: void
 ''');
@@ -16953,7 +16953,7 @@
             staticType: Type
             token: FutureOr @31
     accessors
-      synthetic static get x @27
+      synthetic static get x @-1
         returnType: Type
 ''');
     var variables = library.definingCompilationUnit.topLevelVariables;
@@ -16981,18 +16981,18 @@
       static y @65
         type: dynamic
     accessors
-      synthetic static get x @52
+      synthetic static get x @-1
         returnType: FutureOr<int>
-      synthetic static set x @52
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @52
+          requiredPositional _x @-1
             type: FutureOr<int>
         returnType: void
-      synthetic static get y @65
+      synthetic static get y @-1
         returnType: dynamic
-      synthetic static set y @65
+      synthetic static set y @-1
         parameters
-          requiredPositional _y @65
+          requiredPositional _y @-1
             type: dynamic
         returnType: void
     functions
@@ -17020,11 +17020,11 @@
       static f @16
         type: void Function()
     accessors
-      synthetic static get f @16
+      synthetic static get f @-1
         returnType: void Function()
-      synthetic static set f @16
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @16
+          requiredPositional _f @-1
             type: void Function()
         returnType: void
 ''');
@@ -17041,11 +17041,11 @@
       static f @17
         type: void Function()?
     accessors
-      synthetic static get f @17
+      synthetic static get f @-1
         returnType: void Function()?
-      synthetic static set f @17
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @17
+          requiredPositional _f @-1
             type: void Function()?
         returnType: void
 ''');
@@ -17063,11 +17063,11 @@
       static f @16
         type: void Function()*
     accessors
-      synthetic static get f @16
+      synthetic static get f @-1
         returnType: void Function()*
-      synthetic static set f @16
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @16
+          requiredPositional _f @-1
             type: void Function()*
         returnType: void
 ''');
@@ -17204,11 +17204,11 @@
       static v @30
         type: int Function(int, String)
     accessors
-      synthetic static get v @30
+      synthetic static get v @-1
         returnType: int Function(int, String)
-      synthetic static set v @30
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @30
+          requiredPositional _v @-1
             type: int Function(int, String)
         returnType: void
 ''');
@@ -17358,11 +17358,11 @@
               rightBracket: > @54
         type: int
     accessors
-      synthetic static get v @62
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @62
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @62
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -17448,7 +17448,7 @@
                   rightBracket: > @66
             staticType: A<String Function({int? a})>
     accessors
-      synthetic static get v @35
+      synthetic static get v @-1
         returnType: A<String Function({int? a})>
 ''');
   }
@@ -17533,7 +17533,7 @@
                   rightBracket: > @66
             staticType: A<String Function([int?])>
     accessors
-      synthetic static get v @35
+      synthetic static get v @-1
         returnType: A<String Function([int?])>
 ''');
   }
@@ -17619,7 +17619,7 @@
                   rightBracket: > @74
             staticType: A<String Function({required int a})>
     accessors
-      synthetic static get v @35
+      synthetic static get v @-1
         returnType: A<String Function({required int a})>
 ''');
   }
@@ -17697,7 +17697,7 @@
                   rightBracket: > @63
             staticType: A<String Function(int)>
     accessors
-      synthetic static get v @35
+      synthetic static get v @-1
         returnType: A<String Function(int)>
 ''');
   }
@@ -17994,7 +17994,7 @@
               requiredPositional final this.x @49
                 type: Object
         accessors
-          synthetic get x @25
+          synthetic get x @-1
             returnType: Object
     topLevelVariables
       static const x @61
@@ -18023,7 +18023,7 @@
                 type: C
             staticType: C
     accessors
-      synthetic static get x @61
+      synthetic static get x @-1
         returnType: C
 ''');
   }
@@ -18297,11 +18297,11 @@
       static f @51
         type: Future<dynamic>
     accessors
-      synthetic static get f @51
+      synthetic static get f @-1
         returnType: Future<dynamic>
-      synthetic static set f @51
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @51
+          requiredPositional _f @-1
             type: Future<dynamic>
         returnType: void
 ''');
@@ -18354,11 +18354,11 @@
       static f @52
         type: Future<dynamic>
     accessors
-      synthetic static get f @52
+      synthetic static get f @-1
         returnType: Future<dynamic>
-      synthetic static set f @52
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @52
+          requiredPositional _f @-1
             type: Future<dynamic>
         returnType: void
 ''');
@@ -18380,11 +18380,11 @@
       static c @26
         type: C
     accessors
-      synthetic static get c @26
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @26
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @26
+          requiredPositional _c @-1
             type: C
         returnType: void
 ''');
@@ -18431,11 +18431,11 @@
       static c @20
         type: C
     accessors
-      synthetic static get c @20
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @20
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @20
+          requiredPositional _c @-1
             type: C
         returnType: void
 ''');
@@ -18461,18 +18461,18 @@
       static s @58
         type: Stream<dynamic>
     accessors
-      synthetic static get f @48
+      synthetic static get f @-1
         returnType: Future<dynamic>
-      synthetic static set f @48
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @48
+          requiredPositional _f @-1
             type: Future<dynamic>
         returnType: void
-      synthetic static get s @58
+      synthetic static get s @-1
         returnType: Stream<dynamic>
-      synthetic static set s @58
+      synthetic static set s @-1
         parameters
-          requiredPositional _s @58
+          requiredPositional _s @-1
             type: Stream<dynamic>
         returnType: void
 ''');
@@ -18512,18 +18512,18 @@
       static d @41
         type: D
     accessors
-      synthetic static get c @36
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @36
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @36
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get d @41
+      synthetic static get d @-1
         returnType: D
-      synthetic static set d @41
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @41
+          requiredPositional _d @-1
             type: D
         returnType: void
 ''');
@@ -18599,7 +18599,7 @@
             keyword: const @122
             staticType: C<int>
     accessors
-      synthetic static get x @118
+      synthetic static get x @-1
         returnType: C<int>
     functions
       f @96
@@ -18667,7 +18667,7 @@
             keyword: const @105
             staticType: C
     accessors
-      synthetic static get x @101
+      synthetic static get x @-1
         returnType: C
     functions
       f @79
@@ -18714,11 +18714,11 @@
       static s @74
         type: S<B>
     accessors
-      synthetic static get s @74
+      synthetic static get s @-1
         returnType: S<B>
-      synthetic static set s @74
+      synthetic static set s @-1
         parameters
-          requiredPositional _s @74
+          requiredPositional _s @-1
             type: S<B>
         returnType: void
 ''');
@@ -18749,11 +18749,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @14
+          synthetic get b @-1
             returnType: B
-          synthetic set b @14
+          synthetic set b @-1
             parameters
-              requiredPositional _b @14
+              requiredPositional _b @-1
                 type: B
             returnType: void
       class B @25
@@ -18783,18 +18783,18 @@
       static x @128
         type: C
     accessors
-      synthetic static get a @111
+      synthetic static get a @-1
         returnType: A
-      synthetic static set a @111
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @111
+          requiredPositional _a @-1
             type: A
         returnType: void
-      synthetic static get x @128
+      synthetic static get x @-1
         returnType: C
-      synthetic static set x @128
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @128
+          requiredPositional _x @-1
             type: C
         returnType: void
 ''');
@@ -18818,25 +18818,25 @@
       static z @53
         type: List<String>
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: Iterable<String>
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: Iterable<String>
         returnType: void
-      synthetic static get y @40
+      synthetic static get y @-1
         returnType: List<int>
-      synthetic static set y @40
+      synthetic static set y @-1
         parameters
-          requiredPositional _y @40
+          requiredPositional _y @-1
             type: List<int>
         returnType: void
-      synthetic static get z @53
+      synthetic static get z @-1
         returnType: List<String>
-      synthetic static set z @53
+      synthetic static set z @-1
         parameters
-          requiredPositional _z @53
+          requiredPositional _z @-1
             type: List<String>
         returnType: void
 ''');
@@ -18861,11 +18861,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get p @16
+          synthetic get p @-1
             returnType: int
-          synthetic set p @16
+          synthetic set p @-1
             parameters
-              requiredPositional _p @16
+              requiredPositional _p @-1
                 type: int
             returnType: void
     topLevelVariables
@@ -18874,18 +18874,18 @@
       static y @40
         type: Iterable<int>
     accessors
-      synthetic static get x @25
+      synthetic static get x @-1
         returnType: List<C>
-      synthetic static set x @25
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @25
+          requiredPositional _x @-1
             type: List<C>
         returnType: void
-      synthetic static get y @40
+      synthetic static get y @-1
         returnType: Iterable<int>
-      synthetic static set y @40
+      synthetic static set y @-1
         parameters
-          requiredPositional _y @40
+          requiredPositional _y @-1
             type: Iterable<int>
         returnType: void
 ''');
@@ -18936,7 +18936,7 @@
         constructors
           @29
         accessors
-          synthetic get x @24
+          synthetic get x @-1
             returnType: dynamic
 ''');
   }
@@ -19094,9 +19094,9 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get foo @25
+          synthetic static get foo @-1
             returnType: int
-          synthetic static get bar @56
+          synthetic static get bar @-1
             returnType: int Function(double)
         methods
           static baz @100
@@ -19127,32 +19127,32 @@
       static d @49
         type: int
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: dynamic
         returnType: void
-      synthetic static get b @19
+      synthetic static get b @-1
         returnType: dynamic
-      synthetic static set b @19
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @19
+          requiredPositional _b @-1
             type: dynamic
         returnType: void
-      synthetic static get c @34
+      synthetic static get c @-1
         returnType: dynamic
-      synthetic static set c @34
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @34
+          requiredPositional _c @-1
             type: dynamic
         returnType: void
-      synthetic static get d @49
+      synthetic static get d @-1
         returnType: int
-      synthetic static set d @49
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @49
+          requiredPositional _d @-1
             type: int
         returnType: void
 ''');
@@ -19175,12 +19175,12 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @49
+          synthetic get v @-1
             returnType: int Function(String)
               aliasElement: self::@typeAlias::F
-          synthetic set v @49
+          synthetic set v @-1
             parameters
-              requiredPositional _v @49
+              requiredPositional _v @-1
                 type: int Function(String)
                   aliasElement: self::@typeAlias::F
             returnType: void
@@ -19221,11 +19221,11 @@
       static x @21
         type: int
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -19246,11 +19246,11 @@
       static x @21
         type: int?
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: int?
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: int?
         returnType: void
 ''');
@@ -19271,11 +19271,11 @@
       static x @21
         type: void Function()
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: void Function()
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: void Function()
         returnType: void
 ''');
@@ -19296,11 +19296,11 @@
       static x @21
         type: void Function()?
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: void Function()?
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: void Function()?
         returnType: void
 ''');
@@ -19330,11 +19330,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @37
+          synthetic get v @-1
             returnType: Map<T, int>
-          synthetic set v @37
+          synthetic set v @-1
             parameters
-              requiredPositional _v @37
+              requiredPositional _v @-1
                 type: Map<T, int>
             returnType: void
       abstract class D @57
@@ -19378,11 +19378,11 @@
       static v @53
         type: dynamic
     accessors
-      synthetic static get v @53
+      synthetic static get v @-1
         returnType: dynamic
-      synthetic static set v @53
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @53
+          requiredPositional _v @-1
             type: dynamic
         returnType: void
     functions
@@ -19531,11 +19531,11 @@
       static v @40
         type: dynamic
     accessors
-      synthetic static get v @40
+      synthetic static get v @-1
         returnType: dynamic
-      synthetic static set v @40
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @40
+          requiredPositional _v @-1
             type: dynamic
         returnType: void
     functions
@@ -19564,11 +19564,11 @@
       static v @42
         type: dynamic
     accessors
-      synthetic static get v @42
+      synthetic static get v @-1
         returnType: dynamic
-      synthetic static set v @42
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @42
+          requiredPositional _v @-1
             type: dynamic
         returnType: void
     functions
@@ -19689,18 +19689,18 @@
       static a2 @50
         type: A
     accessors
-      synthetic static get a1 @36
+      synthetic static get a1 @-1
         returnType: A
-      synthetic static set a1 @36
+      synthetic static set a1 @-1
         parameters
-          requiredPositional _a1 @36
+          requiredPositional _a1 @-1
             type: A
         returnType: void
-      synthetic static get a2 @50
+      synthetic static get a2 @-1
         returnType: A
-      synthetic static set a2 @50
+      synthetic static set a2 @-1
         parameters
-          requiredPositional _a2 @50
+          requiredPositional _a2 @-1
             type: A
         returnType: void
 ''');
@@ -19729,18 +19729,18 @@
       static a2 @48
         type: A
     accessors
-      synthetic static get a1 @30
+      synthetic static get a1 @-1
         returnType: A
-      synthetic static set a1 @30
+      synthetic static set a1 @-1
         parameters
-          requiredPositional _a1 @30
+          requiredPositional _a1 @-1
             type: A
         returnType: void
-      synthetic static get a2 @48
+      synthetic static get a2 @-1
         returnType: A
-      synthetic static set a2 @48
+      synthetic static set a2 @-1
         parameters
-          requiredPositional _a2 @48
+          requiredPositional _a2 @-1
             type: A
         returnType: void
 ''');
@@ -19761,11 +19761,11 @@
       static v @71
         type: List<Object Function(int Function(String))>
     accessors
-      synthetic static get v @71
+      synthetic static get v @-1
         returnType: List<Object Function(int Function(String))>
-      synthetic static set v @71
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @71
+          requiredPositional _v @-1
             type: List<Object Function(int Function(String))>
         returnType: void
     functions
@@ -19834,11 +19834,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @141
+          synthetic get f @-1
             returnType: dynamic
-          synthetic set f @141
+          synthetic set f @-1
             parameters
-              requiredPositional _f @141
+              requiredPositional _f @-1
                 type: dynamic
             returnType: void
 ''');
@@ -19853,11 +19853,11 @@
       static v @4
         type: int Function()
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: int Function()
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: int Function()
         returnType: void
 ''');
@@ -19872,11 +19872,11 @@
       static v @4
         type: Future<dynamic> Function(dynamic)
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: Future<dynamic> Function(dynamic)
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: Future<dynamic> Function(dynamic)
         returnType: void
 ''');
@@ -19897,11 +19897,11 @@
       static v @25
         type: Future<int> Function(Future<Future<Future<int>>>)
     accessors
-      synthetic static get v @25
+      synthetic static get v @-1
         returnType: Future<int> Function(Future<Future<Future<int>>>)
-      synthetic static set v @25
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @25
+          requiredPositional _v @-1
             type: Future<int> Function(Future<Future<Future<int>>>)
         returnType: void
 ''');
@@ -19921,11 +19921,11 @@
       static v @25
         type: Future<int> Function(Future<int>)
     accessors
-      synthetic static get v @25
+      synthetic static get v @-1
         returnType: Future<int> Function(Future<int>)
-      synthetic static set v @25
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @25
+          requiredPositional _v @-1
             type: Future<int> Function(Future<int>)
         returnType: void
 ''');
@@ -19945,11 +19945,11 @@
       static v @25
         type: Future<dynamic> Function(Future<dynamic>)
     accessors
-      synthetic static get v @25
+      synthetic static get v @-1
         returnType: Future<dynamic> Function(Future<dynamic>)
-      synthetic static set v @25
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @25
+          requiredPositional _v @-1
             type: Future<dynamic> Function(Future<dynamic>)
         returnType: void
 ''');
@@ -19972,11 +19972,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @16
+          synthetic get v @-1
             returnType: int Function()
-          synthetic set v @16
+          synthetic set v @-1
             parameters
-              requiredPositional _v @16
+              requiredPositional _v @-1
                 type: int Function()
             returnType: void
 ''');
@@ -20233,11 +20233,11 @@
       static c @47
         type: C<num, C<num, dynamic>>
     accessors
-      synthetic static get c @47
+      synthetic static get c @-1
         returnType: C<num, C<num, dynamic>>
-      synthetic static set c @47
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @47
+          requiredPositional _c @-1
             type: C<num, C<num, dynamic>>
         returnType: void
 ''');
@@ -20270,11 +20270,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get c3 @66
+          synthetic get c3 @-1
             returnType: C<C<Object?>>
-          synthetic set c3 @66
+          synthetic set c3 @-1
             parameters
-              requiredPositional _c3 @66
+              requiredPositional _c3 @-1
                 type: C<C<Object?>>
             returnType: void
     topLevelVariables
@@ -20283,18 +20283,18 @@
       static c2 @36
         type: C<C<Object?>>
     accessors
-      synthetic static get c @29
+      synthetic static get c @-1
         returnType: C<C<dynamic>>
-      synthetic static set c @29
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @29
+          requiredPositional _c @-1
             type: C<C<dynamic>>
         returnType: void
-      synthetic static get c2 @36
+      synthetic static get c2 @-1
         returnType: C<C<Object?>>
-      synthetic static set c2 @36
+      synthetic static set c2 @-1
         parameters
-          requiredPositional _c2 @36
+          requiredPositional _c2 @-1
             type: C<C<Object?>>
         returnType: void
 ''');
@@ -20328,11 +20328,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get c3 @66
+          synthetic get c3 @-1
             returnType: C<C<dynamic>*>*
-          synthetic set c3 @66
+          synthetic set c3 @-1
             parameters
-              requiredPositional _c3 @66
+              requiredPositional _c3 @-1
                 type: C<C<dynamic>*>*
             returnType: void
     topLevelVariables
@@ -20341,18 +20341,18 @@
       static c2 @36
         type: C<C<dynamic>*>*
     accessors
-      synthetic static get c @29
+      synthetic static get c @-1
         returnType: C<C<dynamic>*>*
-      synthetic static set c @29
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @29
+          requiredPositional _c @-1
             type: C<C<dynamic>*>*
         returnType: void
-      synthetic static get c2 @36
+      synthetic static get c2 @-1
         returnType: C<C<dynamic>*>*
-      synthetic static set c2 @36
+      synthetic static set c2 @-1
         parameters
-          requiredPositional _c2 @36
+          requiredPositional _c2 @-1
             type: C<C<dynamic>*>*
         returnType: void
 ''');
@@ -20381,11 +20381,11 @@
       static c @47
         type: C<C<dynamic, num>, num>
     accessors
-      synthetic static get c @47
+      synthetic static get c @-1
         returnType: C<C<dynamic, num>, num>
-      synthetic static set c @47
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @47
+          requiredPositional _c @-1
             type: C<C<dynamic, num>, num>
         returnType: void
 ''');
@@ -20450,14 +20450,14 @@
           aliasArguments
             num
     accessors
-      synthetic static get f @33
+      synthetic static get f @-1
         returnType: dynamic Function(num)
           aliasElement: self::@typeAlias::F
           aliasArguments
             num
-      synthetic static set f @33
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @33
+          requiredPositional _f @-1
             type: dynamic Function(num)
               aliasElement: self::@typeAlias::F
               aliasArguments
@@ -20496,11 +20496,11 @@
       static b @69
         type: B<int Function(), A<int Function()>>
     accessors
-      synthetic static get b @69
+      synthetic static get b @-1
         returnType: B<int Function(), A<int Function()>>
-      synthetic static set b @69
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @69
+          requiredPositional _b @-1
             type: B<int Function(), A<int Function()>>
         returnType: void
 ''');
@@ -20535,14 +20535,14 @@
           aliasArguments
             num
     accessors
-      synthetic static get f @49
+      synthetic static get f @-1
         returnType: S Function<S>(num)
           aliasElement: self::@typeAlias::F
           aliasArguments
             num
-      synthetic static set f @49
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @49
+          requiredPositional _f @-1
             type: S Function<S>(num)
               aliasElement: self::@typeAlias::F
               aliasArguments
@@ -20573,7 +20573,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get values @31
+          synthetic get values @-1
             returnType: List<B<num>>
       class B @55
         typeParameters
@@ -20605,11 +20605,11 @@
       static c @28
         type: C<num>
     accessors
-      synthetic static get c @28
+      synthetic static get c @-1
         returnType: C<num>
-      synthetic static set c @28
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @28
+          requiredPositional _c @-1
             type: C<num>
         returnType: void
 ''');
@@ -20719,11 +20719,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @50
+          synthetic get v @-1
             returnType: List<dynamic>
-          synthetic set v @50
+          synthetic set v @-1
             parameters
-              requiredPositional _v @50
+              requiredPositional _v @-1
                 type: List<dynamic>
             returnType: void
 ''');
@@ -20800,11 +20800,11 @@
       static V @27
         type: dynamic
     accessors
-      synthetic static get V @27
+      synthetic static get V @-1
         returnType: dynamic
-      synthetic static set V @27
+      synthetic static set V @-1
         parameters
-          requiredPositional _V @27
+          requiredPositional _V @-1
             type: dynamic
         returnType: void
     functions
@@ -20843,11 +20843,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get foo @16
+          synthetic get foo @-1
             returnType: int
-          synthetic set foo @16
+          synthetic set foo @-1
             parameters
-              requiredPositional _foo @16
+              requiredPositional _foo @-1
                 type: int
             returnType: void
           set bar @32
@@ -21242,11 +21242,11 @@
       static main @4
         type: dynamic
     accessors
-      synthetic static get main @4
+      synthetic static get main @-1
         returnType: dynamic
-      synthetic static set main @4
+      synthetic static set main @-1
         parameters
-          requiredPositional _main @4
+          requiredPositional _main @-1
             type: dynamic
         returnType: void
 ''');
@@ -21360,11 +21360,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @34
+          synthetic get x @-1
             returnType: int
-          synthetic set x @34
+          synthetic set x @-1
             parameters
-              requiredPositional _x @34
+              requiredPositional _x @-1
                 type: int
             returnType: void
     topLevelVariables
@@ -21375,7 +21375,7 @@
             literal: 0 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -21425,7 +21425,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get foo @54
+          synthetic static get foo @-1
             returnType: int
         methods
           bar @77
@@ -21446,7 +21446,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -21494,9 +21494,9 @@
             literal: null @26
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static get b @22
+      synthetic static get b @-1
         returnType: dynamic
 ''');
   }
@@ -21543,7 +21543,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22424,7 +22424,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22454,7 +22454,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22499,7 +22499,7 @@
             literal: 42 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -22531,7 +22531,7 @@
               requiredPositional final this.value @48
                 type: dynamic
         accessors
-          synthetic get value @26
+          synthetic get value @-1
             returnType: dynamic
     enums
       enum E @64
@@ -22633,7 +22633,7 @@
             literal: 42 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -22670,7 +22670,7 @@
             literal: null @32
             staticType: null
     accessors
-      synthetic static get a @28
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22718,7 +22718,7 @@
                 literal: 1 @71
                 staticType: int
         accessors
-          synthetic static get foo @65
+          synthetic static get foo @-1
             returnType: int
         methods
           bar @88
@@ -22739,7 +22739,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -22787,7 +22787,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22813,11 +22813,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @33
+          synthetic get x @-1
             returnType: int
-          synthetic set x @33
+          synthetic set x @-1
             parameters
-              requiredPositional _x @33
+              requiredPositional _x @-1
                 type: int
             returnType: void
     topLevelVariables
@@ -22828,7 +22828,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22863,11 +22863,11 @@
                       staticType: null
                       token: a @40
         accessors
-          synthetic get x @32
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @32
+          synthetic set x @-1
             parameters
-              requiredPositional _x @32
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
     topLevelVariables
@@ -22878,7 +22878,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22912,11 +22912,11 @@
                     literal: null @48
                     staticType: null
         accessors
-          synthetic get x @30
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @30
+          synthetic set x @-1
             parameters
-              requiredPositional _x @30
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
     topLevelVariables
@@ -22927,7 +22927,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -22949,7 +22949,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
     functions
       f @19
@@ -22980,7 +22980,7 @@
       synthetic static f @-1
         type: dynamic
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
       get f @23
         metadata
@@ -23010,7 +23010,7 @@
       synthetic static f @-1
         type: dynamic
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
       set f @23
         metadata
@@ -23054,7 +23054,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -23072,7 +23072,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
     functions
       f @16
@@ -23104,7 +23104,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
     functions
       f @16
@@ -23171,9 +23171,9 @@
             literal: null @26
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static get b @22
+      synthetic static get b @-1
         returnType: dynamic
 ''');
   }
@@ -23213,7 +23213,7 @@
             literal: 0 @33
             staticType: int
     accessors
-      synthetic static get a @29
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -23256,7 +23256,7 @@
             literal: 0 @46
             staticType: int
     accessors
-      synthetic static get a @42
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -23293,7 +23293,7 @@
             literal: 42 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -23333,7 +23333,7 @@
             literal: 42 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -23372,7 +23372,7 @@
             literal: 42 @10
             staticType: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
 ''');
   }
@@ -23433,7 +23433,7 @@
             literal: null @24
             staticType: null
     accessors
-      synthetic static get a @20
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -23470,7 +23470,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -23524,9 +23524,9 @@
             literal: null @26
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static get b @22
+      synthetic static get b @-1
         returnType: dynamic
 ''');
   }
@@ -23582,9 +23582,9 @@
             literal: null @26
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static get b @22
+      synthetic static get b @-1
         returnType: dynamic
 ''');
   }
@@ -23629,7 +23629,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -23681,7 +23681,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get foo @54
+          synthetic static get foo @-1
             returnType: int
         methods
           bar @77
@@ -23702,7 +23702,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -23752,9 +23752,9 @@
             literal: null @26
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static get b @22
+      synthetic static get b @-1
         returnType: dynamic
 ''');
   }
@@ -23800,7 +23800,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -23849,7 +23849,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -23892,7 +23892,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -23954,7 +23954,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24009,7 +24009,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24077,7 +24077,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24155,7 +24155,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24199,7 +24199,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24262,20 +24262,20 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get isStatic @42
+          synthetic static get isStatic @-1
             returnType: int
-          synthetic static set isStatic @42
+          synthetic static set isStatic @-1
             parameters
-              requiredPositional _isStatic @42
+              requiredPositional _isStatic @-1
                 type: int
             returnType: void
-          synthetic static get isStaticConst @79
+          synthetic static get isStaticConst @-1
             returnType: int
-          synthetic get isInstance @112
+          synthetic get isInstance @-1
             returnType: int
-          synthetic set isInstance @112
+          synthetic set isInstance @-1
             parameters
-              requiredPositional _isInstance @112
+              requiredPositional _isInstance @-1
                 type: int
             returnType: void
     topLevelVariables
@@ -24286,7 +24286,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24321,7 +24321,7 @@
             literal: 0 @58
             staticType: int
     accessors
-      synthetic static get foo @52
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24369,7 +24369,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24427,7 +24427,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24495,7 +24495,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
 ''');
   }
@@ -24533,7 +24533,7 @@
             literal: 0 @71
             staticType: int
     accessors
-      synthetic static get foo @65
+      synthetic static get foo @-1
         returnType: int
   parts
     a.dart
@@ -24576,7 +24576,7 @@
             literal: 0 @12
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
     functions
       f @26
@@ -24637,7 +24637,7 @@
       synthetic static getter @-1
         type: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
       get getter @29
         metadata
@@ -24673,7 +24673,7 @@
       synthetic static setter @-1
         type: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
       set setter @25
         metadata
@@ -24744,16 +24744,16 @@
             literal: 2 @63
             staticType: int
     accessors
-      synthetic static get foo @6
+      synthetic static get foo @-1
         returnType: int
-      synthetic static get isNotConst @25
+      synthetic static get isNotConst @-1
         returnType: int
-      synthetic static set isNotConst @25
+      synthetic static set isNotConst @-1
         parameters
-          requiredPositional _isNotConst @25
+          requiredPositional _isNotConst @-1
             type: int
         returnType: void
-      synthetic static get isConst @53
+      synthetic static get isConst @-1
         returnType: int
 ''');
   }
@@ -24778,7 +24778,7 @@
             literal: null @41
             staticType: null
     accessors
-      synthetic static get a @37
+      synthetic static get a @-1
         returnType: dynamic
   parts
     foo.dart
@@ -24854,7 +24854,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
     functions
       f @16
@@ -24910,7 +24910,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -24934,7 +24934,7 @@
       synthetic static foo @-1
         type: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
       set foo @21
         parameters
@@ -24965,7 +24965,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
     functions
       f @16
@@ -25011,13 +25011,13 @@
               token: a @17
         type: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static get v @23
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @23
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @23
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -25051,7 +25051,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -25104,7 +25104,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -25122,7 +25122,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
     functions
       f @16
@@ -25169,7 +25169,7 @@
             literal: null @10
             staticType: null
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: dynamic
 ''');
   }
@@ -25206,13 +25206,13 @@
               token: a @14
         type: int
     accessors
-      synthetic static get a @6
+      synthetic static get a @-1
         returnType: int
-      synthetic static get x @20
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @20
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @20
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -25242,7 +25242,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get x @25
+          synthetic static get x @-1
             returnType: int
       class C @45
         metadata
@@ -25369,7 +25369,7 @@
                 literal: 0 @40
                 staticType: int
         accessors
-          synthetic static get x @36
+          synthetic static get x @-1
             returnType: int
 ''');
   }
@@ -25626,22 +25626,22 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @50
+          synthetic get a @-1
             returnType: A
-          synthetic set a @50
+          synthetic set a @-1
             parameters
-              requiredPositional _a @50
+              requiredPositional _a @-1
                 type: A
             returnType: void
     topLevelVariables
       static c @59
         type: double
     accessors
-      synthetic static get c @59
+      synthetic static get c @-1
         returnType: double
-      synthetic static set c @59
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @59
+          requiredPositional _c @-1
             type: double
         returnType: void
 ''');
@@ -25708,11 +25708,11 @@
               requiredPositional v @132
                 type: int
             returnType: void
-          synthetic get f @101
+          synthetic get f @-1
             returnType: T
-          synthetic set f @101
+          synthetic set f @-1
             parameters
-              requiredPositional _f @101
+              requiredPositional _f @-1
                 type: T
             returnType: void
         methods
@@ -25742,7 +25742,7 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @18
+          synthetic get x @-1
             returnType: int
 ''');
   }
@@ -26035,11 +26035,11 @@
       static v @19
         type: C
     accessors
-      synthetic static get v @19
+      synthetic static get v @-1
         returnType: C
-      synthetic static set v @19
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @19
+          requiredPositional _v @-1
             type: C
         returnType: void
 ''');
@@ -26065,11 +26065,11 @@
       static v @19
         type: C
     accessors
-      synthetic static get v @19
+      synthetic static get v @-1
         returnType: C
-      synthetic static set v @19
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @19
+          requiredPositional _v @-1
             type: C
         returnType: void
 ''');
@@ -26099,11 +26099,11 @@
       static v @19
         type: C
     accessors
-      synthetic static get v @19
+      synthetic static get v @-1
         returnType: C
-      synthetic static set v @19
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @19
+          requiredPositional _v @-1
             type: C
         returnType: void
 ''');
@@ -26131,11 +26131,11 @@
       static v @36
         type: A
     accessors
-      synthetic static get v @36
+      synthetic static get v @-1
         returnType: A
-      synthetic static set v @36
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @36
+          requiredPositional _v @-1
             type: A
         returnType: void
 ''');
@@ -26197,11 +26197,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get foo @16
+          synthetic get foo @-1
             returnType: int
-          synthetic set foo @16
+          synthetic set foo @-1
             parameters
-              requiredPositional _foo @16
+              requiredPositional _foo @-1
                 type: int
             returnType: void
 ''');
@@ -26692,12 +26692,12 @@
           synthetic @-1
             nonSynthetic: self::@class::C
         accessors
-          synthetic get foo @16
+          synthetic get foo @-1
             returnType: int
             nonSynthetic: self::@class::C::@field::foo
-          synthetic set foo @16
+          synthetic set foo @-1
             parameters
-              requiredPositional _foo @16
+              requiredPositional _foo @-1
                 type: int
                 nonSynthetic: self::@class::C::@field::foo
             returnType: void
@@ -26892,12 +26892,12 @@
           synthetic @-1
             nonSynthetic: self::@mixin::M
         accessors
-          synthetic get foo @16
+          synthetic get foo @-1
             returnType: int
             nonSynthetic: self::@mixin::M::@field::foo
-          synthetic set foo @16
+          synthetic set foo @-1
             parameters
-              requiredPositional _foo @16
+              requiredPositional _foo @-1
                 type: int
                 nonSynthetic: self::@mixin::M::@field::foo
             returnType: void
@@ -27059,12 +27059,12 @@
         type: int
         nonSynthetic: self::@variable::foo
     accessors
-      synthetic static get foo @4
+      synthetic static get foo @-1
         returnType: int
         nonSynthetic: self::@variable::foo
-      synthetic static set foo @4
+      synthetic static set foo @-1
         parameters
-          requiredPositional _foo @4
+          requiredPositional _foo @-1
             type: int
             nonSynthetic: self::@variable::foo
         returnType: void
@@ -27611,11 +27611,11 @@
                     literal: 1 @68
                     staticType: int
         accessors
-          synthetic get x @16
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @16
+          synthetic set x @-1
             parameters
-              requiredPositional _x @16
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -27866,11 +27866,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get t @16
+          synthetic get t @-1
             returnType: int
-          synthetic set t @16
+          synthetic set t @-1
             parameters
-              requiredPositional _t @16
+              requiredPositional _t @-1
                 type: int
             returnType: void
       class B @27
@@ -27881,11 +27881,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get t @50
+          synthetic get t @-1
             returnType: double
-          synthetic set t @50
+          synthetic set t @-1
             parameters
-              requiredPositional _t @50
+              requiredPositional _t @-1
                 type: double
             returnType: void
       class C @61
@@ -28025,7 +28025,7 @@
       static final v @6
         type: int Function<T>(T)
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: int Function<T>(T)
     functions
       f @52
@@ -28077,11 +28077,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get v @22
+          synthetic get v @-1
             returnType: int Function(T, U)
-          synthetic set v @22
+          synthetic set v @-1
             parameters
-              requiredPositional _v @22
+              requiredPositional _v @-1
                 type: int Function(T, U)
             returnType: void
     functions
@@ -28123,7 +28123,7 @@
       static final v @6
         type: int Function()
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: int Function()
     functions
       f @40
@@ -28143,7 +28143,7 @@
       static final v @6
         type: int Function(int, String)
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: int Function(int, String)
     functions
       f @70
@@ -28162,11 +28162,11 @@
       static i @13
         type: int
     accessors
-      synthetic static get i @13
+      synthetic static get i @-1
         returnType: int
-      synthetic static set i @13
+      synthetic static set i @-1
         parameters
-          requiredPositional _i @13
+          requiredPositional _i @-1
             type: int
         returnType: void
 ''');
@@ -28181,11 +28181,11 @@
       static m @22
         type: Map<dynamic, dynamic>
     accessors
-      synthetic static get m @22
+      synthetic static get m @-1
         returnType: Map<dynamic, dynamic>
-      synthetic static set m @22
+      synthetic static set m @-1
         parameters
-          requiredPositional _m @22
+          requiredPositional _m @-1
             type: Map<dynamic, dynamic>
         returnType: void
 ''');
@@ -28200,11 +28200,11 @@
       static m @18
         type: Map<dynamic, int>
     accessors
-      synthetic static get m @18
+      synthetic static get m @-1
         returnType: Map<dynamic, int>
-      synthetic static set m @18
+      synthetic static set m @-1
         parameters
-          requiredPositional _m @18
+          requiredPositional _m @-1
             type: Map<dynamic, int>
         returnType: void
 ''');
@@ -28219,11 +28219,11 @@
       static m @21
         type: Map<String, dynamic>
     accessors
-      synthetic static get m @21
+      synthetic static get m @-1
         returnType: Map<String, dynamic>
-      synthetic static set m @21
+      synthetic static set m @-1
         parameters
-          requiredPositional _m @21
+          requiredPositional _m @-1
             type: Map<String, dynamic>
         returnType: void
 ''');
@@ -28238,11 +28238,11 @@
       static m @17
         type: Map<String, int>
     accessors
-      synthetic static get m @17
+      synthetic static get m @-1
         returnType: Map<String, int>
-      synthetic static set m @17
+      synthetic static set m @-1
         parameters
-          requiredPositional _m @17
+          requiredPositional _m @-1
             type: Map<String, int>
         returnType: void
 ''');
@@ -28257,11 +28257,11 @@
       static m @4
         type: Map<dynamic, dynamic>
     accessors
-      synthetic static get m @4
+      synthetic static get m @-1
         returnType: Map<dynamic, dynamic>
-      synthetic static set m @4
+      synthetic static set m @-1
         parameters
-          requiredPositional _m @4
+          requiredPositional _m @-1
             type: Map<dynamic, dynamic>
         returnType: void
 ''');
@@ -28276,11 +28276,11 @@
       static d @8
         type: dynamic
     accessors
-      synthetic static get d @8
+      synthetic static get d @-1
         returnType: dynamic
-      synthetic static set d @8
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @8
+          requiredPositional _d @-1
             type: dynamic
         returnType: void
 ''');
@@ -28303,18 +28303,18 @@
       static b @42
         type: int
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: int Function()
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: int Function()
         returnType: void
-      synthetic static get b @42
+      synthetic static get b @-1
         returnType: int
-      synthetic static set b @42
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @42
+          requiredPositional _b @-1
             type: int
         returnType: void
 ''');
@@ -28335,11 +28335,11 @@
       static x @35
         type: Future<dynamic> Function()
     accessors
-      synthetic static get x @35
+      synthetic static get x @-1
         returnType: Future<dynamic> Function()
-      synthetic static set x @35
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @35
+          requiredPositional _x @-1
             type: Future<dynamic> Function()
         returnType: void
 ''');
@@ -28356,11 +28356,11 @@
       static x @4
         type: int Function(int Function(String))
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: int Function(int Function(String))
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: int Function(int Function(String))
         returnType: void
 ''');
@@ -28377,11 +28377,11 @@
       static x @4
         type: int Function(int Function(String))
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: int Function(int Function(String))
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: int Function(int Function(String))
         returnType: void
 ''');
@@ -28403,11 +28403,11 @@
       static y @21
         type: int
     accessors
-      synthetic static get y @21
+      synthetic static get y @-1
         returnType: int
-      synthetic static set y @21
+      synthetic static set y @-1
         parameters
-          requiredPositional _y @21
+          requiredPositional _y @-1
             type: int
         returnType: void
 ''');
@@ -28442,11 +28442,11 @@
               requiredPositional final this.value @34
                 type: T
         accessors
-          synthetic get value @17
+          synthetic get value @-1
             returnType: T
-          synthetic set value @17
+          synthetic set value @-1
             parameters
-              requiredPositional _value @17
+              requiredPositional _value @-1
                 type: T
             returnType: void
       class B @51
@@ -28456,11 +28456,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @61
+          synthetic get a @-1
             returnType: A<String>
-          synthetic set a @61
+          synthetic set a @-1
             parameters
-              requiredPositional _a @61
+              requiredPositional _a @-1
                 type: A<String>
             returnType: void
 ''');
@@ -28499,11 +28499,11 @@
               requiredPositional final this.value @34
                 type: T
         accessors
-          synthetic get value @17
+          synthetic get value @-1
             returnType: T
-          synthetic set value @17
+          synthetic set value @-1
             parameters
-              requiredPositional _value @17
+              requiredPositional _value @-1
                 type: T
             returnType: void
       class alias B @51
@@ -28537,11 +28537,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @88
+          synthetic get a @-1
             returnType: B<int>
-          synthetic set a @88
+          synthetic set a @-1
             parameters
-              requiredPositional _a @88
+              requiredPositional _a @-1
                 type: B<int>
             returnType: void
     mixins
@@ -28577,11 +28577,11 @@
               requiredPositional final this.f @35
                 type: int
         accessors
-          synthetic get f @19
+          synthetic get f @-1
             returnType: int
-          synthetic set f @19
+          synthetic set f @-1
             parameters
-              requiredPositional _f @19
+              requiredPositional _f @-1
                 type: int
             returnType: void
 ''');
@@ -28613,18 +28613,18 @@
       static b @44
         type: A
     accessors
-      synthetic static get a @24
+      synthetic static get a @-1
         returnType: A
-      synthetic static set a @24
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @24
+          requiredPositional _a @-1
             type: A
         returnType: void
-      synthetic static get b @44
+      synthetic static get b @-1
         returnType: A
-      synthetic static set b @44
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @44
+          requiredPositional _b @-1
             type: A
         returnType: void
 ''');
@@ -28648,11 +28648,11 @@
       static v @38
         type: dynamic
     accessors
-      synthetic static get v @38
+      synthetic static get v @-1
         returnType: dynamic
-      synthetic static set v @38
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @38
+          requiredPositional _v @-1
             type: dynamic
         returnType: void
 ''');
@@ -28669,11 +28669,11 @@
       static x @4
         type: dynamic Function(dynamic) Function(dynamic)
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: dynamic Function(dynamic) Function(dynamic)
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: dynamic Function(dynamic) Function(dynamic)
         returnType: void
 ''');
@@ -28690,11 +28690,11 @@
       static x @4
         type: int Function(int) Function(int)
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: int Function(int) Function(int)
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: int Function(int) Function(int)
         returnType: void
 ''');
@@ -28711,11 +28711,11 @@
       static x @4
         type: dynamic Function([dynamic])
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: dynamic Function([dynamic])
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: dynamic Function([dynamic])
         returnType: void
 ''');
@@ -28760,7 +28760,7 @@
               requiredPositional final this.f @85
                 type: T
         accessors
-          synthetic get f @67
+          synthetic get f @-1
             returnType: T
     topLevelVariables
       static final b @98
@@ -28768,9 +28768,9 @@
       static final c @113
         type: C<B>
     accessors
-      synthetic static get b @98
+      synthetic static get b @-1
         returnType: B
-      synthetic static get c @113
+      synthetic static get c @-1
         returnType: C<B>
 ''');
   }
@@ -28798,11 +28798,11 @@
       static v @48
         type: int
     accessors
-      synthetic static get v @48
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @48
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @48
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -28841,18 +28841,18 @@
       static V @71
         type: int
     accessors
-      synthetic static get V2 @56
+      synthetic static get V2 @-1
         returnType: dynamic
-      synthetic static set V2 @56
+      synthetic static set V2 @-1
         parameters
-          requiredPositional _V2 @56
+          requiredPositional _V2 @-1
             type: dynamic
         returnType: void
-      synthetic static get V @71
+      synthetic static get V @-1
         returnType: int
-      synthetic static set V @71
+      synthetic static set V @-1
         parameters
-          requiredPositional _V @71
+          requiredPositional _V @-1
             type: int
         returnType: void
     functions
@@ -28878,18 +28878,18 @@
       static V2 @22
         type: List<dynamic>
     accessors
-      synthetic static get V @4
+      synthetic static get V @-1
         returnType: dynamic
-      synthetic static set V @4
+      synthetic static set V @-1
         parameters
-          requiredPositional _V @4
+          requiredPositional _V @-1
             type: dynamic
         returnType: void
-      synthetic static get V2 @22
+      synthetic static get V2 @-1
         returnType: List<dynamic>
-      synthetic static set V2 @22
+      synthetic static set V2 @-1
         parameters
-          requiredPositional _V2 @22
+          requiredPositional _V2 @-1
             type: List<dynamic>
         returnType: void
 ''');
@@ -28931,11 +28931,11 @@
       static v @4
         type: dynamic
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: dynamic
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: dynamic
         returnType: void
 ''');
@@ -28951,11 +28951,11 @@
       static d @6
         type: Null*
     accessors
-      synthetic static get d @6
+      synthetic static get d @-1
         returnType: Null*
-      synthetic static set d @6
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @6
+          requiredPositional _d @-1
             type: Null*
         returnType: void
 ''');
@@ -28970,11 +28970,11 @@
       static d @6
         type: Never
     accessors
-      synthetic static get d @6
+      synthetic static get d @-1
         returnType: Never
-      synthetic static set d @6
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @6
+          requiredPositional _d @-1
             type: Never
         returnType: void
 ''');
@@ -29000,11 +29000,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get t @17
+          synthetic get t @-1
             returnType: T
-          synthetic set t @17
+          synthetic set t @-1
             parameters
-              requiredPositional _t @17
+              requiredPositional _t @-1
                 type: T
             returnType: void
 ''');
@@ -29030,11 +29030,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get t @18
+          synthetic get t @-1
             returnType: T?
-          synthetic set t @18
+          synthetic set t @-1
             parameters
-              requiredPositional _t @18
+              requiredPositional _t @-1
                 type: T?
             returnType: void
 ''');
@@ -29061,11 +29061,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get t @17
+          synthetic get t @-1
             returnType: T*
-          synthetic set t @17
+          synthetic set t @-1
             parameters
-              requiredPositional _t @17
+              requiredPositional _t @-1
                 type: T*
             returnType: void
 ''');
@@ -29119,26 +29119,26 @@
         type: dynamic Function()
           aliasElement: self::@typeAlias::F
     accessors
-      synthetic static get c @39
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @39
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @39
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @44
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @44
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @44
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @49
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: self::@typeAlias::F
-      synthetic static set f @49
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @49
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: self::@typeAlias::F
         returnType: void
@@ -29163,26 +29163,26 @@
         type: dynamic Function()
           aliasElement: self::@typeAlias::F
     accessors
-      synthetic static get c @28
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @28
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @28
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @33
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @33
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @33
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @38
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: self::@typeAlias::F
-      synthetic static set f @38
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @38
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: self::@typeAlias::F
         returnType: void
@@ -29267,26 +29267,26 @@
           type: dynamic Function()
             aliasElement: self::@typeAlias::F
       accessors
-        synthetic static get c @13
+        synthetic static get c @-1
           returnType: C
-        synthetic static set c @13
+        synthetic static set c @-1
           parameters
-            requiredPositional _c @13
+            requiredPositional _c @-1
               type: C
           returnType: void
-        synthetic static get e @18
+        synthetic static get e @-1
           returnType: E
-        synthetic static set e @18
+        synthetic static set e @-1
           parameters
-            requiredPositional _e @18
+            requiredPositional _e @-1
               type: E
           returnType: void
-        synthetic static get f @23
+        synthetic static get f @-1
           returnType: dynamic Function()
             aliasElement: self::@typeAlias::F
-        synthetic static set f @23
+        synthetic static set f @-1
           parameters
-            requiredPositional _f @23
+            requiredPositional _f @-1
               type: dynamic Function()
                 aliasElement: self::@typeAlias::F
           returnType: void
@@ -29343,26 +29343,26 @@
           type: dynamic Function()
             aliasElement: self::@typeAlias::F
       accessors
-        synthetic static get c @13
+        synthetic static get c @-1
           returnType: C
-        synthetic static set c @13
+        synthetic static set c @-1
           parameters
-            requiredPositional _c @13
+            requiredPositional _c @-1
               type: C
           returnType: void
-        synthetic static get e @18
+        synthetic static get e @-1
           returnType: E
-        synthetic static set e @18
+        synthetic static set e @-1
           parameters
-            requiredPositional _e @18
+            requiredPositional _e @-1
               type: E
           returnType: void
-        synthetic static get f @23
+        synthetic static get f @-1
           returnType: dynamic Function()
             aliasElement: self::@typeAlias::F
-        synthetic static set f @23
+        synthetic static set f @-1
           parameters
-            requiredPositional _f @23
+            requiredPositional _f @-1
               type: dynamic Function()
                 aliasElement: self::@typeAlias::F
           returnType: void
@@ -29417,26 +29417,26 @@
           type: dynamic Function()
             aliasElement: self::@typeAlias::F
       accessors
-        synthetic static get c @50
+        synthetic static get c @-1
           returnType: C
-        synthetic static set c @50
+        synthetic static set c @-1
           parameters
-            requiredPositional _c @50
+            requiredPositional _c @-1
               type: C
           returnType: void
-        synthetic static get e @55
+        synthetic static get e @-1
           returnType: E
-        synthetic static set e @55
+        synthetic static set e @-1
           parameters
-            requiredPositional _e @55
+            requiredPositional _e @-1
               type: E
           returnType: void
-        synthetic static get f @60
+        synthetic static get f @-1
           returnType: dynamic Function()
             aliasElement: self::@typeAlias::F
-        synthetic static set f @60
+        synthetic static set f @-1
           parameters
-            requiredPositional _f @60
+            requiredPositional _f @-1
               type: dynamic Function()
                 aliasElement: self::@typeAlias::F
           returnType: void
@@ -29456,11 +29456,11 @@
       static c @13
         type: C
     accessors
-      synthetic static get c @13
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @13
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @13
+          requiredPositional _c @-1
             type: C
         returnType: void
 ''');
@@ -29484,11 +29484,11 @@
       static c @32
         type: C<int, String>
     accessors
-      synthetic static get c @32
+      synthetic static get c @-1
         returnType: C<int, String>
-      synthetic static set c @32
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @32
+          requiredPositional _c @-1
             type: C<int, String>
         returnType: void
 ''');
@@ -29512,11 +29512,11 @@
       static c @19
         type: C<dynamic, dynamic>
     accessors
-      synthetic static get c @19
+      synthetic static get c @-1
         returnType: C<dynamic, dynamic>
-      synthetic static set c @19
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @19
+          requiredPositional _c @-1
             type: C<dynamic, dynamic>
         returnType: void
 ''');
@@ -29550,11 +29550,11 @@
       static e @15
         type: E
     accessors
-      synthetic static get e @15
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @15
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @15
+          requiredPositional _e @-1
             type: E
         returnType: void
 ''');
@@ -29577,26 +29577,26 @@
         type: dynamic Function()
           aliasElement: a.dart::@typeAlias::F
     accessors
-      synthetic static get c @19
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @19
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @19
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @24
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @24
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @24
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @29
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: a.dart::@typeAlias::F
-      synthetic static set f @29
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @29
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: a.dart::@typeAlias::F
         returnType: void
@@ -29621,26 +29621,26 @@
         type: dynamic Function()
           aliasElement: b.dart::@typeAlias::F
     accessors
-      synthetic static get c @19
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @19
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @19
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @24
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @24
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @24
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @29
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: b.dart::@typeAlias::F
-      synthetic static set f @29
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @29
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: b.dart::@typeAlias::F
         returnType: void
@@ -29666,26 +29666,26 @@
         type: dynamic Function()
           aliasElement: c.dart::@typeAlias::F
     accessors
-      synthetic static get c @19
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @19
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @19
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @24
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @24
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @24
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @29
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: c.dart::@typeAlias::F
-      synthetic static set f @29
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @29
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: c.dart::@typeAlias::F
         returnType: void
@@ -29711,26 +29711,26 @@
         type: dynamic Function()
           aliasElement: c.dart::@typeAlias::F
     accessors
-      synthetic static get c @21
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @21
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @21
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @26
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @26
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @26
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @31
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: c.dart::@typeAlias::F
-      synthetic static set f @31
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @31
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: c.dart::@typeAlias::F
         returnType: void
@@ -29755,26 +29755,26 @@
         type: dynamic Function()
           aliasElement: b.dart::@typeAlias::F
     accessors
-      synthetic static get c @21
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @21
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @21
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @26
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @26
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @26
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @31
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: b.dart::@typeAlias::F
-      synthetic static set f @31
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @31
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: b.dart::@typeAlias::F
         returnType: void
@@ -29799,26 +29799,26 @@
         type: dynamic Function()
           aliasElement: a.dart::@typeAlias::F
     accessors
-      synthetic static get c @19
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @19
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @19
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @24
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @24
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @24
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @29
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: a.dart::@typeAlias::F
-      synthetic static set f @29
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @29
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: a.dart::@typeAlias::F
         returnType: void
@@ -29841,18 +29841,18 @@
       static c2 @27
         type: C2
     accessors
-      synthetic static get c1 @20
+      synthetic static get c1 @-1
         returnType: C1
-      synthetic static set c1 @20
+      synthetic static set c1 @-1
         parameters
-          requiredPositional _c1 @20
+          requiredPositional _c1 @-1
             type: C1
         returnType: void
-      synthetic static get c2 @27
+      synthetic static get c2 @-1
         returnType: C2
-      synthetic static set c2 @27
+      synthetic static set c2 @-1
         parameters
-          requiredPositional _c2 @27
+          requiredPositional _c2 @-1
             type: C2
         returnType: void
 ''');
@@ -29876,26 +29876,26 @@
         type: dynamic Function()
           aliasElement: b.dart::@typeAlias::F
     accessors
-      synthetic static get c @21
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @21
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @21
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @26
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @26
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @26
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @31
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: b.dart::@typeAlias::F
-      synthetic static set f @31
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @31
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: b.dart::@typeAlias::F
         returnType: void
@@ -29919,26 +29919,26 @@
         type: dynamic Function()
           aliasElement: a.dart::@typeAlias::F
     accessors
-      synthetic static get c @19
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @19
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @19
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get e @24
+      synthetic static get e @-1
         returnType: E
-      synthetic static set e @24
+      synthetic static set e @-1
         parameters
-          requiredPositional _e @24
+          requiredPositional _e @-1
             type: E
         returnType: void
-      synthetic static get f @29
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: a.dart::@typeAlias::F
-      synthetic static set f @29
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @29
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: a.dart::@typeAlias::F
         returnType: void
@@ -29960,12 +29960,12 @@
         type: dynamic Function()
           aliasElement: self::@typeAlias::F
     accessors
-      synthetic static get f @15
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: self::@typeAlias::F
-      synthetic static set f @15
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @15
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: self::@typeAlias::F
         returnType: void
@@ -29999,15 +29999,15 @@
             int
             String
     accessors
-      synthetic static get f @39
+      synthetic static get f @-1
         returnType: String Function(int)
           aliasElement: self::@typeAlias::F
           aliasArguments
             int
             String
-      synthetic static set f @39
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @39
+          requiredPositional _f @-1
             type: String Function(int)
               aliasElement: self::@typeAlias::F
               aliasArguments
@@ -30043,15 +30043,15 @@
             dynamic
             dynamic
     accessors
-      synthetic static get f @26
+      synthetic static get f @-1
         returnType: dynamic Function(dynamic)
           aliasElement: self::@typeAlias::F
           aliasArguments
             dynamic
             dynamic
-      synthetic static set f @26
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @26
+          requiredPositional _f @-1
             type: dynamic Function(dynamic)
               aliasElement: self::@typeAlias::F
               aliasArguments
@@ -30070,11 +30070,11 @@
       static c @2
         type: dynamic
     accessors
-      synthetic static get c @2
+      synthetic static get c @-1
         returnType: dynamic
-      synthetic static set c @2
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @2
+          requiredPositional _c @-1
             type: dynamic
         returnType: void
 ''');
@@ -30092,11 +30092,11 @@
       static c @35
         type: dynamic
     accessors
-      synthetic static get c @35
+      synthetic static get c @-1
         returnType: dynamic
-      synthetic static set c @35
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @35
+          requiredPositional _c @-1
             type: dynamic
         returnType: void
 ''');
@@ -30557,14 +30557,14 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @58
+          synthetic get f @-1
             returnType: int Function<T>(T)
               aliasElement: self::@typeAlias::Foo
               aliasArguments
                 int
-          synthetic set f @58
+          synthetic set f @-1
             parameters
-              requiredPositional _f @58
+              requiredPositional _f @-1
                 type: int Function<T>(T)
                   aliasElement: self::@typeAlias::Foo
                   aliasArguments
@@ -30602,12 +30602,12 @@
         type: dynamic Function()
           aliasElement: self::@typeAlias::F
     accessors
-      synthetic static get f @19
+      synthetic static get f @-1
         returnType: dynamic Function()
           aliasElement: self::@typeAlias::F
-      synthetic static set f @19
+      synthetic static set f @-1
         parameters
-          requiredPositional _f @19
+          requiredPositional _f @-1
             type: dynamic Function()
               aliasElement: self::@typeAlias::F
         returnType: void
@@ -32205,9 +32205,9 @@
       static final foo @10
         type: int
     accessors
-      synthetic static get foo @10
+      synthetic static get foo @-1
         returnType: int
-      set foo @10
+      set foo @23
         parameters
           requiredPositional newValue @31
             type: int
@@ -32735,18 +32735,18 @@
       static v @43
         type: void Function()
     accessors
-      synthetic static get c @36
+      synthetic static get c @-1
         returnType: C<int>
-      synthetic static set c @36
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @36
+          requiredPositional _c @-1
             type: C<int>
         returnType: void
-      synthetic static get v @43
+      synthetic static get v @-1
         returnType: void Function()
-      synthetic static set v @43
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @43
+          requiredPositional _v @-1
             type: void Function()
         returnType: void
 ''');
@@ -32761,11 +32761,11 @@
       static x @4
         type: int
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -32784,7 +32784,7 @@
             literal: 0 @14
             staticType: int
     accessors
-      synthetic static get i @10
+      synthetic static get i @-1
         returnType: int
 ''');
   }
@@ -32802,7 +32802,7 @@
             literal: 0 @19
             staticType: int
     accessors
-      synthetic static get i @15
+      synthetic static get i @-1
         returnType: int
 ''');
   }
@@ -32822,11 +32822,11 @@
         documentationComment: /**\n * Docs\n */
         type: dynamic
     accessors
-      synthetic static get x @64
+      synthetic static get x @-1
         returnType: dynamic
-      synthetic static set x @64
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @64
+          requiredPositional _x @-1
             type: dynamic
         returnType: void
 ''');
@@ -32841,7 +32841,7 @@
       static final x @10
         type: int
     accessors
-      synthetic static get x @10
+      synthetic static get x @-1
         returnType: int
 ''');
   }
@@ -32970,11 +32970,11 @@
       static x @4
         type: dynamic
     accessors
-      synthetic static get x @4
+      synthetic static get x @-1
         returnType: dynamic
-      synthetic static set x @4
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @4
+          requiredPositional _x @-1
             type: dynamic
         returnType: void
 ''');
@@ -32989,11 +32989,11 @@
       static v @4
         type: int
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -33008,11 +33008,11 @@
       static v @4
         type: int
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -33027,7 +33027,7 @@
       static final v @10
         type: int
     accessors
-      synthetic static get v @10
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -33041,7 +33041,7 @@
       static final v @6
         type: int
     accessors
-      synthetic static get v @6
+      synthetic static get v @-1
         returnType: int
 ''');
   }
@@ -33071,11 +33071,11 @@
       static x @59
         type: int
     accessors
-      synthetic static get x @59
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @59
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @59
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -33090,11 +33090,11 @@
       static v @4
         type: int
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -33109,11 +33109,11 @@
       static late x @9
         type: int
     accessors
-      synthetic static get x @9
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @9
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @9
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -33128,11 +33128,11 @@
       static late final x @15
         type: int
     accessors
-      synthetic static get x @15
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @15
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @15
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -33147,7 +33147,7 @@
       static late final x @15
         type: int
     accessors
-      synthetic static get x @15
+      synthetic static get x @-1
         returnType: int
 ''');
   }
@@ -33165,7 +33165,7 @@
             literal: 0 @10
             staticType: int
     accessors
-      synthetic static get i @6
+      synthetic static get i @-1
         returnType: int
 ''');
   }
@@ -33182,7 +33182,7 @@
       static final b @23
         type: double
     accessors
-      synthetic static get b @23
+      synthetic static get b @-1
         returnType: double
 ''');
   }
@@ -33200,7 +33200,7 @@
       static final b @34
         type: double
     accessors
-      synthetic static get b @34
+      synthetic static get b @-1
         returnType: double
   parts
     a.dart
@@ -33208,7 +33208,7 @@
         static final a @19
           type: int
       accessors
-        synthetic static get a @19
+        synthetic static get a @-1
           returnType: int
 ''');
   }
@@ -33222,7 +33222,7 @@
       static final i @6
         type: int
     accessors
-      synthetic static get i @6
+      synthetic static get i @-1
         returnType: int
 ''');
   }
@@ -33241,7 +33241,7 @@
       static final x @23
         type: C
     accessors
-      synthetic static get x @23
+      synthetic static get x @-1
         returnType: C
 ''');
   }
@@ -33289,11 +33289,11 @@
       static a @4
         type: Never
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: Never
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: Never
         returnType: void
 ''');
@@ -33311,11 +33311,11 @@
       static a @4
         type: dynamic
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: dynamic
         returnType: void
 ''');
@@ -33341,11 +33341,11 @@
       static b @21
         type: int
     accessors
-      synthetic static get b @21
+      synthetic static get b @-1
         returnType: int
-      synthetic static set b @21
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @21
+          requiredPositional _b @-1
             type: int
         returnType: void
 ''');
@@ -33388,7 +33388,7 @@
                 type: A<int>
             staticType: A<int>
     accessors
-      synthetic static get a @41
+      synthetic static get a @-1
         returnType: A<int>
 ''');
   }
@@ -33404,18 +33404,18 @@
       static j @11
         type: int
     accessors
-      synthetic static get i @4
+      synthetic static get i @-1
         returnType: int
-      synthetic static set i @4
+      synthetic static set i @-1
         parameters
-          requiredPositional _i @4
+          requiredPositional _i @-1
             type: int
         returnType: void
-      synthetic static get j @11
+      synthetic static get j @-1
         returnType: int
-      synthetic static set j @11
+      synthetic static set j @-1
         parameters
-          requiredPositional _j @11
+          requiredPositional _j @-1
             type: int
         returnType: void
 ''');
diff --git a/pkg/analyzer/test/src/summary/top_level_inference_test.dart b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
index 3225233..b10c777 100644
--- a/pkg/analyzer/test/src/summary/top_level_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
@@ -383,60 +383,60 @@
       static vMinusDoubleDouble @212
         type: double
     accessors
-      synthetic static get vPlusIntInt @4
+      synthetic static get vPlusIntInt @-1
         returnType: int
-      synthetic static set vPlusIntInt @4
+      synthetic static set vPlusIntInt @-1
         parameters
-          requiredPositional _vPlusIntInt @4
+          requiredPositional _vPlusIntInt @-1
             type: int
         returnType: void
-      synthetic static get vPlusIntDouble @29
+      synthetic static get vPlusIntDouble @-1
         returnType: double
-      synthetic static set vPlusIntDouble @29
+      synthetic static set vPlusIntDouble @-1
         parameters
-          requiredPositional _vPlusIntDouble @29
+          requiredPositional _vPlusIntDouble @-1
             type: double
         returnType: void
-      synthetic static get vPlusDoubleInt @59
+      synthetic static get vPlusDoubleInt @-1
         returnType: double
-      synthetic static set vPlusDoubleInt @59
+      synthetic static set vPlusDoubleInt @-1
         parameters
-          requiredPositional _vPlusDoubleInt @59
+          requiredPositional _vPlusDoubleInt @-1
             type: double
         returnType: void
-      synthetic static get vPlusDoubleDouble @89
+      synthetic static get vPlusDoubleDouble @-1
         returnType: double
-      synthetic static set vPlusDoubleDouble @89
+      synthetic static set vPlusDoubleDouble @-1
         parameters
-          requiredPositional _vPlusDoubleDouble @89
+          requiredPositional _vPlusDoubleDouble @-1
             type: double
         returnType: void
-      synthetic static get vMinusIntInt @124
+      synthetic static get vMinusIntInt @-1
         returnType: int
-      synthetic static set vMinusIntInt @124
+      synthetic static set vMinusIntInt @-1
         parameters
-          requiredPositional _vMinusIntInt @124
+          requiredPositional _vMinusIntInt @-1
             type: int
         returnType: void
-      synthetic static get vMinusIntDouble @150
+      synthetic static get vMinusIntDouble @-1
         returnType: double
-      synthetic static set vMinusIntDouble @150
+      synthetic static set vMinusIntDouble @-1
         parameters
-          requiredPositional _vMinusIntDouble @150
+          requiredPositional _vMinusIntDouble @-1
             type: double
         returnType: void
-      synthetic static get vMinusDoubleInt @181
+      synthetic static get vMinusDoubleInt @-1
         returnType: double
-      synthetic static set vMinusDoubleInt @181
+      synthetic static set vMinusDoubleInt @-1
         parameters
-          requiredPositional _vMinusDoubleInt @181
+          requiredPositional _vMinusDoubleInt @-1
             type: double
         returnType: void
-      synthetic static get vMinusDoubleDouble @212
+      synthetic static get vMinusDoubleDouble @-1
         returnType: double
-      synthetic static set vMinusDoubleDouble @212
+      synthetic static set vMinusDoubleDouble @-1
         parameters
-          requiredPositional _vMinusDoubleDouble @212
+          requiredPositional _vMinusDoubleDouble @-1
             type: double
         returnType: void
 ''');
@@ -453,11 +453,11 @@
       static V @4
         type: num
     accessors
-      synthetic static get V @4
+      synthetic static get V @-1
         returnType: num
-      synthetic static set V @4
+      synthetic static set V @-1
         parameters
-          requiredPositional _V @4
+          requiredPositional _V @-1
             type: num
         returnType: void
 ''');
@@ -480,25 +480,25 @@
       static t2 @33
         type: int
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: int
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: int
         returnType: void
-      synthetic static get t1 @15
+      synthetic static get t1 @-1
         returnType: int
-      synthetic static set t1 @15
+      synthetic static set t1 @-1
         parameters
-          requiredPositional _t1 @15
+          requiredPositional _t1 @-1
             type: int
         returnType: void
-      synthetic static get t2 @33
+      synthetic static get t2 @-1
         returnType: int
-      synthetic static set t2 @33
+      synthetic static set t2 @-1
         parameters
-          requiredPositional _t2 @33
+          requiredPositional _t2 @-1
             type: int
         returnType: void
 ''');
@@ -521,25 +521,25 @@
       static t2 @38
         type: int
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: List<int>
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: List<int>
         returnType: void
-      synthetic static get t1 @17
+      synthetic static get t1 @-1
         returnType: int
-      synthetic static set t1 @17
+      synthetic static set t1 @-1
         parameters
-          requiredPositional _t1 @17
+          requiredPositional _t1 @-1
             type: int
         returnType: void
-      synthetic static get t2 @38
+      synthetic static get t2 @-1
         returnType: int
-      synthetic static set t2 @38
+      synthetic static set t2 @-1
         parameters
-          requiredPositional _t2 @38
+          requiredPositional _t2 @-1
             type: int
         returnType: void
 ''');
@@ -565,11 +565,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
     topLevelVariables
@@ -580,25 +580,25 @@
       static t2 @62
         type: int
     accessors
-      synthetic static get a @25
+      synthetic static get a @-1
         returnType: A
-      synthetic static set a @25
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @25
+          requiredPositional _a @-1
             type: A
         returnType: void
-      synthetic static get t1 @42
+      synthetic static get t1 @-1
         returnType: int
-      synthetic static set t1 @42
+      synthetic static set t1 @-1
         parameters
-          requiredPositional _t1 @42
+          requiredPositional _t1 @-1
             type: int
         returnType: void
-      synthetic static get t2 @62
+      synthetic static get t2 @-1
         returnType: int
-      synthetic static set t2 @62
+      synthetic static set t2 @-1
         parameters
-          requiredPositional _t2 @62
+          requiredPositional _t2 @-1
             type: int
         returnType: void
 ''');
@@ -625,11 +625,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
       abstract class C @36
@@ -645,25 +645,25 @@
       static t2 @83
         type: int
     accessors
-      synthetic static get c @56
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @56
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @56
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get t1 @63
+      synthetic static get t1 @-1
         returnType: int
-      synthetic static set t1 @63
+      synthetic static set t1 @-1
         parameters
-          requiredPositional _t1 @63
+          requiredPositional _t1 @-1
             type: int
         returnType: void
-      synthetic static get t2 @83
+      synthetic static get t2 @-1
         returnType: int
-      synthetic static set t2 @83
+      synthetic static set t2 @-1
         parameters
-          requiredPositional _t2 @83
+          requiredPositional _t2 @-1
             type: int
         returnType: void
 ''');
@@ -690,11 +690,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
       abstract class C @36
@@ -708,18 +708,18 @@
       static t2 @101
         type: int
     accessors
-      synthetic static get t1 @76
+      synthetic static get t1 @-1
         returnType: int
-      synthetic static set t1 @76
+      synthetic static set t1 @-1
         parameters
-          requiredPositional _t1 @76
+          requiredPositional _t1 @-1
             type: int
         returnType: void
-      synthetic static get t2 @101
+      synthetic static get t2 @-1
         returnType: int
-      synthetic static set t2 @101
+      synthetic static set t2 @-1
         parameters
-          requiredPositional _t2 @101
+          requiredPositional _t2 @-1
             type: int
         returnType: void
     functions
@@ -747,18 +747,18 @@
       static uFuture @121
         type: Future<int> Function()
     accessors
-      synthetic static get uValue @80
+      synthetic static get uValue @-1
         returnType: Future<int> Function()
-      synthetic static set uValue @80
+      synthetic static set uValue @-1
         parameters
-          requiredPositional _uValue @80
+          requiredPositional _uValue @-1
             type: Future<int> Function()
         returnType: void
-      synthetic static get uFuture @121
+      synthetic static get uFuture @-1
         returnType: Future<int> Function()
-      synthetic static set uFuture @121
+      synthetic static set uFuture @-1
         parameters
-          requiredPositional _uFuture @121
+          requiredPositional _uFuture @-1
             type: Future<int> Function()
         returnType: void
     functions
@@ -792,39 +792,39 @@
       static vBitShiftRight @94
         type: int
     accessors
-      synthetic static get vBitXor @4
+      synthetic static get vBitXor @-1
         returnType: int
-      synthetic static set vBitXor @4
+      synthetic static set vBitXor @-1
         parameters
-          requiredPositional _vBitXor @4
+          requiredPositional _vBitXor @-1
             type: int
         returnType: void
-      synthetic static get vBitAnd @25
+      synthetic static get vBitAnd @-1
         returnType: int
-      synthetic static set vBitAnd @25
+      synthetic static set vBitAnd @-1
         parameters
-          requiredPositional _vBitAnd @25
+          requiredPositional _vBitAnd @-1
             type: int
         returnType: void
-      synthetic static get vBitOr @46
+      synthetic static get vBitOr @-1
         returnType: int
-      synthetic static set vBitOr @46
+      synthetic static set vBitOr @-1
         parameters
-          requiredPositional _vBitOr @46
+          requiredPositional _vBitOr @-1
             type: int
         returnType: void
-      synthetic static get vBitShiftLeft @66
+      synthetic static get vBitShiftLeft @-1
         returnType: int
-      synthetic static set vBitShiftLeft @66
+      synthetic static set vBitShiftLeft @-1
         parameters
-          requiredPositional _vBitShiftLeft @66
+          requiredPositional _vBitShiftLeft @-1
             type: int
         returnType: void
-      synthetic static get vBitShiftRight @94
+      synthetic static get vBitShiftRight @-1
         returnType: int
-      synthetic static set vBitShiftRight @94
+      synthetic static set vBitShiftRight @-1
         parameters
-          requiredPositional _vBitShiftRight @94
+          requiredPositional _vBitShiftRight @-1
             type: int
         returnType: void
 ''');
@@ -851,11 +851,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @16
+          synthetic get a @-1
             returnType: int
-          synthetic set a @16
+          synthetic set a @-1
             parameters
-              requiredPositional _a @16
+              requiredPositional _a @-1
                 type: int
             returnType: void
         methods
@@ -869,25 +869,25 @@
       static vBoth @105
         type: A
     accessors
-      synthetic static get vSetField @39
+      synthetic static get vSetField @-1
         returnType: A
-      synthetic static set vSetField @39
+      synthetic static set vSetField @-1
         parameters
-          requiredPositional _vSetField @39
+          requiredPositional _vSetField @-1
             type: A
         returnType: void
-      synthetic static get vInvokeMethod @71
+      synthetic static get vInvokeMethod @-1
         returnType: A
-      synthetic static set vInvokeMethod @71
+      synthetic static set vInvokeMethod @-1
         parameters
-          requiredPositional _vInvokeMethod @71
+          requiredPositional _vInvokeMethod @-1
             type: A
         returnType: void
-      synthetic static get vBoth @105
+      synthetic static get vBoth @-1
         returnType: A
-      synthetic static set vBoth @105
+      synthetic static set vBoth @-1
         parameters
-          requiredPositional _vBoth @105
+          requiredPositional _vBoth @-1
             type: A
         returnType: void
 ''');
@@ -937,11 +937,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
       class B @31
@@ -951,11 +951,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @39
+          synthetic get a @-1
             returnType: A
-          synthetic set a @39
+          synthetic set a @-1
             parameters
-              requiredPositional _a @39
+              requiredPositional _a @-1
                 type: A
             returnType: void
       class C @50
@@ -965,11 +965,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @58
+          synthetic get b @-1
             returnType: B
-          synthetic set b @58
+          synthetic set b @-1
             parameters
-              requiredPositional _b @58
+              requiredPositional _b @-1
                 type: B
             returnType: void
       class X @69
@@ -1001,88 +1001,88 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get a @77
+          synthetic get a @-1
             returnType: A
-          synthetic set a @77
+          synthetic set a @-1
             parameters
-              requiredPositional _a @77
+              requiredPositional _a @-1
                 type: A
             returnType: void
-          synthetic get b @94
+          synthetic get b @-1
             returnType: B
-          synthetic set b @94
+          synthetic set b @-1
             parameters
-              requiredPositional _b @94
+              requiredPositional _b @-1
                 type: B
             returnType: void
-          synthetic get c @111
+          synthetic get c @-1
             returnType: C
-          synthetic set c @111
+          synthetic set c @-1
             parameters
-              requiredPositional _c @111
+              requiredPositional _c @-1
                 type: C
             returnType: void
-          synthetic get t01 @130
+          synthetic get t01 @-1
             returnType: int
-          synthetic set t01 @130
+          synthetic set t01 @-1
             parameters
-              requiredPositional _t01 @130
+              requiredPositional _t01 @-1
                 type: int
             returnType: void
-          synthetic get t02 @147
+          synthetic get t02 @-1
             returnType: int
-          synthetic set t02 @147
+          synthetic set t02 @-1
             parameters
-              requiredPositional _t02 @147
+              requiredPositional _t02 @-1
                 type: int
             returnType: void
-          synthetic get t03 @166
+          synthetic get t03 @-1
             returnType: int
-          synthetic set t03 @166
+          synthetic set t03 @-1
             parameters
-              requiredPositional _t03 @166
+              requiredPositional _t03 @-1
                 type: int
             returnType: void
-          synthetic get t11 @187
+          synthetic get t11 @-1
             returnType: int
-          synthetic set t11 @187
+          synthetic set t11 @-1
             parameters
-              requiredPositional _t11 @187
+              requiredPositional _t11 @-1
                 type: int
             returnType: void
-          synthetic get t12 @210
+          synthetic get t12 @-1
             returnType: int
-          synthetic set t12 @210
+          synthetic set t12 @-1
             parameters
-              requiredPositional _t12 @210
+              requiredPositional _t12 @-1
                 type: int
             returnType: void
-          synthetic get t13 @235
+          synthetic get t13 @-1
             returnType: int
-          synthetic set t13 @235
+          synthetic set t13 @-1
             parameters
-              requiredPositional _t13 @235
+              requiredPositional _t13 @-1
                 type: int
             returnType: void
-          synthetic get t21 @262
+          synthetic get t21 @-1
             returnType: int
-          synthetic set t21 @262
+          synthetic set t21 @-1
             parameters
-              requiredPositional _t21 @262
+              requiredPositional _t21 @-1
                 type: int
             returnType: void
-          synthetic get t22 @284
+          synthetic get t22 @-1
             returnType: int
-          synthetic set t22 @284
+          synthetic set t22 @-1
             parameters
-              requiredPositional _t22 @284
+              requiredPositional _t22 @-1
                 type: int
             returnType: void
-          synthetic get t23 @308
+          synthetic get t23 @-1
             returnType: int
-          synthetic set t23 @308
+          synthetic set t23 @-1
             parameters
-              requiredPositional _t23 @308
+              requiredPositional _t23 @-1
                 type: int
             returnType: void
     functions
@@ -1106,11 +1106,11 @@
       static V @4
         type: num
     accessors
-      synthetic static get V @4
+      synthetic static get V @-1
         returnType: num
-      synthetic static set V @4
+      synthetic static set V @-1
         parameters
-          requiredPositional _V @4
+          requiredPositional _V @-1
             type: num
         returnType: void
 ''');
@@ -1130,18 +1130,18 @@
       static vNotEq @22
         type: bool
     accessors
-      synthetic static get vEq @4
+      synthetic static get vEq @-1
         returnType: bool
-      synthetic static set vEq @4
+      synthetic static set vEq @-1
         parameters
-          requiredPositional _vEq @4
+          requiredPositional _vEq @-1
             type: bool
         returnType: void
-      synthetic static get vNotEq @22
+      synthetic static get vNotEq @-1
         returnType: bool
-      synthetic static set vNotEq @22
+      synthetic static set vNotEq @-1
         parameters
-          requiredPositional _vNotEq @22
+          requiredPositional _vNotEq @-1
             type: bool
         returnType: void
 ''');
@@ -1163,18 +1163,18 @@
         typeInferenceError: dependencyCycle
         type: dynamic
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: dynamic
         returnType: void
-      synthetic static get b @21
+      synthetic static get b @-1
         returnType: dynamic
-      synthetic static set b @21
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @21
+          requiredPositional _b @-1
             type: dynamic
         returnType: void
 ''');
@@ -1192,11 +1192,11 @@
         typeInferenceError: dependencyCycle
         type: dynamic
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: dynamic
         returnType: void
 ''');
@@ -1219,25 +1219,25 @@
       static b1 @37
         type: num
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: List<num>
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: List<num>
         returnType: void
-      synthetic static get b0 @22
+      synthetic static get b0 @-1
         returnType: num
-      synthetic static set b0 @22
+      synthetic static set b0 @-1
         parameters
-          requiredPositional _b0 @22
+          requiredPositional _b0 @-1
             type: num
         returnType: void
-      synthetic static get b1 @37
+      synthetic static get b1 @-1
         returnType: num
-      synthetic static set b1 @37
+      synthetic static set b1 @-1
         parameters
-          requiredPositional _b1 @37
+          requiredPositional _b1 @-1
             type: num
         returnType: void
 ''');
@@ -1262,11 +1262,11 @@
       static x @21
         type: int
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -1290,22 +1290,22 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
     topLevelVariables
       static x @29
         type: int
     accessors
-      synthetic static get x @29
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @29
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @29
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -1331,11 +1331,11 @@
       static x @21
         type: int
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -1360,11 +1360,11 @@
       static x @21
         type: int
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -1388,22 +1388,22 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
     topLevelVariables
       static x @29
         type: int
     accessors
-      synthetic static get x @29
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @29
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @29
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -1429,11 +1429,11 @@
       static x @21
         type: int
     accessors
-      synthetic static get x @21
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @21
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @21
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -1459,11 +1459,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
       class B @27
@@ -1473,11 +1473,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get t @44
+          synthetic static get t @-1
             returnType: int
-          synthetic static set t @44
+          synthetic static set t @-1
             parameters
-              requiredPositional _t @44
+              requiredPositional _t @-1
                 type: int
             returnType: void
 ''');
@@ -1502,11 +1502,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @17
+          synthetic get b @-1
             returnType: bool
-          synthetic set b @17
+          synthetic set b @-1
             parameters
-              requiredPositional _b @17
+              requiredPositional _b @-1
                 type: bool
             returnType: void
     topLevelVariables
@@ -1515,18 +1515,18 @@
       static x @31
         type: bool
     accessors
-      synthetic static get c @24
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @24
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @24
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get x @31
+      synthetic static get x @-1
         returnType: bool
-      synthetic static set x @31
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @31
+          requiredPositional _x @-1
             type: bool
         returnType: void
 ''');
@@ -1552,11 +1552,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @17
+          synthetic get b @-1
             returnType: bool
-          synthetic set b @17
+          synthetic set b @-1
             parameters
-              requiredPositional _b @17
+              requiredPositional _b @-1
                 type: bool
             returnType: void
       abstract class C @37
@@ -1570,18 +1570,18 @@
       static x @64
         type: bool
     accessors
-      synthetic static get c @57
+      synthetic static get c @-1
         returnType: C
-      synthetic static set c @57
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @57
+          requiredPositional _c @-1
             type: C
         returnType: void
-      synthetic static get x @64
+      synthetic static get x @-1
         returnType: bool
-      synthetic static set x @64
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @64
+          requiredPositional _x @-1
             type: bool
         returnType: void
 ''');
@@ -1607,11 +1607,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get b @17
+          synthetic get b @-1
             returnType: bool
-          synthetic set b @17
+          synthetic set b @-1
             parameters
-              requiredPositional _b @17
+              requiredPositional _b @-1
                 type: bool
             returnType: void
       abstract class C @37
@@ -1623,11 +1623,11 @@
       static x @74
         type: bool
     accessors
-      synthetic static get x @74
+      synthetic static get x @-1
         returnType: bool
-      synthetic static set x @74
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @74
+          requiredPositional _x @-1
             type: bool
         returnType: void
     functions
@@ -1670,18 +1670,18 @@
       static y @89
         type: int
     accessors
-      synthetic static get x @70
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @70
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @70
+          requiredPositional _x @-1
             type: int
         returnType: void
-      synthetic static get y @89
+      synthetic static get y @-1
         returnType: int
-      synthetic static set y @89
+      synthetic static set y @-1
         parameters
-          requiredPositional _y @89
+          requiredPositional _y @-1
             type: int
         returnType: void
 ''');
@@ -1716,46 +1716,46 @@
       static v_async_returnFuture @282
         type: Future<int> Function()
     accessors
-      synthetic static get vFuture @25
+      synthetic static get vFuture @-1
         returnType: Future<int>
-      synthetic static set vFuture @25
+      synthetic static set vFuture @-1
         parameters
-          requiredPositional _vFuture @25
+          requiredPositional _vFuture @-1
             type: Future<int>
         returnType: void
-      synthetic static get v_noParameters_inferredReturnType @60
+      synthetic static get v_noParameters_inferredReturnType @-1
         returnType: int Function()
-      synthetic static set v_noParameters_inferredReturnType @60
+      synthetic static set v_noParameters_inferredReturnType @-1
         parameters
-          requiredPositional _v_noParameters_inferredReturnType @60
+          requiredPositional _v_noParameters_inferredReturnType @-1
             type: int Function()
         returnType: void
-      synthetic static get v_hasParameter_withType_inferredReturnType @110
+      synthetic static get v_hasParameter_withType_inferredReturnType @-1
         returnType: int Function(String)
-      synthetic static set v_hasParameter_withType_inferredReturnType @110
+      synthetic static set v_hasParameter_withType_inferredReturnType @-1
         parameters
-          requiredPositional _v_hasParameter_withType_inferredReturnType @110
+          requiredPositional _v_hasParameter_withType_inferredReturnType @-1
             type: int Function(String)
         returnType: void
-      synthetic static get v_hasParameter_withType_returnParameter @177
+      synthetic static get v_hasParameter_withType_returnParameter @-1
         returnType: String Function(String)
-      synthetic static set v_hasParameter_withType_returnParameter @177
+      synthetic static set v_hasParameter_withType_returnParameter @-1
         parameters
-          requiredPositional _v_hasParameter_withType_returnParameter @177
+          requiredPositional _v_hasParameter_withType_returnParameter @-1
             type: String Function(String)
         returnType: void
-      synthetic static get v_async_returnValue @240
+      synthetic static get v_async_returnValue @-1
         returnType: Future<int> Function()
-      synthetic static set v_async_returnValue @240
+      synthetic static set v_async_returnValue @-1
         parameters
-          requiredPositional _v_async_returnValue @240
+          requiredPositional _v_async_returnValue @-1
             type: Future<int> Function()
         returnType: void
-      synthetic static get v_async_returnFuture @282
+      synthetic static get v_async_returnFuture @-1
         returnType: Future<int> Function()
-      synthetic static set v_async_returnFuture @282
+      synthetic static set v_async_returnFuture @-1
         parameters
-          requiredPositional _v_async_returnFuture @282
+          requiredPositional _v_async_returnFuture @-1
             type: Future<int> Function()
         returnType: void
 ''');
@@ -1773,11 +1773,11 @@
       static v @4
         type: int
     accessors
-      synthetic static get v @4
+      synthetic static get v @-1
         returnType: int
-      synthetic static set v @4
+      synthetic static set v @-1
         parameters
-          requiredPositional _v @4
+          requiredPositional _v @-1
             type: int
         returnType: void
 ''');
@@ -1798,18 +1798,18 @@
       static vNoTypeArgument @55
         type: dynamic
     accessors
-      synthetic static get vHasTypeArgument @22
+      synthetic static get vHasTypeArgument @-1
         returnType: int
-      synthetic static set vHasTypeArgument @22
+      synthetic static set vHasTypeArgument @-1
         parameters
-          requiredPositional _vHasTypeArgument @22
+          requiredPositional _vHasTypeArgument @-1
             type: int
         returnType: void
-      synthetic static get vNoTypeArgument @55
+      synthetic static get vNoTypeArgument @-1
         returnType: dynamic
-      synthetic static set vNoTypeArgument @55
+      synthetic static set vNoTypeArgument @-1
         parameters
-          requiredPositional _vNoTypeArgument @55
+          requiredPositional _vNoTypeArgument @-1
             type: dynamic
         returnType: void
     functions
@@ -1835,18 +1835,18 @@
       static vWrongArgumentType @57
         type: String
     accessors
-      synthetic static get vOkArgumentType @29
+      synthetic static get vOkArgumentType @-1
         returnType: String
-      synthetic static set vOkArgumentType @29
+      synthetic static set vOkArgumentType @-1
         parameters
-          requiredPositional _vOkArgumentType @29
+          requiredPositional _vOkArgumentType @-1
             type: String
         returnType: void
-      synthetic static get vWrongArgumentType @57
+      synthetic static get vWrongArgumentType @-1
         returnType: String
-      synthetic static set vWrongArgumentType @57
+      synthetic static set vWrongArgumentType @-1
         parameters
-          requiredPositional _vWrongArgumentType @57
+          requiredPositional _vWrongArgumentType @-1
             type: String
         returnType: void
     functions
@@ -1891,11 +1891,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get staticClassVariable @118
+          synthetic static get staticClassVariable @-1
             returnType: int
-          synthetic static set staticClassVariable @118
+          synthetic static set staticClassVariable @-1
             parameters
-              requiredPositional _staticClassVariable @118
+              requiredPositional _staticClassVariable @-1
                 type: int
             returnType: void
           static get staticGetter @160
@@ -1933,67 +1933,67 @@
       synthetic static topLevelGetter @-1
         type: int
     accessors
-      synthetic static get topLevelVariable @44
+      synthetic static get topLevelVariable @-1
         returnType: int
-      synthetic static set topLevelVariable @44
+      synthetic static set topLevelVariable @-1
         parameters
-          requiredPositional _topLevelVariable @44
+          requiredPositional _topLevelVariable @-1
             type: int
         returnType: void
-      synthetic static get r_topLevelFunction @280
+      synthetic static get r_topLevelFunction @-1
         returnType: String Function(int)
-      synthetic static set r_topLevelFunction @280
+      synthetic static set r_topLevelFunction @-1
         parameters
-          requiredPositional _r_topLevelFunction @280
+          requiredPositional _r_topLevelFunction @-1
             type: String Function(int)
         returnType: void
-      synthetic static get r_topLevelVariable @323
+      synthetic static get r_topLevelVariable @-1
         returnType: int
-      synthetic static set r_topLevelVariable @323
+      synthetic static set r_topLevelVariable @-1
         parameters
-          requiredPositional _r_topLevelVariable @323
+          requiredPositional _r_topLevelVariable @-1
             type: int
         returnType: void
-      synthetic static get r_topLevelGetter @366
+      synthetic static get r_topLevelGetter @-1
         returnType: int
-      synthetic static set r_topLevelGetter @366
+      synthetic static set r_topLevelGetter @-1
         parameters
-          requiredPositional _r_topLevelGetter @366
+          requiredPositional _r_topLevelGetter @-1
             type: int
         returnType: void
-      synthetic static get r_staticClassVariable @405
+      synthetic static get r_staticClassVariable @-1
         returnType: int
-      synthetic static set r_staticClassVariable @405
+      synthetic static set r_staticClassVariable @-1
         parameters
-          requiredPositional _r_staticClassVariable @405
+          requiredPositional _r_staticClassVariable @-1
             type: int
         returnType: void
-      synthetic static get r_staticGetter @456
+      synthetic static get r_staticGetter @-1
         returnType: int
-      synthetic static set r_staticGetter @456
+      synthetic static set r_staticGetter @-1
         parameters
-          requiredPositional _r_staticGetter @456
+          requiredPositional _r_staticGetter @-1
             type: int
         returnType: void
-      synthetic static get r_staticClassMethod @493
+      synthetic static get r_staticClassMethod @-1
         returnType: String Function(int)
-      synthetic static set r_staticClassMethod @493
+      synthetic static set r_staticClassMethod @-1
         parameters
-          requiredPositional _r_staticClassMethod @493
+          requiredPositional _r_staticClassMethod @-1
             type: String Function(int)
         returnType: void
-      synthetic static get instanceOfA @540
+      synthetic static get instanceOfA @-1
         returnType: A
-      synthetic static set instanceOfA @540
+      synthetic static set instanceOfA @-1
         parameters
-          requiredPositional _instanceOfA @540
+          requiredPositional _instanceOfA @-1
             type: A
         returnType: void
-      synthetic static get r_instanceClassMethod @567
+      synthetic static get r_instanceClassMethod @-1
         returnType: String Function(int)
-      synthetic static set r_instanceClassMethod @567
+      synthetic static set r_instanceClassMethod @-1
         parameters
-          requiredPositional _r_instanceClassMethod @567
+          requiredPositional _r_instanceClassMethod @-1
             type: String Function(int)
         returnType: void
       get topLevelGetter @74
@@ -2029,11 +2029,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get a @23
+          synthetic static get a @-1
             returnType: dynamic
-          synthetic static set a @23
+          synthetic static set a @-1
             parameters
-              requiredPositional _a @23
+              requiredPositional _a @-1
                 type: dynamic
             returnType: void
       class B @40
@@ -2044,22 +2044,22 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get b @57
+          synthetic static get b @-1
             returnType: dynamic
-          synthetic static set b @57
+          synthetic static set b @-1
             parameters
-              requiredPositional _b @57
+              requiredPositional _b @-1
                 type: dynamic
             returnType: void
     topLevelVariables
       static c @72
         type: dynamic
     accessors
-      synthetic static get c @72
+      synthetic static get c @-1
         returnType: dynamic
-      synthetic static set c @72
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @72
+          requiredPositional _c @-1
             type: dynamic
         returnType: void
 ''');
@@ -2085,11 +2085,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get a @23
+          synthetic static get a @-1
             returnType: dynamic
-          synthetic static set a @23
+          synthetic static set a @-1
             parameters
-              requiredPositional _a @23
+              requiredPositional _a @-1
                 type: dynamic
             returnType: void
     topLevelVariables
@@ -2099,18 +2099,18 @@
       static c @49
         type: dynamic
     accessors
-      synthetic static get b @36
+      synthetic static get b @-1
         returnType: dynamic
-      synthetic static set b @36
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @36
+          requiredPositional _b @-1
             type: dynamic
         returnType: void
-      synthetic static get c @49
+      synthetic static get c @-1
         returnType: dynamic
-      synthetic static set c @49
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @49
+          requiredPositional _c @-1
             type: dynamic
         returnType: void
 ''');
@@ -2139,32 +2139,32 @@
       static d @37
         type: dynamic
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: dynamic
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: dynamic
         returnType: void
-      synthetic static get b @15
+      synthetic static get b @-1
         returnType: dynamic
-      synthetic static set b @15
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @15
+          requiredPositional _b @-1
             type: dynamic
         returnType: void
-      synthetic static get c @26
+      synthetic static get c @-1
         returnType: dynamic
-      synthetic static set c @26
+      synthetic static set c @-1
         parameters
-          requiredPositional _c @26
+          requiredPositional _c @-1
             type: dynamic
         returnType: void
-      synthetic static get d @37
+      synthetic static get d @-1
         returnType: dynamic
-      synthetic static set d @37
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @37
+          requiredPositional _d @-1
             type: dynamic
         returnType: void
 ''');
@@ -2206,11 +2206,11 @@
       static a @15
         type: A
     accessors
-      synthetic static get a @15
+      synthetic static get a @-1
         returnType: A
-      synthetic static set a @15
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @15
+          requiredPositional _a @-1
             type: A
         returnType: void
 ''');
@@ -2231,18 +2231,18 @@
       static h @49
         type: int
     accessors
-      synthetic static get s @25
+      synthetic static get s @-1
         returnType: String
-      synthetic static set s @25
+      synthetic static set s @-1
         parameters
-          requiredPositional _s @25
+          requiredPositional _s @-1
             type: String
         returnType: void
-      synthetic static get h @49
+      synthetic static get h @-1
         returnType: int
-      synthetic static set h @49
+      synthetic static set h @-1
         parameters
-          requiredPositional _h @49
+          requiredPositional _h @-1
             type: int
         returnType: void
     functions
@@ -2268,25 +2268,25 @@
       static h @37
         type: int
     accessors
-      synthetic static get d @8
+      synthetic static get d @-1
         returnType: dynamic
-      synthetic static set d @8
+      synthetic static set d @-1
         parameters
-          requiredPositional _d @8
+          requiredPositional _d @-1
             type: dynamic
         returnType: void
-      synthetic static get s @15
+      synthetic static get s @-1
         returnType: String
-      synthetic static set s @15
+      synthetic static set s @-1
         parameters
-          requiredPositional _s @15
+          requiredPositional _s @-1
             type: String
         returnType: void
-      synthetic static get h @37
+      synthetic static get h @-1
         returnType: int
-      synthetic static set h @37
+      synthetic static set h @-1
         parameters
-          requiredPositional _h @37
+          requiredPositional _h @-1
             type: int
         returnType: void
 ''');
@@ -2306,18 +2306,18 @@
       static b @17
         type: bool
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: double
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: double
         returnType: void
-      synthetic static get b @17
+      synthetic static get b @-1
         returnType: bool
-      synthetic static set b @17
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @17
+          requiredPositional _b @-1
             type: bool
         returnType: void
 ''');
@@ -2371,32 +2371,32 @@
       static vInt @89
         type: List<int>
     accessors
-      synthetic static get vObject @4
+      synthetic static get vObject @-1
         returnType: List<Object>
-      synthetic static set vObject @4
+      synthetic static set vObject @-1
         parameters
-          requiredPositional _vObject @4
+          requiredPositional _vObject @-1
             type: List<Object>
         returnType: void
-      synthetic static get vNum @37
+      synthetic static get vNum @-1
         returnType: List<num>
-      synthetic static set vNum @37
+      synthetic static set vNum @-1
         parameters
-          requiredPositional _vNum @37
+          requiredPositional _vNum @-1
             type: List<num>
         returnType: void
-      synthetic static get vNumEmpty @64
+      synthetic static get vNumEmpty @-1
         returnType: List<num>
-      synthetic static set vNumEmpty @64
+      synthetic static set vNumEmpty @-1
         parameters
-          requiredPositional _vNumEmpty @64
+          requiredPositional _vNumEmpty @-1
             type: List<num>
         returnType: void
-      synthetic static get vInt @89
+      synthetic static get vInt @-1
         returnType: List<int>
-      synthetic static set vInt @89
+      synthetic static set vInt @-1
         parameters
-          requiredPositional _vInt @89
+          requiredPositional _vInt @-1
             type: List<int>
         returnType: void
 ''');
@@ -2419,25 +2419,25 @@
       static vObject @47
         type: List<Object>
     accessors
-      synthetic static get vInt @4
+      synthetic static get vInt @-1
         returnType: List<int>
-      synthetic static set vInt @4
+      synthetic static set vInt @-1
         parameters
-          requiredPositional _vInt @4
+          requiredPositional _vInt @-1
             type: List<int>
         returnType: void
-      synthetic static get vNum @26
+      synthetic static get vNum @-1
         returnType: List<num>
-      synthetic static set vNum @26
+      synthetic static set vNum @-1
         parameters
-          requiredPositional _vNum @26
+          requiredPositional _vNum @-1
             type: List<num>
         returnType: void
-      synthetic static get vObject @47
+      synthetic static get vObject @-1
         returnType: List<Object>
-      synthetic static set vObject @47
+      synthetic static set vObject @-1
         parameters
-          requiredPositional _vObject @47
+          requiredPositional _vObject @-1
             type: List<Object>
         returnType: void
 ''');
@@ -2478,39 +2478,39 @@
       static vIntString @188
         type: Map<int, String>
     accessors
-      synthetic static get vObjectObject @4
+      synthetic static get vObjectObject @-1
         returnType: Map<Object, Object>
-      synthetic static set vObjectObject @4
+      synthetic static set vObjectObject @-1
         parameters
-          requiredPositional _vObjectObject @4
+          requiredPositional _vObjectObject @-1
             type: Map<Object, Object>
         returnType: void
-      synthetic static get vComparableObject @50
+      synthetic static get vComparableObject @-1
         returnType: Map<Comparable<int>, Object>
-      synthetic static set vComparableObject @50
+      synthetic static set vComparableObject @-1
         parameters
-          requiredPositional _vComparableObject @50
+          requiredPositional _vComparableObject @-1
             type: Map<Comparable<int>, Object>
         returnType: void
-      synthetic static get vNumString @109
+      synthetic static get vNumString @-1
         returnType: Map<num, String>
-      synthetic static set vNumString @109
+      synthetic static set vNumString @-1
         parameters
-          requiredPositional _vNumString @109
+          requiredPositional _vNumString @-1
             type: Map<num, String>
         returnType: void
-      synthetic static get vNumStringEmpty @149
+      synthetic static get vNumStringEmpty @-1
         returnType: Map<num, String>
-      synthetic static set vNumStringEmpty @149
+      synthetic static set vNumStringEmpty @-1
         parameters
-          requiredPositional _vNumStringEmpty @149
+          requiredPositional _vNumStringEmpty @-1
             type: Map<num, String>
         returnType: void
-      synthetic static get vIntString @188
+      synthetic static get vIntString @-1
         returnType: Map<int, String>
-      synthetic static set vIntString @188
+      synthetic static set vIntString @-1
         parameters
-          requiredPositional _vIntString @188
+          requiredPositional _vIntString @-1
             type: Map<int, String>
         returnType: void
 ''');
@@ -2533,25 +2533,25 @@
       static vIntObject @76
         type: Map<int, Object>
     accessors
-      synthetic static get vIntString @4
+      synthetic static get vIntString @-1
         returnType: Map<int, String>
-      synthetic static set vIntString @4
+      synthetic static set vIntString @-1
         parameters
-          requiredPositional _vIntString @4
+          requiredPositional _vIntString @-1
             type: Map<int, String>
         returnType: void
-      synthetic static get vNumString @39
+      synthetic static get vNumString @-1
         returnType: Map<num, String>
-      synthetic static set vNumString @39
+      synthetic static set vNumString @-1
         parameters
-          requiredPositional _vNumString @39
+          requiredPositional _vNumString @-1
             type: Map<num, String>
         returnType: void
-      synthetic static get vIntObject @76
+      synthetic static get vIntObject @-1
         returnType: Map<int, Object>
-      synthetic static set vIntObject @76
+      synthetic static set vIntObject @-1
         parameters
-          requiredPositional _vIntObject @76
+          requiredPositional _vIntObject @-1
             type: Map<int, Object>
         returnType: void
 ''');
@@ -2592,39 +2592,39 @@
       static vOr @69
         type: bool
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: bool
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: bool
         returnType: void
-      synthetic static get b @18
+      synthetic static get b @-1
         returnType: bool
-      synthetic static set b @18
+      synthetic static set b @-1
         parameters
-          requiredPositional _b @18
+          requiredPositional _b @-1
             type: bool
         returnType: void
-      synthetic static get vEq @32
+      synthetic static get vEq @-1
         returnType: bool
-      synthetic static set vEq @32
+      synthetic static set vEq @-1
         parameters
-          requiredPositional _vEq @32
+          requiredPositional _vEq @-1
             type: bool
         returnType: void
-      synthetic static get vAnd @50
+      synthetic static get vAnd @-1
         returnType: bool
-      synthetic static set vAnd @50
+      synthetic static set vAnd @-1
         parameters
-          requiredPositional _vAnd @50
+          requiredPositional _vAnd @-1
             type: bool
         returnType: void
-      synthetic static get vOr @69
+      synthetic static get vOr @-1
         returnType: bool
-      synthetic static set vOr @69
+      synthetic static set vOr @-1
         parameters
-          requiredPositional _vOr @69
+          requiredPositional _vOr @-1
             type: bool
         returnType: void
 ''');
@@ -2679,25 +2679,25 @@
       static v2 @96
         type: String
     accessors
-      synthetic static get instanceOfA @43
+      synthetic static get instanceOfA @-1
         returnType: A
-      synthetic static set instanceOfA @43
+      synthetic static set instanceOfA @-1
         parameters
-          requiredPositional _instanceOfA @43
+          requiredPositional _instanceOfA @-1
             type: A
         returnType: void
-      synthetic static get v1 @70
+      synthetic static get v1 @-1
         returnType: String
-      synthetic static set v1 @70
+      synthetic static set v1 @-1
         parameters
-          requiredPositional _v1 @70
+          requiredPositional _v1 @-1
             type: String
         returnType: void
-      synthetic static get v2 @96
+      synthetic static get v2 @-1
         returnType: String
-      synthetic static set v2 @96
+      synthetic static set v2 @-1
         parameters
-          requiredPositional _v2 @96
+          requiredPositional _v2 @-1
             type: String
         returnType: void
 ''');
@@ -2744,81 +2744,81 @@
       static vFloorDivide @327
         type: int
     accessors
-      synthetic static get vModuloIntInt @4
+      synthetic static get vModuloIntInt @-1
         returnType: int
-      synthetic static set vModuloIntInt @4
+      synthetic static set vModuloIntInt @-1
         parameters
-          requiredPositional _vModuloIntInt @4
+          requiredPositional _vModuloIntInt @-1
             type: int
         returnType: void
-      synthetic static get vModuloIntDouble @31
+      synthetic static get vModuloIntDouble @-1
         returnType: double
-      synthetic static set vModuloIntDouble @31
+      synthetic static set vModuloIntDouble @-1
         parameters
-          requiredPositional _vModuloIntDouble @31
+          requiredPositional _vModuloIntDouble @-1
             type: double
         returnType: void
-      synthetic static get vMultiplyIntInt @63
+      synthetic static get vMultiplyIntInt @-1
         returnType: int
-      synthetic static set vMultiplyIntInt @63
+      synthetic static set vMultiplyIntInt @-1
         parameters
-          requiredPositional _vMultiplyIntInt @63
+          requiredPositional _vMultiplyIntInt @-1
             type: int
         returnType: void
-      synthetic static get vMultiplyIntDouble @92
+      synthetic static get vMultiplyIntDouble @-1
         returnType: double
-      synthetic static set vMultiplyIntDouble @92
+      synthetic static set vMultiplyIntDouble @-1
         parameters
-          requiredPositional _vMultiplyIntDouble @92
+          requiredPositional _vMultiplyIntDouble @-1
             type: double
         returnType: void
-      synthetic static get vMultiplyDoubleInt @126
+      synthetic static get vMultiplyDoubleInt @-1
         returnType: double
-      synthetic static set vMultiplyDoubleInt @126
+      synthetic static set vMultiplyDoubleInt @-1
         parameters
-          requiredPositional _vMultiplyDoubleInt @126
+          requiredPositional _vMultiplyDoubleInt @-1
             type: double
         returnType: void
-      synthetic static get vMultiplyDoubleDouble @160
+      synthetic static get vMultiplyDoubleDouble @-1
         returnType: double
-      synthetic static set vMultiplyDoubleDouble @160
+      synthetic static set vMultiplyDoubleDouble @-1
         parameters
-          requiredPositional _vMultiplyDoubleDouble @160
+          requiredPositional _vMultiplyDoubleDouble @-1
             type: double
         returnType: void
-      synthetic static get vDivideIntInt @199
+      synthetic static get vDivideIntInt @-1
         returnType: double
-      synthetic static set vDivideIntInt @199
+      synthetic static set vDivideIntInt @-1
         parameters
-          requiredPositional _vDivideIntInt @199
+          requiredPositional _vDivideIntInt @-1
             type: double
         returnType: void
-      synthetic static get vDivideIntDouble @226
+      synthetic static get vDivideIntDouble @-1
         returnType: double
-      synthetic static set vDivideIntDouble @226
+      synthetic static set vDivideIntDouble @-1
         parameters
-          requiredPositional _vDivideIntDouble @226
+          requiredPositional _vDivideIntDouble @-1
             type: double
         returnType: void
-      synthetic static get vDivideDoubleInt @258
+      synthetic static get vDivideDoubleInt @-1
         returnType: double
-      synthetic static set vDivideDoubleInt @258
+      synthetic static set vDivideDoubleInt @-1
         parameters
-          requiredPositional _vDivideDoubleInt @258
+          requiredPositional _vDivideDoubleInt @-1
             type: double
         returnType: void
-      synthetic static get vDivideDoubleDouble @290
+      synthetic static get vDivideDoubleDouble @-1
         returnType: double
-      synthetic static set vDivideDoubleDouble @290
+      synthetic static set vDivideDoubleDouble @-1
         parameters
-          requiredPositional _vDivideDoubleDouble @290
+          requiredPositional _vDivideDoubleDouble @-1
             type: double
         returnType: void
-      synthetic static get vFloorDivide @327
+      synthetic static get vFloorDivide @-1
         returnType: int
-      synthetic static set vFloorDivide @327
+      synthetic static set vFloorDivide @-1
         parameters
-          requiredPositional _vFloorDivide @327
+          requiredPositional _vFloorDivide @-1
             type: int
         returnType: void
 ''');
@@ -2841,25 +2841,25 @@
       static vNotEq @46
         type: bool
     accessors
-      synthetic static get a @4
+      synthetic static get a @-1
         returnType: int
-      synthetic static set a @4
+      synthetic static set a @-1
         parameters
-          requiredPositional _a @4
+          requiredPositional _a @-1
             type: int
         returnType: void
-      synthetic static get vEq @15
+      synthetic static get vEq @-1
         returnType: bool
-      synthetic static set vEq @15
+      synthetic static set vEq @-1
         parameters
-          requiredPositional _vEq @15
+          requiredPositional _vEq @-1
             type: bool
         returnType: void
-      synthetic static get vNotEq @46
+      synthetic static get vNotEq @-1
         returnType: bool
-      synthetic static set vNotEq @46
+      synthetic static set vNotEq @-1
         parameters
-          requiredPositional _vNotEq @46
+          requiredPositional _vNotEq @-1
             type: bool
         returnType: void
 ''');
@@ -2876,11 +2876,11 @@
       static V @4
         type: int
     accessors
-      synthetic static get V @4
+      synthetic static get V @-1
         returnType: int
-      synthetic static set V @4
+      synthetic static set V @-1
         parameters
-          requiredPositional _V @4
+          requiredPositional _V @-1
             type: int
         returnType: void
 ''');
@@ -2912,46 +2912,46 @@
       static vDecDouble @109
         type: double
     accessors
-      synthetic static get vInt @4
+      synthetic static get vInt @-1
         returnType: int
-      synthetic static set vInt @4
+      synthetic static set vInt @-1
         parameters
-          requiredPositional _vInt @4
+          requiredPositional _vInt @-1
             type: int
         returnType: void
-      synthetic static get vDouble @18
+      synthetic static get vDouble @-1
         returnType: double
-      synthetic static set vDouble @18
+      synthetic static set vDouble @-1
         parameters
-          requiredPositional _vDouble @18
+          requiredPositional _vDouble @-1
             type: double
         returnType: void
-      synthetic static get vIncInt @37
+      synthetic static get vIncInt @-1
         returnType: int
-      synthetic static set vIncInt @37
+      synthetic static set vIncInt @-1
         parameters
-          requiredPositional _vIncInt @37
+          requiredPositional _vIncInt @-1
             type: int
         returnType: void
-      synthetic static get vDecInt @59
+      synthetic static get vDecInt @-1
         returnType: int
-      synthetic static set vDecInt @59
+      synthetic static set vDecInt @-1
         parameters
-          requiredPositional _vDecInt @59
+          requiredPositional _vDecInt @-1
             type: int
         returnType: void
-      synthetic static get vIncDouble @81
+      synthetic static get vIncDouble @-1
         returnType: double
-      synthetic static set vIncDouble @81
+      synthetic static set vIncDouble @-1
         parameters
-          requiredPositional _vIncDouble @81
+          requiredPositional _vIncDouble @-1
             type: double
         returnType: void
-      synthetic static get vDecDouble @109
+      synthetic static get vDecDouble @-1
         returnType: double
-      synthetic static set vDecDouble @109
+      synthetic static set vDecDouble @-1
         parameters
-          requiredPositional _vDecDouble @109
+          requiredPositional _vDecDouble @-1
             type: double
         returnType: void
 ''');
@@ -2983,46 +2983,46 @@
       static vDecDouble @122
         type: double
     accessors
-      synthetic static get vInt @4
+      synthetic static get vInt @-1
         returnType: List<int>
-      synthetic static set vInt @4
+      synthetic static set vInt @-1
         parameters
-          requiredPositional _vInt @4
+          requiredPositional _vInt @-1
             type: List<int>
         returnType: void
-      synthetic static get vDouble @20
+      synthetic static get vDouble @-1
         returnType: List<double>
-      synthetic static set vDouble @20
+      synthetic static set vDouble @-1
         parameters
-          requiredPositional _vDouble @20
+          requiredPositional _vDouble @-1
             type: List<double>
         returnType: void
-      synthetic static get vIncInt @41
+      synthetic static get vIncInt @-1
         returnType: int
-      synthetic static set vIncInt @41
+      synthetic static set vIncInt @-1
         parameters
-          requiredPositional _vIncInt @41
+          requiredPositional _vIncInt @-1
             type: int
         returnType: void
-      synthetic static get vDecInt @66
+      synthetic static get vDecInt @-1
         returnType: int
-      synthetic static set vDecInt @66
+      synthetic static set vDecInt @-1
         parameters
-          requiredPositional _vDecInt @66
+          requiredPositional _vDecInt @-1
             type: int
         returnType: void
-      synthetic static get vIncDouble @91
+      synthetic static get vIncDouble @-1
         returnType: double
-      synthetic static set vIncDouble @91
+      synthetic static set vIncDouble @-1
         parameters
-          requiredPositional _vIncDouble @91
+          requiredPositional _vIncDouble @-1
             type: double
         returnType: void
-      synthetic static get vDecDouble @122
+      synthetic static get vDecDouble @-1
         returnType: double
-      synthetic static set vDecDouble @122
+      synthetic static set vDecDouble @-1
         parameters
-          requiredPositional _vDecDouble @122
+          requiredPositional _vDecDouble @-1
             type: double
         returnType: void
 ''');
@@ -3054,46 +3054,46 @@
       static vDecInt @109
         type: double
     accessors
-      synthetic static get vInt @4
+      synthetic static get vInt @-1
         returnType: int
-      synthetic static set vInt @4
+      synthetic static set vInt @-1
         parameters
-          requiredPositional _vInt @4
+          requiredPositional _vInt @-1
             type: int
         returnType: void
-      synthetic static get vDouble @18
+      synthetic static get vDouble @-1
         returnType: double
-      synthetic static set vDouble @18
+      synthetic static set vDouble @-1
         parameters
-          requiredPositional _vDouble @18
+          requiredPositional _vDouble @-1
             type: double
         returnType: void
-      synthetic static get vIncInt @37
+      synthetic static get vIncInt @-1
         returnType: int
-      synthetic static set vIncInt @37
+      synthetic static set vIncInt @-1
         parameters
-          requiredPositional _vIncInt @37
+          requiredPositional _vIncInt @-1
             type: int
         returnType: void
-      synthetic static get vDecInt @59
+      synthetic static get vDecInt @-1
         returnType: int
-      synthetic static set vDecInt @59
+      synthetic static set vDecInt @-1
         parameters
-          requiredPositional _vDecInt @59
+          requiredPositional _vDecInt @-1
             type: int
         returnType: void
-      synthetic static get vIncDouble @81
+      synthetic static get vIncDouble @-1
         returnType: double
-      synthetic static set vIncDouble @81
+      synthetic static set vIncDouble @-1
         parameters
-          requiredPositional _vIncDouble @81
+          requiredPositional _vIncDouble @-1
             type: double
         returnType: void
-      synthetic static get vDecInt @109
+      synthetic static get vDecInt @-1
         returnType: double
-      synthetic static set vDecInt @109
+      synthetic static set vDecInt @-1
         parameters
-          requiredPositional _vDecInt @109
+          requiredPositional _vDecInt @-1
             type: double
         returnType: void
 ''');
@@ -3143,46 +3143,46 @@
       static vDecInt @122
         type: double
     accessors
-      synthetic static get vInt @4
+      synthetic static get vInt @-1
         returnType: List<int>
-      synthetic static set vInt @4
+      synthetic static set vInt @-1
         parameters
-          requiredPositional _vInt @4
+          requiredPositional _vInt @-1
             type: List<int>
         returnType: void
-      synthetic static get vDouble @20
+      synthetic static get vDouble @-1
         returnType: List<double>
-      synthetic static set vDouble @20
+      synthetic static set vDouble @-1
         parameters
-          requiredPositional _vDouble @20
+          requiredPositional _vDouble @-1
             type: List<double>
         returnType: void
-      synthetic static get vIncInt @41
+      synthetic static get vIncInt @-1
         returnType: int
-      synthetic static set vIncInt @41
+      synthetic static set vIncInt @-1
         parameters
-          requiredPositional _vIncInt @41
+          requiredPositional _vIncInt @-1
             type: int
         returnType: void
-      synthetic static get vDecInt @66
+      synthetic static get vDecInt @-1
         returnType: int
-      synthetic static set vDecInt @66
+      synthetic static set vDecInt @-1
         parameters
-          requiredPositional _vDecInt @66
+          requiredPositional _vDecInt @-1
             type: int
         returnType: void
-      synthetic static get vIncDouble @91
+      synthetic static get vIncDouble @-1
         returnType: double
-      synthetic static set vIncDouble @91
+      synthetic static set vIncDouble @-1
         parameters
-          requiredPositional _vIncDouble @91
+          requiredPositional _vIncDouble @-1
             type: double
         returnType: void
-      synthetic static get vDecInt @122
+      synthetic static get vDecInt @-1
         returnType: double
-      synthetic static set vDecInt @122
+      synthetic static set vDecInt @-1
         parameters
-          requiredPositional _vDecInt @122
+          requiredPositional _vDecInt @-1
             type: double
         returnType: void
 ''');
@@ -3199,11 +3199,11 @@
       static vNot @4
         type: bool
     accessors
-      synthetic static get vNot @4
+      synthetic static get vNot @-1
         returnType: bool
-      synthetic static set vNot @4
+      synthetic static set vNot @-1
         parameters
-          requiredPositional _vNot @4
+          requiredPositional _vNot @-1
             type: bool
         returnType: void
 ''');
@@ -3226,25 +3226,25 @@
       static vComplement @51
         type: int
     accessors
-      synthetic static get vNegateInt @4
+      synthetic static get vNegateInt @-1
         returnType: int
-      synthetic static set vNegateInt @4
+      synthetic static set vNegateInt @-1
         parameters
-          requiredPositional _vNegateInt @4
+          requiredPositional _vNegateInt @-1
             type: int
         returnType: void
-      synthetic static get vNegateDouble @25
+      synthetic static get vNegateDouble @-1
         returnType: double
-      synthetic static set vNegateDouble @25
+      synthetic static set vNegateDouble @-1
         parameters
-          requiredPositional _vNegateDouble @25
+          requiredPositional _vNegateDouble @-1
             type: double
         returnType: void
-      synthetic static get vComplement @51
+      synthetic static get vComplement @-1
         returnType: int
-      synthetic static set vComplement @51
+      synthetic static set vComplement @-1
         parameters
-          requiredPositional _vComplement @51
+          requiredPositional _vComplement @-1
             type: int
         returnType: void
 ''');
@@ -3271,11 +3271,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic static get d @21
+          synthetic static get d @-1
             returnType: D
-          synthetic static set d @21
+          synthetic static set d @-1
             parameters
-              requiredPositional _d @21
+              requiredPositional _d @-1
                 type: D
             returnType: void
       class D @32
@@ -3285,18 +3285,18 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get i @42
+          synthetic get i @-1
             returnType: int
-          synthetic set i @42
+          synthetic set i @-1
             parameters
-              requiredPositional _i @42
+              requiredPositional _i @-1
                 type: int
             returnType: void
     topLevelVariables
       static final x @53
         type: int
     accessors
-      synthetic static get x @53
+      synthetic static get x @-1
         returnType: int
 ''');
   }
@@ -3331,22 +3331,22 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get i @54
+          synthetic get i @-1
             returnType: int
-          synthetic set i @54
+          synthetic set i @-1
             parameters
-              requiredPositional _i @54
+              requiredPositional _i @-1
                 type: int
             returnType: void
     topLevelVariables
       static x @63
         type: int
     accessors
-      synthetic static get x @63
+      synthetic static get x @-1
         returnType: int
-      synthetic static set x @63
+      synthetic static set x @-1
         parameters
-          requiredPositional _x @63
+          requiredPositional _x @-1
             type: int
         returnType: void
 ''');
@@ -3372,32 +3372,32 @@
       static vGreaterOrEqual @72
         type: bool
     accessors
-      synthetic static get vLess @4
+      synthetic static get vLess @-1
         returnType: bool
-      synthetic static set vLess @4
+      synthetic static set vLess @-1
         parameters
-          requiredPositional _vLess @4
+          requiredPositional _vLess @-1
             type: bool
         returnType: void
-      synthetic static get vLessOrEqual @23
+      synthetic static get vLessOrEqual @-1
         returnType: bool
-      synthetic static set vLessOrEqual @23
+      synthetic static set vLessOrEqual @-1
         parameters
-          requiredPositional _vLessOrEqual @23
+          requiredPositional _vLessOrEqual @-1
             type: bool
         returnType: void
-      synthetic static get vGreater @50
+      synthetic static get vGreater @-1
         returnType: bool
-      synthetic static set vGreater @50
+      synthetic static set vGreater @-1
         parameters
-          requiredPositional _vGreater @50
+          requiredPositional _vGreater @-1
             type: bool
         returnType: void
-      synthetic static get vGreaterOrEqual @72
+      synthetic static get vGreaterOrEqual @-1
         returnType: bool
-      synthetic static set vGreaterOrEqual @72
+      synthetic static set vGreaterOrEqual @-1
         parameters
-          requiredPositional _vGreaterOrEqual @72
+          requiredPositional _vGreaterOrEqual @-1
             type: bool
         returnType: void
 ''');
@@ -3433,11 +3433,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @25
+          synthetic get x @-1
             returnType: int
-          synthetic set x @25
+          synthetic set x @-1
             parameters
-              requiredPositional _x @25
+              requiredPositional _x @-1
                 type: int
             returnType: void
       class B @36
@@ -3478,11 +3478,11 @@
                   SimpleStringLiteral
                     literal: 'hello' @37
         accessors
-          synthetic get f @16
+          synthetic get f @-1
             returnType: int
-          synthetic set f @16
+          synthetic set f @-1
             parameters
-              requiredPositional _f @16
+              requiredPositional _f @-1
                 type: int
             returnType: void
 ''');
@@ -3516,25 +3516,25 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @25
+          synthetic get x @-1
             returnType: int
-          synthetic set x @25
+          synthetic set x @-1
             parameters
-              requiredPositional _x @25
+              requiredPositional _x @-1
                 type: int
             returnType: void
-          synthetic get y @34
+          synthetic get y @-1
             returnType: int
-          synthetic set y @34
+          synthetic set y @-1
             parameters
-              requiredPositional _y @34
+              requiredPositional _y @-1
                 type: int
             returnType: void
-          synthetic get z @43
+          synthetic get z @-1
             returnType: int
-          synthetic set z @43
+          synthetic set z @-1
             parameters
-              requiredPositional _z @43
+              requiredPositional _z @-1
                 type: int
             returnType: void
       class B @54
@@ -3550,11 +3550,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @77
+          synthetic get x @-1
             returnType: int
-          synthetic set x @77
+          synthetic set x @-1
             parameters
-              requiredPositional _x @77
+              requiredPositional _x @-1
                 type: int
             returnType: void
           get y @86
@@ -3587,11 +3587,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @29
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @29
+          synthetic set x @-1
             parameters
-              requiredPositional _x @29
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
       class B @40
@@ -3603,11 +3603,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @63
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @63
+          synthetic set x @-1
             parameters
-              requiredPositional _x @63
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -3644,25 +3644,25 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @26
+          synthetic get x @-1
             returnType: E
-          synthetic set x @26
+          synthetic set x @-1
             parameters
-              requiredPositional _x @26
+              requiredPositional _x @-1
                 type: E
             returnType: void
-          synthetic get y @33
+          synthetic get y @-1
             returnType: E
-          synthetic set y @33
+          synthetic set y @-1
             parameters
-              requiredPositional _y @33
+              requiredPositional _y @-1
                 type: E
             returnType: void
-          synthetic get z @40
+          synthetic get z @-1
             returnType: E
-          synthetic set z @40
+          synthetic set z @-1
             parameters
-              requiredPositional _z @40
+              requiredPositional _z @-1
                 type: E
             returnType: void
       class B @51
@@ -3681,11 +3681,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @80
+          synthetic get x @-1
             returnType: T
-          synthetic set x @80
+          synthetic set x @-1
             parameters
-              requiredPositional _x @80
+              requiredPositional _x @-1
                 type: T
             returnType: void
           get y @89
@@ -3718,11 +3718,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @25
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @25
+          synthetic set x @-1
             parameters
-              requiredPositional _x @25
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
       class B @36
@@ -3734,11 +3734,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @59
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @59
+          synthetic set x @-1
             parameters
-              requiredPositional _x @59
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
 ''');
@@ -3764,11 +3764,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @25
+          synthetic get x @-1
             returnType: num
-          synthetic set x @25
+          synthetic set x @-1
             parameters
-              requiredPositional _x @25
+              requiredPositional _x @-1
                 type: num
             returnType: void
       class B @36
@@ -3780,11 +3780,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @59
+          synthetic get x @-1
             returnType: num
-          synthetic set x @59
+          synthetic set x @-1
             parameters
-              requiredPositional _x @59
+              requiredPositional _x @-1
                 type: num
             returnType: void
 ''');
@@ -3837,11 +3837,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @89
+          synthetic get x @-1
             returnType: int
-          synthetic set x @89
+          synthetic set x @-1
             parameters
-              requiredPositional _x @89
+              requiredPositional _x @-1
                 type: int
             returnType: void
           get y @98
@@ -3907,11 +3907,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @92
+          synthetic get x @-1
             returnType: T
-          synthetic set x @92
+          synthetic set x @-1
             parameters
-              requiredPositional _x @92
+              requiredPositional _x @-1
                 type: T
             returnType: void
           get y @101
@@ -4193,14 +4193,14 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @148
+          synthetic get x @-1
             returnType: dynamic
-          synthetic set x @148
+          synthetic set x @-1
             parameters
-              requiredPositional _x @148
+              requiredPositional _x @-1
                 type: dynamic
             returnType: void
-          synthetic get y @159
+          synthetic get y @-1
             returnType: int
 ''');
   }
@@ -4360,11 +4360,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @108
+          synthetic get x @-1
             returnType: int
-          synthetic set x @108
+          synthetic set x @-1
             parameters
-              requiredPositional _x @108
+              requiredPositional _x @-1
                 type: int
             returnType: void
 ''');
@@ -4533,11 +4533,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @113
+          synthetic get x @-1
             returnType: int
-          synthetic set x @113
+          synthetic set x @-1
             parameters
-              requiredPositional _x @113
+              requiredPositional _x @-1
                 type: int
             returnType: void
           get y @122
@@ -4768,11 +4768,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get x @94
+          synthetic get x @-1
             returnType: int
-          synthetic set x @94
+          synthetic set x @-1
             parameters
-              requiredPositional covariant _x @94
+              requiredPositional covariant _x @-1
                 type: int
             returnType: void
 ''');
@@ -4846,25 +4846,25 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get t1 @16
+          synthetic get t1 @-1
             returnType: int
-          synthetic set t1 @16
+          synthetic set t1 @-1
             parameters
-              requiredPositional _t1 @16
+              requiredPositional _t1 @-1
                 type: int
             returnType: void
-          synthetic get t2 @30
+          synthetic get t2 @-1
             returnType: double
-          synthetic set t2 @30
+          synthetic set t2 @-1
             parameters
-              requiredPositional _t2 @30
+              requiredPositional _t2 @-1
                 type: double
             returnType: void
-          synthetic get t3 @46
+          synthetic get t3 @-1
             returnType: dynamic
-          synthetic set t3 @46
+          synthetic set t3 @-1
             parameters
-              requiredPositional _t3 @46
+              requiredPositional _t3 @-1
                 type: dynamic
             returnType: void
 ''');
@@ -5384,11 +5384,11 @@
         constructors
           synthetic @-1
         accessors
-          synthetic get m @16
+          synthetic get m @-1
             returnType: int
-          synthetic set m @16
+          synthetic set m @-1
             parameters
-              requiredPositional _m @16
+              requiredPositional _m @-1
                 type: int
             returnType: void
       class B @32
diff --git a/pkg/dds/lib/src/dap/adapters/dart.dart b/pkg/dds/lib/src/dap/adapters/dart.dart
index 693b9c0..50f5e74 100644
--- a/pkg/dds/lib/src/dap/adapters/dart.dart
+++ b/pkg/dds/lib/src/dap/adapters/dart.dart
@@ -16,6 +16,13 @@
 import '../protocol_generated.dart';
 import '../protocol_stream.dart';
 
+/// Maximum number of toString()s to be called when responding to variables
+/// requests from the client.
+///
+/// Setting this too high can have a performance impact, for example if the
+/// client requests 500 items in a variablesRequest for a list.
+const maxToStringsPerEvaluation = 10;
+
 /// A base DAP Debug Adapter implementation for running and debugging Dart-based
 /// applications (including Flutter and Tests).
 ///
@@ -94,7 +101,7 @@
   /// processed its initial paused state).
   Future<void> get debuggerInitialized => _debuggerInitializedCompleter.future;
 
-  /// attachRequest is called by the client when it wants us to to attach to
+  /// [attachRequest] is called by the client when it wants us to to attach to
   /// an existing app. This will only be called once (and only one of this or
   /// launchRequest will be called).
   @override
@@ -242,7 +249,7 @@
   /// `disconnectRequest` (a forceful request to shut down).
   Future<void> disconnectImpl();
 
-  /// disconnectRequest is called by the client when it wants to forcefully shut
+  /// [disconnectRequest] is called by the client when it wants to forcefully shut
   /// us down quickly. This comes after the `terminateRequest` which is intended
   /// to allow a graceful shutdown.
   ///
@@ -261,7 +268,7 @@
     sendResponse();
   }
 
-  /// initializeRequest is the first request send by the client during
+  /// [initializeRequest] is the first call from the client during
   /// initialization and allows exchanging capabilities and configuration
   /// between client and server.
   ///
@@ -310,7 +317,7 @@
   /// to this request.
   Future<void> launchImpl();
 
-  /// launchRequest is called by the client when it wants us to to start the app
+  /// [launchRequest] is called by the client when it wants us to to start the app
   /// to be run/debug. This will only be called once (and only one of this or
   /// attachRequest will be called).
   @override
@@ -343,6 +350,40 @@
     sendResponse();
   }
 
+  /// [scopesRequest] is called by the client to request all of the variables
+  /// scopes available for a given stack frame.
+  @override
+  Future<void> scopesRequest(
+    Request request,
+    ScopesArguments args,
+    void Function(ScopesResponseBody) sendResponse,
+  ) async {
+    final scopes = <Scope>[];
+
+    // For local variables, we can just reuse the frameId as variablesReference
+    // as variablesRequest handles stored data of type `Frame` directly.
+    scopes.add(Scope(
+      name: 'Variables',
+      presentationHint: 'locals',
+      variablesReference: args.frameId,
+      expensive: false,
+    ));
+
+    // If the top frame has an exception, add an additional section to allow
+    // that to be inspected.
+    final data = _isolateManager.getStoredData(args.frameId);
+    final exceptionReference = data?.thread.exceptionReference;
+    if (exceptionReference != null) {
+      scopes.add(Scope(
+        name: 'Exceptions',
+        variablesReference: exceptionReference,
+        expensive: false,
+      ));
+    }
+
+    sendResponse(ScopesResponseBody(scopes: scopes));
+  }
+
   /// Sends an OutputEvent (without a newline, since calls to this method
   /// may be used by buffered data).
   void sendOutput(String category, String message) {
@@ -370,7 +411,7 @@
   /// The VM requires breakpoints to be set per-isolate so these will be passed
   /// to [_isolateManager] that will fan them out to each isolate.
   ///
-  /// When new isolates are registered, it is [isolateManager]s responsibility
+  /// When new isolates are registered, it is [isolateManager]'s responsibility
   /// to ensure all breakpoints are given to them (and like at startup, this
   /// must happen before they are resumed).
   @override
@@ -394,6 +435,34 @@
     ));
   }
 
+  /// Handles a request from the client to set exception pause modes.
+  ///
+  /// This method can be called at any time (before the app is launched or while
+  /// the app is running).
+  ///
+  /// The VM requires exception modes to be set per-isolate so these will be
+  /// passed to [_isolateManager] that will fan them out to each isolate.
+  ///
+  /// When new isolates are registered, it is [isolateManager]'s responsibility
+  /// to ensure the pause mode is given to them (and like at startup, this
+  /// must happen before they are resumed).
+  @override
+  Future<void> setExceptionBreakpointsRequest(
+    Request request,
+    SetExceptionBreakpointsArguments args,
+    void Function(SetExceptionBreakpointsResponseBody) sendResponse,
+  ) async {
+    final mode = args.filters.contains('All')
+        ? 'All'
+        : args.filters.contains('Unhandled')
+            ? 'Unhandled'
+            : 'None';
+
+    await _isolateManager.setExceptionPauseMode(mode);
+
+    sendResponse(SetExceptionBreakpointsResponseBody());
+  }
+
   /// Handles a request from the client for the call stack for [args.threadId].
   ///
   /// This is usually called after we sent a [StoppedEvent] to the client
@@ -516,7 +585,7 @@
   /// `terminateRequest` (a request for a graceful shut down).
   Future<void> terminateImpl();
 
-  /// terminateRequest is called by the client when it wants us to gracefully
+  /// [terminateRequest] is called by the client when it wants us to gracefully
   /// shut down.
   ///
   /// It's not very obvious from the names, but `terminateRequest` is sent first
@@ -534,6 +603,86 @@
     sendResponse();
   }
 
+  /// [variablesRequest] is called by the client to request child variables for
+  /// a given variables variablesReference.
+  ///
+  /// The variablesReference provided by the client will be a reference the
+  /// server has previously provided, for example in response to a scopesRequest
+  /// or an evaluateRequest.
+  ///
+  /// We use the reference to look up the stored data and then create variables
+  /// based on the type of data. For a Frame, we will return the local
+  /// variables, for a List/MapAssociation we will return items from it, and for
+  /// an instance we will return the fields (and possibly getters) for that
+  /// instance.
+  @override
+  Future<void> variablesRequest(
+    Request request,
+    VariablesArguments args,
+    void Function(VariablesResponseBody) sendResponse,
+  ) async {
+    final childStart = args.start;
+    final childCount = args.count;
+    final storedData = _isolateManager.getStoredData(args.variablesReference);
+    if (storedData == null) {
+      throw StateError('variablesReference is no longer valid');
+    }
+    final thread = storedData.thread;
+    final data = storedData.data;
+    final vmData = data is vm.Response ? data : null;
+    final variables = <Variable>[];
+
+    if (vmData is vm.Frame) {
+      final vars = vmData.vars;
+      if (vars != null) {
+        Future<Variable> convert(int index, vm.BoundVariable variable) {
+          return _converter.convertVmResponseToVariable(
+            thread,
+            variable.value,
+            name: variable.name,
+            allowCallingToString: index <= maxToStringsPerEvaluation,
+          );
+        }
+
+        variables.addAll(await Future.wait(vars.mapIndexed(convert)));
+      }
+    } else if (vmData is vm.MapAssociation) {
+      // TODO(dantup): Maps
+    } else if (vmData is vm.ObjRef) {
+      final object =
+          await _isolateManager.getObject(storedData.thread.isolate, vmData);
+
+      if (object is vm.Sentinel) {
+        variables.add(Variable(
+          name: '<eval error>',
+          value: object.valueAsString.toString(),
+          variablesReference: 0,
+        ));
+      } else if (object is vm.Instance) {
+        // TODO(dantup): evaluateName
+        // should be built taking the parent into account, for ex. if
+        // args.variablesReference == thread.exceptionReference then we need to
+        // use some sythensized variable name like $e.
+        variables.addAll(await _converter.convertVmInstanceToVariablesList(
+          thread,
+          object,
+          startItem: childStart,
+          numItems: childCount,
+        ));
+      } else {
+        variables.add(Variable(
+          name: '<eval error>',
+          value: object.runtimeType.toString(),
+          variablesReference: 0,
+        ));
+      }
+    }
+
+    variables.sortBy((v) => v.name);
+
+    sendResponse(VariablesResponseBody(variables: variables));
+  }
+
   void _handleDebugEvent(vm.Event event) {
     _isolateManager.handleEvent(event);
   }
diff --git a/pkg/dds/lib/src/dap/base_debug_adapter.dart b/pkg/dds/lib/src/dap/base_debug_adapter.dart
index 9750cd6..cff12c2 100644
--- a/pkg/dds/lib/src/dap/base_debug_adapter.dart
+++ b/pkg/dds/lib/src/dap/base_debug_adapter.dart
@@ -139,6 +139,12 @@
     void Function() sendResponse,
   );
 
+  Future<void> scopesRequest(
+    Request request,
+    ScopesArguments args,
+    void Function(ScopesResponseBody) sendResponse,
+  );
+
   /// Sends an event, lookup up the event type based on the runtimeType of
   /// [body].
   void sendEvent(EventBody body) {
@@ -166,6 +172,12 @@
       SetBreakpointsArguments args,
       void Function(SetBreakpointsResponseBody) sendResponse);
 
+  Future<void> setExceptionBreakpointsRequest(
+    Request request,
+    SetExceptionBreakpointsArguments args,
+    void Function(SetExceptionBreakpointsResponseBody) sendResponse,
+  );
+
   Future<void> stackTraceRequest(
     Request request,
     StackTraceArguments args,
@@ -190,6 +202,12 @@
     void Function() sendResponse,
   );
 
+  Future<void> variablesRequest(
+    Request request,
+    VariablesArguments args,
+    void Function(VariablesResponseBody) sendResponse,
+  );
+
   /// Wraps a fromJson handler for requests that allow null arguments.
   _NullableFromJsonHandler<T> _allowNullArg<T extends RequestArguments>(
     _FromJsonHandler<T> fromJson,
@@ -236,6 +254,12 @@
       );
     } else if (request.command == 'setBreakpoints') {
       handle(request, setBreakpointsRequest, SetBreakpointsArguments.fromJson);
+    } else if (request.command == 'setExceptionBreakpoints') {
+      handle(
+        request,
+        setExceptionBreakpointsRequest,
+        SetExceptionBreakpointsArguments.fromJson,
+      );
     } else if (request.command == 'continue') {
       handle(request, continueRequest, ContinueArguments.fromJson);
     } else if (request.command == 'next') {
@@ -251,6 +275,10 @@
           StepOutArguments.fromJson);
     } else if (request.command == 'stackTrace') {
       handle(request, stackTraceRequest, StackTraceArguments.fromJson);
+    } else if (request.command == 'scopes') {
+      handle(request, scopesRequest, ScopesArguments.fromJson);
+    } else if (request.command == 'variables') {
+      handle(request, variablesRequest, VariablesArguments.fromJson);
     } else {
       final response = Response(
         success: false,
diff --git a/pkg/dds/lib/src/dap/isolate_manager.dart b/pkg/dds/lib/src/dap/isolate_manager.dart
index b2273ed..672f4a1 100644
--- a/pkg/dds/lib/src/dap/isolate_manager.dart
+++ b/pkg/dds/lib/src/dap/isolate_manager.dart
@@ -43,6 +43,12 @@
   final Map<String, Map<String, List<vm.Breakpoint>>>
       _vmBreakpointsByIsolateIdAndUri = {};
 
+  /// The exception pause mode last provided by the client.
+  ///
+  /// This will be sent to isolates as they are created, and to all existing
+  /// isolates at start or when changed.
+  String _exceptionPauseMode = 'None';
+
   /// An incrementing number used as the reference for [_storedData].
   var _nextStoredDataId = 1;
 
@@ -72,6 +78,12 @@
     return res as T;
   }
 
+  /// Retrieves some basic data indexed by an integer for use in "reference"
+  /// fields that are round-tripped to the client.
+  _StoredData? getStoredData(int id) {
+    return _storedData[id];
+  }
+
   ThreadInfo? getThread(int threadId) => _threadsByThreadId[threadId];
 
   /// Handles Isolate and Debug events
@@ -225,6 +237,17 @@
     _debug = debug;
   }
 
+  /// Records exception pause mode as one of 'None', 'Unhandled' or 'All'. All
+  /// existing isolates will be updated to reflect the new setting.
+  Future<void> setExceptionPauseMode(String mode) async {
+    _exceptionPauseMode = mode;
+
+    // Send to all existing threads.
+    await Future.wait(_threadsByThreadId.values.map(
+      (isolate) => _sendExceptionPauseMode(isolate.isolate),
+    ));
+  }
+
   /// Stores some basic data indexed by an integer for use in "reference" fields
   /// that are round-tripped to the client.
   int storeData(ThreadInfo thread, Object data) {
@@ -241,8 +264,7 @@
   Future<void> _configureIsolate(vm.IsolateRef isolate) async {
     await Future.wait([
       _sendLibraryDebuggables(isolate),
-      // TODO(dantup): Implement this...
-      // _sendExceptionPauseMode(isolate),
+      _sendExceptionPauseMode(isolate),
       _sendBreakpoints(isolate),
     ], eagerError: true);
   }
@@ -307,7 +329,12 @@
         reason = 'exception';
       }
 
-      // TODO(dantup): Store exception.
+      // If we stopped at an exception, capture the exception instance so we
+      // can add a variables scope for it so it can be examined.
+      final exception = event.exception;
+      if (exception != null) {
+        thread.exceptionReference = thread.storeData(exception);
+      }
 
       // Notify the client.
       _adapter.sendEvent(
@@ -395,6 +422,16 @@
     }
   }
 
+  /// Sets the exception pause mode for an individual isolate.
+  Future<void> _sendExceptionPauseMode(vm.IsolateRef isolate) async {
+    final service = _adapter.vmService;
+    if (!_debug || service == null) {
+      return;
+    }
+
+    await service.setExceptionPauseMode(isolate.id!, _exceptionPauseMode);
+  }
+
   /// Calls setLibraryDebuggable for all libraries in the given isolate based
   /// on the debug settings.
   Future<void> _sendLibraryDebuggables(vm.IsolateRef isolateRef) async {
diff --git a/pkg/dds/lib/src/dap/protocol_converter.dart b/pkg/dds/lib/src/dap/protocol_converter.dart
index 1fa00fe..7291ce8 100644
--- a/pkg/dds/lib/src/dap/protocol_converter.dart
+++ b/pkg/dds/lib/src/dap/protocol_converter.dart
@@ -5,6 +5,7 @@
 import 'dart:async';
 import 'dart:io';
 
+import 'package:collection/collection.dart';
 import 'package:path/path.dart' as path;
 import 'package:vm_service/vm_service.dart' as vm;
 
@@ -40,6 +41,226 @@
     return !rel.startsWith('..') ? rel : sourcePath;
   }
 
+  /// Converts a [vm.InstanceRef] into a user-friendly display string.
+  ///
+  /// This may be shown in the collapsed view of a complex type.
+  ///
+  /// If [allowCallingToString] is true, the toString() method may be called on
+  /// the object for a display string.
+  ///
+  /// Strings are usually wrapped in quotes to indicate their type. This can be
+  /// controlled with [includeQuotesAroundString] (for example to suppress them
+  /// if the context indicates the user is copying the value to the clipboard).
+  Future<String> convertVmInstanceRefToDisplayString(
+    ThreadInfo thread,
+    vm.InstanceRef ref, {
+    required bool allowCallingToString,
+    bool includeQuotesAroundString = true,
+  }) async {
+    final canCallToString = allowCallingToString &&
+        (_adapter.args.evaluateToStringInDebugViews ?? false);
+
+    if (ref.kind == 'String' || ref.valueAsString != null) {
+      var stringValue = ref.valueAsString.toString();
+      if (ref.valueAsStringIsTruncated ?? false) {
+        stringValue = '$stringValue…';
+      }
+      if (ref.kind == 'String' && includeQuotesAroundString) {
+        stringValue = '"$stringValue"';
+      }
+      return stringValue;
+    } else if (ref.kind == 'PlainInstance') {
+      var stringValue = ref.classRef?.name ?? '<unknown instance>';
+      if (canCallToString) {
+        final toStringValue = await _callToString(
+          thread,
+          ref,
+          includeQuotesAroundString: false,
+        );
+        stringValue += ' ($toStringValue)';
+      }
+      return stringValue;
+    } else if (ref.kind == 'List') {
+      return 'List (${ref.length} ${ref.length == 1 ? "item" : "items"})';
+    } else if (ref.kind == 'Map') {
+      return 'Map (${ref.length} ${ref.length == 1 ? "item" : "items"})';
+    } else if (ref.kind == 'Type') {
+      return 'Type (${ref.name})';
+    } else {
+      return ref.kind ?? '<unknown result>';
+    }
+  }
+
+  /// Converts a [vm.Instace] to a list of [dap.Variable]s, one for each
+  /// field/member/element/association.
+  ///
+  /// If [startItem] and/or [numItems] are supplied, only a slice of the
+  /// items will be returned to allow the client to page.
+  Future<List<dap.Variable>> convertVmInstanceToVariablesList(
+    ThreadInfo thread,
+    vm.Instance instance, {
+    int? startItem = 0,
+    int? numItems,
+  }) async {
+    final elements = instance.elements;
+    final associations = instance.associations;
+    final fields = instance.fields;
+
+    if (_isSimpleKind(instance.kind)) {
+      // For simple kinds, just return a single variable with their value.
+      return [
+        await convertVmResponseToVariable(
+          thread,
+          instance,
+          allowCallingToString: true,
+        )
+      ];
+    } else if (elements != null) {
+      // For lists, map each item (in the requested subset) to a variable.
+      final start = startItem ?? 0;
+      return Future.wait(elements
+          .cast<vm.Response>()
+          .sublist(start, numItems != null ? start + numItems : null)
+          .mapIndexed((index, response) async => convertVmResponseToVariable(
+              thread, response,
+              name: '${start + index}',
+              allowCallingToString: index <= maxToStringsPerEvaluation)));
+    } else if (associations != null) {
+      // For maps, create a variable for each entry (in the requested subset).
+      // Use the keys and values to create a display string in the form
+      // "Key -> Value".
+      // Both the key and value will be expandable (handled by variablesRequest
+      // detecting the MapAssociation type).
+      final start = startItem ?? 0;
+      return Future.wait(associations
+          .sublist(start, numItems != null ? start + numItems : null)
+          .mapIndexed((index, mapEntry) async {
+        final allowCallingToString = index <= maxToStringsPerEvaluation;
+        final keyDisplay = await convertVmResponseToDisplayString(
+            thread, mapEntry.key,
+            allowCallingToString: allowCallingToString);
+        final valueDisplay = await convertVmResponseToDisplayString(
+            thread, mapEntry.value,
+            allowCallingToString: allowCallingToString);
+        return dap.Variable(
+          name: '${start + index}',
+          value: '$keyDisplay -> $valueDisplay',
+          variablesReference: thread.storeData(mapEntry),
+        );
+      }));
+    } else if (fields != null) {
+      // Otherwise, show the fields from the instance.
+      final variables = await Future.wait(fields.mapIndexed(
+          (index, field) async => convertVmResponseToVariable(
+              thread, field.value,
+              name: field.decl?.name ?? '<unnamed field>',
+              allowCallingToString: index <= maxToStringsPerEvaluation)));
+
+      // Also evaluate the getters if evaluateGettersInDebugViews=true enabled.
+      final service = _adapter.vmService;
+      if (service != null &&
+          (_adapter.args.evaluateGettersInDebugViews ?? false)) {
+        // Collect getter names for this instances class and its supers.
+        final getterNames =
+            await _getterNamesForClassHierarchy(thread, instance.classRef);
+
+        /// Helper to evaluate each getter and convert the response to a
+        /// variable.
+        Future<dap.Variable> evaluate(int index, String getterName) async {
+          final response = await service.evaluate(
+            thread.isolate.id!,
+            instance.id!,
+            getterName,
+          );
+          // Convert results to variables.
+          return convertVmResponseToVariable(
+            thread,
+            response,
+            name: getterName,
+            allowCallingToString: index <= maxToStringsPerEvaluation,
+          );
+        }
+
+        variables.addAll(await Future.wait(getterNames.mapIndexed(evaluate)));
+      }
+
+      return variables;
+    } else {
+      // For any other type that we don't produce variables for, return an empty
+      // list.
+      return [];
+    }
+  }
+
+  /// Converts a [vm.Response] into a user-friendly display string.
+  ///
+  /// This may be shown in the collapsed view of a complex type.
+  ///
+  /// If [allowCallingToString] is true, the toString() method may be called on
+  /// the object for a display string.
+  Future<String> convertVmResponseToDisplayString(
+    ThreadInfo thread,
+    vm.Response response, {
+    required bool allowCallingToString,
+    bool includeQuotesAroundString = true,
+  }) async {
+    if (response is vm.InstanceRef) {
+      return convertVmInstanceRefToDisplayString(
+        thread,
+        response,
+        allowCallingToString: allowCallingToString,
+        includeQuotesAroundString: includeQuotesAroundString,
+      );
+    } else if (response is vm.Sentinel) {
+      return '<sentinel>';
+    } else {
+      return '<unknown: ${response.type}>';
+    }
+  }
+
+  /// Converts a [vm.Response] into to a [dap.Variable].
+  ///
+  /// If provided, [name] is used as the variables name (for example the field
+  /// name holding this variable).
+  ///
+  /// If [allowCallingToString] is true, the toString() method may be called on
+  /// the object for a display string.
+  Future<dap.Variable> convertVmResponseToVariable(
+    ThreadInfo thread,
+    vm.Response response, {
+    String? name,
+    required bool allowCallingToString,
+  }) async {
+    if (response is vm.InstanceRef) {
+      // For non-simple variables, store them and produce a new reference that
+      // can be used to access their fields/items/associations.
+      final variablesReference =
+          _isSimpleKind(response.kind) ? 0 : thread.storeData(response);
+
+      return dap.Variable(
+        name: name ?? response.kind.toString(),
+        value: await convertVmResponseToDisplayString(
+          thread,
+          response,
+          allowCallingToString: allowCallingToString,
+        ),
+        variablesReference: variablesReference,
+      );
+    } else if (response is vm.Sentinel) {
+      return dap.Variable(
+        name: '<sentinel>',
+        value: response.valueAsString.toString(),
+        variablesReference: 0,
+      );
+    } else {
+      return dap.Variable(
+        name: '<error>',
+        value: response.runtimeType.toString(),
+        variablesReference: 0,
+      );
+    }
+  }
+
   /// Converts a VM Service stack frame to a DAP stack frame.
   Future<dap.StackFrame> convertVmToDapStackFrame(
     ThreadInfo thread,
@@ -149,4 +370,79 @@
       return null;
     }
   }
+
+  /// Invokes the toString() method on a [vm.InstanceRef] and converts the
+  /// response to a user-friendly display string.
+  ///
+  /// Strings are usually wrapped in quotes to indicate their type. This can be
+  /// controlled with [includeQuotesAroundString] (for example to suppress them
+  /// if the context indicates the user is copying the value to the clipboard).
+  Future<String?> _callToString(
+    ThreadInfo thread,
+    vm.InstanceRef ref, {
+    bool includeQuotesAroundString = true,
+  }) async {
+    final service = _adapter.vmService;
+    if (service == null) {
+      return null;
+    }
+    final result = await service.invoke(
+      thread.isolate.id!,
+      ref.id!,
+      'toString',
+      [],
+      disableBreakpoints: true,
+    );
+
+    return convertVmResponseToDisplayString(
+      thread,
+      result,
+      allowCallingToString: false,
+      includeQuotesAroundString: includeQuotesAroundString,
+    );
+  }
+
+  /// Collect a list of all getter names for [classRef] and its super classes.
+  ///
+  /// This is used to show/evaluate getters in debug views like hovers and
+  /// variables/watch panes.
+  Future<Set<String>> _getterNamesForClassHierarchy(
+    ThreadInfo thread,
+    vm.ClassRef? classRef,
+  ) async {
+    final getterNames = <String>{};
+    final service = _adapter.vmService;
+    while (service != null && classRef != null) {
+      final classResponse =
+          await service.getObject(thread.isolate.id!, classRef.id!);
+      if (classResponse is! vm.Class) {
+        break;
+      }
+      final functions = classResponse.functions;
+      if (functions != null) {
+        final instanceFields = functions.where((f) =>
+            // TODO(dantup): Update this to use something better that bkonyi is
+            // adding to the protocol.
+            f.json?['_kind'] == 'GetterFunction' &&
+            !(f.isStatic ?? false) &&
+            !(f.isConst ?? false));
+        getterNames.addAll(instanceFields.map((f) => f.name!));
+      }
+
+      classRef = classResponse.superClass;
+    }
+
+    return getterNames;
+  }
+
+  /// Whether [kind] is a simple kind, and does not need to be mapped to a variable.
+  bool _isSimpleKind(String? kind) {
+    return kind == 'String' ||
+        kind == 'Bool' ||
+        kind == 'Int' ||
+        kind == 'Num' ||
+        kind == 'Double' ||
+        kind == 'Null' ||
+        kind == 'Closure';
+  }
 }
diff --git a/pkg/dds/test/dap/integration/debug_variables_test.dart b/pkg/dds/test/dap/integration/debug_variables_test.dart
new file mode 100644
index 0000000..e04e36e
--- /dev/null
+++ b/pkg/dds/test/dap/integration/debug_variables_test.dart
@@ -0,0 +1,236 @@
+// Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:test/test.dart';
+
+import 'test_client.dart';
+import 'test_support.dart';
+
+main() {
+  testDap((dap) async {
+    group('debug mode variables', () {
+      test('provides variable list for frames', () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  final myVariable = 1;
+  foo();
+}
+
+void foo() {
+  final b = 2;
+  print('Hello!'); // BREAKPOINT
+}
+    ''');
+        final breakpointLine = lineWith(testFile, '// BREAKPOINT');
+
+        final stop = await client.hitBreakpoint(testFile, breakpointLine);
+        final stack = await client.getValidStack(
+          stop.threadId!,
+          startFrame: 0,
+          numFrames: 2,
+        );
+
+        // Check top two frames (in `foo` and in `main`).
+        await client.expectScopeVariables(
+          stack.stackFrames[0].id, // Top frame: foo
+          'Variables',
+          '''
+            b: 2
+          ''',
+        );
+        await client.expectScopeVariables(
+          stack.stackFrames[1].id, // Second frame: main
+          'Variables',
+          '''
+            args: List (0 items)
+            myVariable: 1
+          ''',
+        );
+      });
+
+      test('provides simple exception types for frames', () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  throw 'my error';
+}
+    ''');
+
+        final stop = await client.hitException(testFile);
+        final stack = await client.getValidStack(
+          stop.threadId!,
+          startFrame: 0,
+          numFrames: 1,
+        );
+        final topFrameId = stack.stackFrames.first.id;
+
+        // Check for an additional Scope named "Exceptions" that includes the
+        // exception.
+        await client.expectScopeVariables(
+          topFrameId,
+          'Exceptions',
+          '''
+            String: "my error"
+          ''',
+        );
+      });
+
+      test('provides complex exception types frames', () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  throw ArgumentError.notNull('args');
+}
+    ''');
+
+        final stop = await client.hitException(testFile);
+        final stack = await client.getValidStack(
+          stop.threadId!,
+          startFrame: 0,
+          numFrames: 1,
+        );
+        final topFrameId = stack.stackFrames.first.id;
+
+        // Check for an additional Scope named "Exceptions" that includes the
+        // exception.
+        await client.expectScopeVariables(
+          topFrameId,
+          'Exceptions',
+          // TODO(dantup): evaluateNames
+          '''
+            invalidValue: null
+            message: "Must not be null"
+            name: "args"
+          ''',
+        );
+      });
+
+      test('includes simple variable fields', () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  final myVariable = DateTime(2000, 1, 1);
+  print('Hello!'); // BREAKPOINT
+}
+    ''');
+        final breakpointLine = lineWith(testFile, '// BREAKPOINT');
+
+        final stop = await client.hitBreakpoint(testFile, breakpointLine);
+        await client.expectLocalVariable(
+          stop.threadId!,
+          expectedName: 'myVariable',
+          expectedDisplayString: 'DateTime',
+          expectedVariables: '''
+            isUtc: false
+          ''',
+        );
+      });
+
+      test('includes variable getters when evaluateGettersInDebugViews=true',
+          () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  final myVariable = DateTime(2000, 1, 1);
+  print('Hello!'); // BREAKPOINT
+}
+    ''');
+        final breakpointLine = lineWith(testFile, '// BREAKPOINT');
+
+        final stop = await client.hitBreakpoint(
+          testFile,
+          breakpointLine,
+          launch: () => client.launch(
+            testFile.path,
+            evaluateGettersInDebugViews: true,
+          ),
+        );
+        await client.expectLocalVariable(
+          stop.threadId!,
+          expectedName: 'myVariable',
+          expectedDisplayString: 'DateTime',
+          expectedVariables: '''
+            day: 1
+            hour: 0
+            isUtc: false
+            microsecond: 0
+            millisecond: 0
+            minute: 0
+            month: 1
+            runtimeType: Type (DateTime)
+            second: 0
+            timeZoneOffset: Duration
+            weekday: 6
+            year: 2000
+          ''',
+          ignore: {
+            // Don't check fields that may very based on timezone as it'll make
+            // these tests fragile, and this isn't really what's being tested.
+            'timeZoneName',
+            'microsecondsSinceEpoch',
+            'millisecondsSinceEpoch',
+          },
+        );
+      });
+
+      test('renders a simple list', () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  final myVariable = ["first", "second", "third"];
+  print('Hello!'); // BREAKPOINT
+}
+    ''');
+        final breakpointLine = lineWith(testFile, '// BREAKPOINT');
+
+        final stop = await client.hitBreakpoint(testFile, breakpointLine);
+        await client.expectLocalVariable(
+          stop.threadId!,
+          expectedName: 'myVariable',
+          expectedDisplayString: 'List (3 items)',
+          // TODO(dantup): evaluateNames
+          expectedVariables: '''
+            0: "first"
+            1: "second"
+            2: "third"
+          ''',
+        );
+      });
+
+      test('renders a simple list subset', () async {
+        final client = dap.client;
+        final testFile = await dap.createTestFile(r'''
+void main(List<String> args) {
+  final myVariable = ["first", "second", "third"];
+  print('Hello!'); // BREAKPOINT
+}
+    ''');
+        final breakpointLine = lineWith(testFile, '// BREAKPOINT');
+
+        final stop = await client.hitBreakpoint(testFile, breakpointLine);
+        await client.expectLocalVariable(
+          stop.threadId!,
+          expectedName: 'myVariable',
+          expectedDisplayString: 'List (3 items)',
+          // TODO(dantup): evaluateNames
+          expectedVariables: '''
+            1: "second"
+          ''',
+          start: 1,
+          count: 1,
+        );
+      });
+
+      test('renders a simple map', () {
+        // TODO(dantup): Implement this (inc evaluateNames)
+      }, skip: true);
+
+      test('renders a simple map subset', () {
+        // TODO(dantup): Implement this (inc evaluateNames)
+      }, skip: true);
+      // These tests can be slow due to starting up the external server process.
+    }, timeout: Timeout.none);
+  });
+}
diff --git a/pkg/dds/test/dap/integration/test_client.dart b/pkg/dds/test/dap/integration/test_client.dart
index 434bef6..f6c2a78 100644
--- a/pkg/dds/test/dap/integration/test_client.dart
+++ b/pkg/dds/test/dap/integration/test_client.dart
@@ -99,9 +99,11 @@
     final responses = await Future.wait([
       event('initialized'),
       sendRequest(InitializeRequestArguments(adapterID: 'test')),
-      // TODO(dantup): Support setting exception pause modes.
-      // sendRequest(
-      //     SetExceptionBreakpointsArguments(filters: [exceptionPauseMode])),
+      sendRequest(
+        SetExceptionBreakpointsArguments(
+          filters: [exceptionPauseMode],
+        ),
+      ),
     ]);
     await sendRequest(ConfigurationDoneArguments());
     return responses[1] as Response; // Return the initialize response.
@@ -146,6 +148,15 @@
   Future<Response> next(int threadId) =>
       sendRequest(NextArguments(threadId: threadId));
 
+  /// Sends a request to the server for variables scopes available for a given
+  /// stack frame.
+  ///
+  /// Returns a Future that completes when the server returns a corresponding
+  /// response.
+  Future<Response> scopes(int frameId) {
+    return sendRequest(ScopesArguments(frameId: frameId));
+  }
+
   /// Sends an arbitrary request to the server.
   ///
   /// Returns a Future that completes when the server returns a corresponding
@@ -197,6 +208,27 @@
 
   Future<Response> terminate() => sendRequest(TerminateArguments());
 
+  /// Sends a request for child variables (fields/list elements/etc.) for the
+  /// variable with reference [variablesReference].
+  ///
+  /// If [start] and/or [count] are supplied, only a slice of the variables will
+  /// be returned. This is used to allow the client to page through large Lists
+  /// or Maps without needing all of the data immediately.
+  ///
+  /// Returns a Future that completes when the server returns a corresponding
+  /// response.
+  Future<Response> variables(
+    int variablesReference, {
+    int? start,
+    int? count,
+  }) {
+    return sendRequest(VariablesArguments(
+      variablesReference: variablesReference,
+      start: start,
+      count: count,
+    ));
+  }
+
   /// Handles an incoming message from the server, completing the relevant request
   /// of raising the appropriate event.
   void _handleMessage(message) {
@@ -292,6 +324,22 @@
     return stop;
   }
 
+  /// Runs a script and expects to pause at an exception in [file].
+  Future<StoppedEventBody> hitException(
+    File file, [
+    String exceptionPauseMode = 'Unhandled',
+    int? line,
+  ]) async {
+    final stop = expectStop('exception', file: file, line: line);
+
+    await Future.wait([
+      initialize(exceptionPauseMode: exceptionPauseMode),
+      launch(file.path),
+    ], eagerError: true);
+
+    return stop;
+  }
+
   /// Expects a 'stopped' event for [reason].
   ///
   /// If [file] or [line] are provided, they will be checked against the stop
@@ -330,4 +378,175 @@
     return StackTraceResponseBody.fromJson(
         response.body as Map<String, Object?>);
   }
+
+  /// A helper that fetches scopes for a frame, checks for one with the name
+  /// [expectedName] and verifies its variables.
+  Future<Scope> expectScopeVariables(
+    int frameId,
+    String expectedName,
+    String expectedVariables, {
+    bool ignorePrivate = true,
+    Set<String>? ignore,
+  }) async {
+    final scope = await getValidScope(frameId, expectedName);
+    await expectVariables(
+      scope.variablesReference,
+      expectedVariables,
+      ignorePrivate: ignorePrivate,
+      ignore: ignore,
+    );
+    return scope;
+  }
+
+  /// Requests variables scopes for a frame returns one with a specific name.
+  Future<Scope> getValidScope(int frameId, String name) async {
+    final scopes = await getValidScopes(frameId);
+    return scopes.scopes.singleWhere(
+      (s) => s.name == name,
+      orElse: () => throw 'Did not find scope with name $name',
+    );
+  }
+
+  /// A helper that finds a named variable in the Variables scope for the top
+  /// frame and asserts its child variables (fields/getters/etc) match.
+  Future<void> expectLocalVariable(
+    int threadId, {
+    required String expectedName,
+    required String expectedDisplayString,
+    required String expectedVariables,
+    int? start,
+    int? count,
+    bool ignorePrivate = true,
+    Set<String>? ignore,
+  }) async {
+    final stack = await getValidStack(
+      threadId,
+      startFrame: 0,
+      numFrames: 1,
+    );
+    final topFrame = stack.stackFrames.first;
+
+    final variablesScope = await getValidScope(topFrame.id, 'Variables');
+    final variables =
+        await getValidVariables(variablesScope.variablesReference);
+    final expectedVariable = variables.variables
+        .singleWhere((variable) => variable.name == expectedName);
+
+    // Check the display string.
+    expect(expectedVariable.value, equals(expectedDisplayString));
+
+    // Check the child fields.
+    await expectVariables(
+      expectedVariable.variablesReference,
+      expectedVariables,
+      start: start,
+      count: count,
+      ignorePrivate: ignorePrivate,
+      ignore: ignore,
+    );
+  }
+
+  /// Requests variables scopes for a frame and asserts a valid response.
+  Future<ScopesResponseBody> getValidScopes(int frameId) async {
+    final response = await scopes(frameId);
+    expect(response.success, isTrue);
+    expect(response.command, equals('scopes'));
+    return ScopesResponseBody.fromJson(response.body as Map<String, Object?>);
+  }
+
+  /// Requests variables by reference and asserts a valid response.
+  Future<VariablesResponseBody> getValidVariables(
+    int variablesReference, {
+    int? start,
+    int? count,
+  }) async {
+    final response = await variables(
+      variablesReference,
+      start: start,
+      count: count,
+    );
+    expect(response.success, isTrue);
+    expect(response.command, equals('variables'));
+    return VariablesResponseBody.fromJson(
+        response.body as Map<String, Object?>);
+  }
+
+  /// A helper that verifies the variables list matches [expectedVariables].
+  ///
+  /// [expectedVariables] is a simple text format of `name: value` for each
+  /// variable with some additional annotations to simplify writing tests.
+  Future<VariablesResponseBody> expectVariables(
+    int variablesReference,
+    String expectedVariables, {
+    int? start,
+    int? count,
+    bool ignorePrivate = true,
+    Set<String>? ignore,
+  }) async {
+    final expectedLines =
+        expectedVariables.trim().split('\n').map((l) => l.trim()).toList();
+
+    final variables = await getValidVariables(
+      variablesReference,
+      start: start,
+      count: count,
+    );
+
+    // If a variable was set to be ignored but wasn't in the list, that's
+    // likely an error in the test.
+    if (ignore != null) {
+      final variableNames = variables.variables.map((v) => v.name).toSet();
+      for (final ignored in ignore) {
+        expect(
+          variableNames.contains(ignored),
+          isTrue,
+          reason: 'Variable "$ignored" should be ignored but was '
+              'not in the results ($variableNames)',
+        );
+      }
+    }
+
+    /// Helper to format the variables into a simple text representation that's
+    /// easy to maintain in tests.
+    String toSimpleTextRepresentation(Variable v) {
+      final buffer = StringBuffer();
+      final evaluateName = v.evaluateName;
+      final indexedVariables = v.indexedVariables;
+      final namedVariables = v.namedVariables;
+      final value = v.value;
+      final type = v.type;
+      final presentationHint = v.presentationHint;
+
+      buffer.write(v.name);
+      if (evaluateName != null) {
+        buffer.write(', eval: $evaluateName');
+      }
+      if (indexedVariables != null) {
+        buffer.write(', $indexedVariables items');
+      }
+      if (namedVariables != null) {
+        buffer.write(', $namedVariables named items');
+      }
+      buffer.write(': $value');
+      if (type != null) {
+        buffer.write(' ($type)');
+      }
+      if (presentationHint != null) {
+        buffer.write(' ($presentationHint)');
+      }
+
+      return buffer.toString();
+    }
+
+    final actual = variables.variables
+        .where((v) => ignorePrivate ? !v.name.startsWith('_') : true)
+        .where((v) => !(ignore?.contains(v.name) ?? false))
+        // Always exclude hashCode because its value is not guaranteed.
+        .where((v) => v.name != 'hashCode')
+        .map(toSimpleTextRepresentation);
+
+    expect(actual.join('\n'), equals(expectedLines.join('\n')));
+
+    return variables;
+  }
 }
diff --git a/tools/VERSION b/tools/VERSION
index 9ed9fd4..2c202f7 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 205
+PRERELEASE 206
 PRERELEASE_PATCH 0
\ No newline at end of file
