Implement type parameters in the new element model
Change-Id: I01531f940f46407ba4f459b4ad412528d01c7ae7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/383927
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analyzer/lib/dart/element/element2.dart b/pkg/analyzer/lib/dart/element/element2.dart
index d4f0fa7..281a107 100644
--- a/pkg/analyzer/lib/dart/element/element2.dart
+++ b/pkg/analyzer/lib/dart/element/element2.dart
@@ -1659,9 +1659,6 @@
implements Element2, _Annotatable, _Fragmented {
// TODO(brianwilkerson): Evaluate to see whether this type is actually needed
// after converting clients to the new API.
-
- @override
- LibraryElement2 get library2;
}
/// The portion of a [TypeDefiningElement2] contributed by a single declaration.
@@ -1697,7 +1694,13 @@
/// declaration.
///
/// Clients may not extend, implement or mix-in this class.
-abstract class TypeParameterFragment implements TypeDefiningFragment {}
+abstract class TypeParameterFragment implements TypeDefiningFragment {
+ @override
+ TypeParameterFragment? get nextFragment;
+
+ @override
+ TypeParameterFragment? get previousFragment;
+}
/// An element that has type parameters, such as a class, typedef, or method.
///
@@ -1721,7 +1724,13 @@
/// declaration.
///
/// Clients may not extend, implement or mix-in this class.
-abstract class TypeParameterizedFragment implements Fragment, _Annotatable {}
+abstract class TypeParameterizedFragment implements Fragment, _Annotatable {
+ /// The type parameters declared by this fragment directly.
+ ///
+ /// This does not include type parameters that are declared by any enclosing
+ /// fragments.
+ List<TypeParameterFragment> get typeParameters2;
+}
/// A pseudo-element that represents names that are undefined.
///
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 0dd3196..879f53a 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -4425,7 +4425,10 @@
List<TypeParameterElement2> get typeParameters2 {
var fragment = firstFragment;
if (fragment is TypeParameterizedElementMixin) {
- return fragment.typeParameters.cast<TypeParameterElement2>();
+ return fragment.typeParameters
+ .map((fragment) => (fragment as TypeParameterFragment).element
+ as TypeParameterElement2)
+ .toList();
}
return const [];
}
@@ -6540,8 +6543,10 @@
Version? get sinceSdkVersion => declaration.sinceSdkVersion;
@override
- List<TypeParameterElement2> get typeParameters2 =>
- declaration.typeParameters.cast<TypeParameterElement2>();
+ List<TypeParameterElement2> get typeParameters2 => declaration.typeParameters
+ .map((fragment) =>
+ (fragment as TypeParameterFragment).element as TypeParameterElement2)
+ .toList();
@override
String displayString2(
@@ -9065,9 +9070,12 @@
}
}
+abstract class TypeDefiningElementImpl2 extends ElementImpl2
+ implements TypeDefiningElement2 {}
+
/// A concrete implementation of a [TypeParameterElement].
class TypeParameterElementImpl extends ElementImpl
- implements TypeParameterElement {
+ implements TypeParameterElement, TypeParameterFragment {
/// The default value of the type parameter. It is used to provide the
/// corresponding missing type argument in type annotations and as the
/// fall-back type value in type inference.
@@ -9081,6 +9089,9 @@
/// there is no explicit variance modifier, meaning legacy covariance.
shared.Variance? _variance;
+ /// The element corresponding to this fragment.
+ TypeParameterElement2? _element;
+
/// Initialize a newly created method element to have the given [name] and
/// [offset].
TypeParameterElementImpl(String super.name, super.offset);
@@ -9101,11 +9112,35 @@
}
@override
+ List<Fragment> get children3 => const [];
+
+ @override
TypeParameterElement get declaration => this;
@override
String get displayName => name;
+ @override
+ TypeParameterElement2 get element {
+ if (_element != null) {
+ return _element!;
+ }
+ TypeParameterFragment firstFragment = this;
+ var previousFragment = firstFragment.previousFragment;
+ while (previousFragment != null) {
+ firstFragment = previousFragment;
+ previousFragment = firstFragment.previousFragment;
+ }
+ // As a side-effect of creating the element, all of the fragments in the
+ // chain will have their `_element` set to the newly created element.
+ return TypeParameterElementImpl2(firstFragment as TypeParameterElementImpl);
+ }
+
+ set element(TypeParameterElement2 element) => _element = element;
+
+ @override
+ Fragment? get enclosingFragment => enclosingElement3 as Fragment?;
+
bool get isLegacyCovariant {
return _variance == null;
}
@@ -9114,10 +9149,22 @@
ElementKind get kind => ElementKind.TYPE_PARAMETER;
@override
+ LibraryFragment get libraryFragment =>
+ thisOrAncestorOfType<CompilationUnitElementImpl>() as LibraryFragment;
+
+ @override
String get name {
return super.name!;
}
+ @override
+ // TODO(augmentations): Support chaining between the fragments.
+ TypeParameterFragment? get nextFragment => null;
+
+ @override
+ // TODO(augmentations): Support chaining between the fragments.
+ TypeParameterFragment? get previousFragment => null;
+
shared.Variance get variance {
return _variance ?? shared.Variance.covariant;
}
@@ -9206,6 +9253,47 @@
}
}
+class TypeParameterElementImpl2 extends TypeDefiningElementImpl2
+ with
+ FragmentedAnnotatableElementMixin<TypeParameterFragment>,
+ FragmentedElementMixin<TypeParameterFragment>
+ implements TypeParameterElement2 {
+ @override
+ final TypeParameterElementImpl firstFragment;
+
+ TypeParameterElementImpl2(this.firstFragment) {
+ TypeParameterElementImpl? fragment = firstFragment;
+ while (fragment != null) {
+ fragment.element = this;
+ fragment = fragment.nextFragment as TypeParameterElementImpl?;
+ }
+ }
+
+ @override
+ TypeParameterElement2 get baseElement => this;
+
+ @override
+ DartType? get bound => firstFragment.bound;
+
+ @override
+ Element2? get enclosingElement2 =>
+ (firstFragment._enclosingElement as Fragment).element;
+
+ @override
+ ElementKind get kind => ElementKind.TYPE_PARAMETER;
+
+ @override
+ LibraryElement2 get library2 => super.library2!;
+
+ @override
+ String? get name => firstFragment.name;
+
+ @override
+ TypeParameterType instantiate(
+ {required NullabilitySuffix nullabilitySuffix}) =>
+ firstFragment.instantiate(nullabilitySuffix: nullabilitySuffix);
+}
+
abstract class TypeParameterizedElementImpl2 extends ElementImpl2
implements TypeParameterizedElement2 {}
@@ -9242,6 +9330,10 @@
_typeParameters = typeParameters;
}
+ @override
+ List<TypeParameterFragment> get typeParameters2 =>
+ typeParameters.cast<TypeParameterFragment>();
+
List<TypeParameterElement> get typeParameters_unresolved {
return _typeParameters;
}
diff --git a/pkg/analyzer/lib/src/dart/element/member.dart b/pkg/analyzer/lib/src/dart/element/member.dart
index 6f61403..96e4eeb 100644
--- a/pkg/analyzer/lib/src/dart/element/member.dart
+++ b/pkg/analyzer/lib/src/dart/element/member.dart
@@ -305,6 +305,10 @@
}
@override
+ List<TypeParameterFragment> get typeParameters2 =>
+ (declaration as ExecutableElementImpl).typeParameters2;
+
+ @override
void appendTo(ElementDisplayStringBuilder builder) {
builder.writeExecutableElement(this, displayName);
}
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index afcefbd..1a51374 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -300,6 +300,8 @@
if (configuration.withCodeRanges && !e.isSynthetic) {
if (e is MaybeAugmentedInstanceElementMixin) {
e = e.declaration;
+ } else if (e is TypeParameterElementImpl2) {
+ e = e.firstFragment;
}
if (e is ElementImpl) {
_sink.writelnWithIndent('codeOffset: ${e.codeOffset}');
@@ -829,33 +831,6 @@
}
}
- // void _writeTypeParameterElement(TypeParameterElement2 e) {
- // e as TypeParameterElementImpl;
-
- // _sink.writeIndentedLine(() {
- // _sink.write('${(e as TypeParameterElementImpl).variance.name} ');
- // _writeElementName(e);
- // });
-
- // _sink.withIndent(() {
- // _writeCodeRange(e);
-
- // var bound = e.bound;
- // if (bound != null) {
- // _writeType('bound', bound);
- // }
-
- // // var defaultType = e.defaultType;
- // // if (defaultType != null) {
- // // _writeType('defaultType', defaultType);
- // // }
-
- // _writeMetadata(e.metadata);
- // });
-
- // _assertNonSyntheticElementSelf(e);
- // }
-
void _writeGetterElement(GetterElement e) {
var variable = e.variable3;
if (variable != null) {
@@ -1023,7 +998,8 @@
// _writeMetadata(e.metadata);
_writeSinceSdkVersion(e.sinceSdkVersion);
_writeCodeRange(e);
- // _writeElements('typeParameters', e.typeParameters2, _writeTypeParameterElement);
+ _writeElements(
+ 'typeParameters', e.typeParameters2, _writeTypeParameterElement);
_writeMacroDiagnostics(e);
_writeFragmentReference(e.firstFragment, label: 'firstFragment');
@@ -1129,6 +1105,8 @@
_writeFragmentReference(f.previousFragment, label: 'previousFragment');
_writeFragmentReference(f.nextFragment, label: 'nextFragment');
+ _writeElements(
+ 'typeParameters', f.typeParameters2, _writeTypeParameterFragment);
_writeElements('fields', f.fields2, _writeFieldFragment);
if (f is InterfaceFragment) {
var constructors = f.constructors2;
@@ -1505,7 +1483,8 @@
_writeSinceSdkVersion(e.sinceSdkVersion);
// _writeTypeInferenceError(e);
- // _writeTypeParameterElements(e.typeParameters2);
+ _writeElements(
+ 'typeParameters', e.typeParameters2, _writeTypeParameterElement);
_writeElements('parameters', e.parameters2, _writeFormalParameterElement);
// _writeReturnType(e.returnType);
// _writeNonSyntheticElement(e);
@@ -1544,7 +1523,8 @@
_writeFragmentCodeRange(f);
// _writeTypeInferenceError(f);
- // _writeTypeParameterElements(f.typeParameters);
+ _writeElements(
+ 'typeParameters', f.typeParameters2, _writeTypeParameterFragment);
_writeElements(
'parameters', f.parameters2, _writeFormalParameterFragment);
// _writeReturnType(f.returnType);
@@ -1819,6 +1799,56 @@
// }
// }
}
+
+ void _writeTypeParameterElement(TypeParameterElement2 e) {
+ _sink.writeIndentedLine(() {
+ // _sink.write('${e.variance.name} ');
+ _writeElementName(e);
+ });
+
+ _sink.withIndent(() {
+ _writeCodeRange(e);
+
+ var bound = e.bound;
+ if (bound != null) {
+ _writeType('bound', bound);
+ }
+
+ // var defaultType = e.defaultType;
+ // if (defaultType != null) {
+ // _writeType('defaultType', defaultType);
+ // }
+
+ _writeMetadata(e.metadata);
+ });
+
+ _assertNonSyntheticElementSelf(e);
+ }
+
+ void _writeTypeParameterFragment(TypeParameterFragment f) {
+ _sink.writeIndentedLine(() {
+ // _sink.write('${e.variance.name} ');
+ _writeFragmentName(f);
+ });
+
+ _sink.withIndent(() {
+ // _writeCodeRange(e);
+
+ // var bound = e.bound;
+ // if (bound != null) {
+ // _writeType('bound', bound);
+ // }
+
+ // var defaultType = e.defaultType;
+ // if (defaultType != null) {
+ // _writeType('defaultType', defaultType);
+ // }
+
+ _writeMetadata(f.metadata);
+ });
+
+ // _assertNonSyntheticElementSelf(f);
+ }
}
/// Writes the canonical text presentation of elements.
diff --git a/pkg/analyzer/test/src/summary/elements/class_test.dart b/pkg/analyzer/test/src/summary/elements/class_test.dart
index 23423d8..308b534 100644
--- a/pkg/analyzer/test/src/summary/elements/class_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/class_test.dart
@@ -310,6 +310,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
new @16
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -318,6 +321,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
new
@@ -2396,6 +2402,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2404,6 +2413,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -3247,6 +3259,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3302,6 +3316,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -5700,6 +5716,8 @@
substitution: {T: String}
class B @76
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @78
constructors
new @95
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -5735,6 +5753,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: A
constructors
@@ -6133,6 +6153,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
factory new @26
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -6147,6 +6170,9 @@
nameEnd: 52
class D @64
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @66
+ U @69
constructors
named @94
reference: <testLibraryFragment>::@class::D::@constructor::named
@@ -6160,6 +6186,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -6172,6 +6201,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::D
supertype: C<U, T>
constructors
@@ -6257,6 +6289,9 @@
classes
class B @33
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @35
+ U @38
constructors
factory new @53
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -6271,6 +6306,9 @@
nameEnd: 79
class C @91
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @93
+ U @96
constructors
named @121
reference: <testLibraryFragment>::@class::C::@constructor::named
@@ -6281,6 +6319,9 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::B
constructors
factory new
@@ -6293,6 +6334,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
supertype: C<U, T>
alias: <testLibraryFragment>::@typeAlias::A
@@ -6445,6 +6489,9 @@
classes
class C @25
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @27
+ U @30
constructors
factory new @45
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -6461,6 +6508,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -6638,6 +6688,9 @@
classes
class C @32
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @34
+ U @37
constructors
factory new @52
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -6654,6 +6707,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -6698,6 +6754,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ E @8
constructors
factory new @23
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -6706,6 +6764,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -6760,6 +6820,8 @@
enclosingFragment: <testLibraryFragment>::@class::D
class C @17
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ E @19
constructors
factory new @34
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -6776,6 +6838,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -6937,6 +7001,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
factory new @26
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -6951,6 +7018,9 @@
nameEnd: 46
class D @58
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @60
+ U @63
constructors
new @86
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -6962,6 +7032,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -6974,6 +7047,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::D
supertype: C<U, T>
constructors
@@ -7053,6 +7129,9 @@
classes
class B @33
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @35
+ U @38
constructors
factory new @53
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -7066,6 +7145,9 @@
enclosingFragment: <testLibraryFragment>::@class::B
class C @84
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @86
+ U @89
constructors
new @112
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -7074,6 +7156,9 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::B
constructors
factory new
@@ -7087,6 +7172,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
supertype: B<U, T>
constructors
@@ -7235,6 +7323,9 @@
classes
class C @25
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @27
+ U @30
constructors
factory new @45
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -7251,6 +7342,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -7508,6 +7602,9 @@
classes
class C @32
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @34
+ U @37
constructors
factory new @52
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -7524,6 +7621,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -7661,6 +7761,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ E @8
constructors
factory new @23
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -7669,6 +7771,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -7910,6 +8014,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
const named @23
reference: <testLibraryFragment>::@class::C::@constructor::named
@@ -7936,6 +8042,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
const named
@@ -8132,6 +8240,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -8153,6 +8263,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
const new
@@ -8278,6 +8390,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
named @17
reference: <testLibraryFragment>::@class::A::@constructor::named
@@ -8297,6 +8411,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
named
@@ -10879,6 +10995,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -10902,6 +11020,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -19064,6 +19184,9 @@
f @12
reference: <testLibraryFragment>::@class::C::@method::f
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ T @14
+ U @17
parameters
u @22
classes
@@ -19078,6 +19201,9 @@
methods
f
reference: <none>
+ typeParameters
+ T
+ U
parameters
requiredPositional u
reference: <none>
@@ -19137,6 +19263,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -19145,6 +19274,9 @@
f @20
reference: <testLibraryFragment>::@class::C::@method::f
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ V @22
+ W @25
parameters
t @30
u @35
@@ -19153,6 +19285,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -19161,6 +19296,9 @@
methods
f
reference: <none>
+ typeParameters
+ V
+ W
parameters
requiredPositional t
reference: <none>
@@ -19224,6 +19362,9 @@
f @15
reference: <testLibraryFragment>::@class::C::@method::f
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ T @17
+ U @20
parameters
x @25
classes
@@ -19238,6 +19379,9 @@
methods
f
reference: <none>
+ typeParameters
+ T
+ U
parameters
requiredPositional x
reference: <none>
@@ -19686,12 +19830,16 @@
enclosingFragment: <testLibraryFragment>::@class::A
class B @61
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ B1 @63
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::B
class C @76
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ C1 @78
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -19718,6 +19866,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ B1
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -19726,6 +19876,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ C1
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -19781,6 +19933,8 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @8
classes
class A
reference: <testLibraryFragment>::@class::A
@@ -19795,6 +19949,8 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
@@ -19848,6 +20004,8 @@
classes
class A @30
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @32
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -19861,6 +20019,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
supertype: Object
constructors
@@ -20008,6 +20168,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20016,6 +20178,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20067,6 +20232,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20075,6 +20242,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20116,6 +20286,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20124,6 +20296,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<dynamic>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20175,12 +20350,16 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::C
class D @30
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @32
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -20189,6 +20368,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<dynamic>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20197,6 +20379,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<dynamic>
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -20322,12 +20507,16 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::C
class D @30
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @32
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -20336,6 +20525,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<dynamic>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20344,6 +20536,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<dynamic>
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -20394,12 +20589,16 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::C
class D @33
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @35
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -20408,6 +20607,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20416,6 +20618,8 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -20469,12 +20673,16 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::C
class D @39
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @41
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -20483,6 +20691,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<dynamic>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20491,6 +20702,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<T>
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -20530,6 +20744,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20538,6 +20754,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: void Function(T)
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20577,6 +20796,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20585,6 +20806,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: T Function()
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20624,6 +20848,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20632,6 +20858,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: void Function()
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20693,6 +20922,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20701,6 +20932,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20740,6 +20974,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20748,6 +20984,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<dynamic>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20843,12 +21082,16 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::C
class D @30
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @32
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -20857,6 +21100,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: D<dynamic>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -20865,6 +21111,8 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -20905,6 +21153,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -20913,6 +21163,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -24048,6 +24300,9 @@
substitution: {T1: int, T2: double}
class D @40
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T1 @42
+ T2 @46
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -24066,6 +24321,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
+ T2
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -24106,12 +24364,16 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
class B @20
reference: <testLibraryFragment>::@class::B
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
class B
reference: <testLibraryFragment>::@class::B
@@ -24163,6 +24425,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24180,6 +24444,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24228,6 +24494,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24236,6 +24504,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24315,6 +24585,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -24323,6 +24596,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -24373,6 +24649,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @26
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -24387,6 +24666,11 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: Object
+ U
+ bound: D
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -24432,6 +24716,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -24440,6 +24726,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -24484,6 +24773,10 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @21
+ V @24
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -24492,6 +24785,12 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
+ U
+ V
+ bound: dynamic
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -24531,6 +24830,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24539,6 +24840,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: void Function(A<dynamic>)
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24578,6 +24882,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -24586,6 +24892,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: void Function<U extends C<dynamic>>()
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -24645,6 +24954,8 @@
classes
class A @40
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @42
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24653,6 +24964,12 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: void Function(X)
+ alias: <testLibraryFragment>::@typeAlias::F
+ typeArguments
+ X
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24709,6 +25026,8 @@
classes
class A @36
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @38
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24717,6 +25036,12 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: X Function()
+ alias: <testLibraryFragment>::@typeAlias::F
+ typeArguments
+ X
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24776,6 +25101,8 @@
classes
class A @37
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @39
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24784,6 +25111,12 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: X Function(X)
+ alias: <testLibraryFragment>::@typeAlias::F
+ typeArguments
+ X
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24843,6 +25176,8 @@
classes
class A @37
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @39
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24851,6 +25186,12 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: X Function(X)
+ alias: <testLibraryFragment>::@typeAlias::F
+ typeArguments
+ X
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24890,6 +25231,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24898,6 +25241,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: X Function(X)
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24937,6 +25283,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24945,6 +25293,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: void Function(X)
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -24984,6 +25335,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -24992,6 +25345,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: X Function()
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -25031,6 +25387,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ X @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -25039,6 +25397,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: X Function()
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -25093,6 +25454,8 @@
classes
class B @46
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ X @48
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -25101,6 +25464,12 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: List<void Function(X)>
+ alias: <testLibraryFragment>::@typeAlias::A
+ typeArguments
+ X
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -25155,6 +25524,8 @@
classes
class B @35
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ X @37
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -25163,6 +25534,12 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: Map<X, int>
+ alias: <testLibraryFragment>::@typeAlias::A
+ typeArguments
+ X
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -25202,6 +25579,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @27
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -25210,6 +25590,10 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: List<U>
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -25249,6 +25633,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @21
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -25257,6 +25644,10 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: U
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -25293,6 +25684,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -25301,6 +25694,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -25337,6 +25732,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @12
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -25345,6 +25742,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -25381,6 +25780,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @14
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -25389,6 +25790,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -25429,6 +25832,10 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @14
+ U @20
+ V @27
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -25437,6 +25844,10 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
+ V
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -26582,12 +26993,16 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
new @27
reference: <testLibraryFragment>::@class::A::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::A
class B @61
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ E @63
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -26618,6 +27033,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
firstFragment: <testLibraryFragment>::@class::A
constructors
new
@@ -26633,6 +27051,9 @@
class alias B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ E
+ bound: num
firstFragment: <testLibraryFragment>::@class::B
supertype: A<E>
constructors
@@ -27166,12 +27587,16 @@
enclosingFragment: <testLibraryFragment>::@class::A
class B @53
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ B1 @55
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::B
class C @68
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ C1 @70
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -27198,6 +27623,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ B1
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -27206,6 +27633,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ C1
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -27597,6 +28026,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -27625,6 +28056,9 @@
class alias C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<dynamic>
firstFragment: <testLibraryFragment>::@class::C
supertype: D
constructors
@@ -27710,6 +28144,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -27738,6 +28174,8 @@
class alias C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
supertype: D
constructors
@@ -28610,6 +29048,8 @@
classes
class Base @6
reference: <testLibraryFragment>::@class::Base
+ typeParameters
+ T @11
constructors
ctor @23
reference: <testLibraryFragment>::@class::Base::@constructor::ctor
@@ -28656,6 +29096,8 @@
class Base
reference: <testLibraryFragment>::@class::Base
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::Base
constructors
ctor
@@ -28786,6 +29228,8 @@
classes
class Base @6
reference: <testLibraryFragment>::@class::Base
+ typeParameters
+ T @11
constructors
ctor @23
reference: <testLibraryFragment>::@class::Base::@constructor::ctor
@@ -28800,6 +29244,8 @@
enclosingFragment: <testLibraryFragment>::@class::M
class MixinApp @64
reference: <testLibraryFragment>::@class::MixinApp
+ typeParameters
+ U @73
constructors
synthetic ctor @-1
reference: <testLibraryFragment>::@class::MixinApp::@constructor::ctor
@@ -28832,6 +29278,8 @@
class Base
reference: <testLibraryFragment>::@class::Base
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::Base
constructors
ctor
@@ -28855,6 +29303,8 @@
class alias MixinApp
reference: <testLibraryFragment>::@class::MixinApp
enclosingElement2: <testLibrary>
+ typeParameters
+ U
firstFragment: <testLibraryFragment>::@class::MixinApp
supertype: Base<List<U>>
constructors
@@ -29610,6 +30060,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -29651,6 +30103,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -31483,12 +31937,16 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T1 @23
<testLibrary>::@fragment::package:test/a.dart
previousFragment: <testLibraryFragment>
classes
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
constructors
named @47
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A::@constructor::named
@@ -31499,6 +31957,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@class::A
constructors
named
@@ -34180,6 +34640,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T1 @23
fields
foo1 @34
reference: <testLibraryFragment>::@class::A::@field::foo1
@@ -34206,6 +34668,8 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
fields
foo2 @48
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A::@field::foo2
@@ -34226,6 +34690,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@class::A
fields
foo1
@@ -35171,6 +35637,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T1 @23
fields
foo1 @-1
reference: <testLibraryFragment>::@class::A::@field::foo1
@@ -35190,6 +35658,8 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
fields
foo2 @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A::@field::foo2
@@ -35203,6 +35673,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@class::A
fields
synthetic foo1
@@ -36601,6 +37073,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -36617,8 +37091,12 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
class I2 @68
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
+ typeParameters
+ E @71
constructors
synthetic new @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2::@constructor::new
@@ -36627,6 +37105,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -36643,6 +37123,8 @@
class I2
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@class::I2
constructors
synthetic new
@@ -36740,6 +37222,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -36756,8 +37240,13 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
+ T3 @41
class I2 @72
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
+ typeParameters
+ E @75
constructors
synthetic new @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2::@constructor::new
@@ -36766,6 +37255,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -36782,6 +37273,8 @@
class I2
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@class::I2
constructors
synthetic new
@@ -38158,6 +38651,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -38172,6 +38667,8 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
methods
bar @48
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A::@method::bar
@@ -38180,6 +38677,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -38277,6 +38776,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -38292,6 +38793,8 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T2 @37
methods
augment foo @56
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A::@methodAugmentation::foo
@@ -38301,6 +38804,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -38573,6 +39078,8 @@
classes
class B @36
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ S @38
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -38580,6 +39087,8 @@
class A @50
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T1 @52
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -38590,6 +39099,8 @@
mixins
mixin M1 @87
reference: <testLibraryFragment>::@mixin::M1
+ typeParameters
+ U1 @90
<testLibrary>::@fragment::package:test/a.dart
previousFragment: <testLibraryFragment>
nextFragment: <testLibrary>::@fragment::package:test/b.dart
@@ -38598,22 +39109,32 @@
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/b.dart::@classAugmentation::A
+ typeParameters
+ T2 @37
mixins
mixin M2 @58
reference: <testLibrary>::@fragment::package:test/a.dart::@mixin::M2
+ typeParameters
+ U2 @61
<testLibrary>::@fragment::package:test/b.dart
previousFragment: <testLibrary>::@fragment::package:test/a.dart
classes
class A @35
reference: <testLibrary>::@fragment::package:test/b.dart::@classAugmentation::A
previousFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T3 @37
mixins
mixin M3 @58
reference: <testLibrary>::@fragment::package:test/b.dart::@mixin::M3
+ typeParameters
+ U3 @61
classes
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ S
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -38622,6 +39143,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@class::A
supertype: B<T1>
constructors
@@ -38633,18 +39156,24 @@
mixin M1
reference: <testLibraryFragment>::@mixin::M1
enclosingElement2: <testLibrary>
+ typeParameters
+ U1
firstFragment: <testLibraryFragment>::@mixin::M1
superclassConstraints
B<U1>
mixin M2
reference: <testLibrary>::@fragment::package:test/a.dart::@mixin::M2
enclosingElement2: <testLibrary>
+ typeParameters
+ U2
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@mixin::M2
superclassConstraints
M1<U2>
mixin M3
reference: <testLibrary>::@fragment::package:test/b.dart::@mixin::M3
enclosingElement2: <testLibrary>
+ typeParameters
+ U3
firstFragment: <testLibrary>::@fragment::package:test/b.dart::@mixin::M3
superclassConstraints
M2<U3>
@@ -40868,6 +41397,8 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T @37
methods
augment foo @57
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A::@methodAugmentation::foo
@@ -41641,6 +42172,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -41651,10 +42184,15 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T @37
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: A<dynamic>
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -41739,6 +42277,8 @@
classes
class A @21
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -41746,6 +42286,8 @@
class B @35
reference: <testLibraryFragment>::@class::B
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::B
+ typeParameters
+ T1 @37
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -41759,10 +42301,14 @@
class B @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::B
previousFragment: <testLibraryFragment>::@class::B
+ typeParameters
+ T2 @37
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -41771,6 +42317,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@class::B
supertype: A<T1>
constructors
@@ -42010,6 +42558,8 @@
class A @21
reference: <testLibraryFragment>::@class::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -42026,10 +42576,15 @@
class A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@classAugmentation::A
previousFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T @37
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: B
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/const_test.dart b/pkg/analyzer/test/src/summary/elements/const_test.dart
index 742e017..71a84c7 100644
--- a/pkg/analyzer/test/src/summary/elements/const_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/const_test.dart
@@ -575,6 +575,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
fields
t @23
reference: <testLibraryFragment>::@class::C::@field::t
@@ -613,6 +615,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
fields
final t
@@ -1266,12 +1270,16 @@
classes
class P @6
reference: <testLibraryFragment>::@class::P
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::P::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::P
class P1 @35
reference: <testLibraryFragment>::@class::P1
+ typeParameters
+ T @38
constructors
const new @64
reference: <testLibraryFragment>::@class::P1::@constructor::new
@@ -1281,6 +1289,8 @@
substitution: {T: T}
class P2 @79
reference: <testLibraryFragment>::@class::P2
+ typeParameters
+ T @82
constructors
const new @108
reference: <testLibraryFragment>::@class::P2::@constructor::new
@@ -1301,6 +1311,8 @@
class P
reference: <testLibraryFragment>::@class::P
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::P
constructors
const new
@@ -1309,6 +1321,8 @@
class P1
reference: <testLibraryFragment>::@class::P1
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::P1
supertype: P<T>
constructors
@@ -1319,6 +1333,8 @@
class P2
reference: <testLibraryFragment>::@class::P2
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::P2
supertype: P<T>
constructors
@@ -2548,6 +2564,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ K @8
+ V @11
constructors
const named @26
reference: <testLibraryFragment>::@class::C::@constructor::named
@@ -2567,6 +2586,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::C
constructors
const named
@@ -2886,6 +2908,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ K @8
+ V @11
constructors
const new @24
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2903,6 +2928,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::C
constructors
const new
@@ -3001,6 +3029,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
fields
t @23
reference: <testLibraryFragment>::@class::A::@field::t
@@ -3027,6 +3057,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
fields
final t
@@ -3136,6 +3168,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ K @8
+ V @11
constructors
const new @24
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -3153,6 +3188,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::C
constructors
const new
@@ -4217,6 +4255,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -4234,6 +4274,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -9147,6 +9189,8 @@
enclosingFragment: <testLibraryFragment>::@class::C
class D @17
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @19
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -9251,6 +9295,8 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -9819,6 +9865,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
fields
f @21
reference: <testLibraryFragment>::@class::C::@field::f
@@ -9836,6 +9884,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
fields
final f
diff --git a/pkg/analyzer/test/src/summary/elements/default_value_test.dart b/pkg/analyzer/test/src/summary/elements/default_value_test.dart
index e4d9606..3264f9a 100644
--- a/pkg/analyzer/test/src/summary/elements/default_value_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/default_value_test.dart
@@ -63,6 +63,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -78,6 +80,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -311,6 +315,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -332,6 +338,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -783,6 +791,9 @@
classes
class B @6
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T1 @8
+ T2 @12
constructors
const new @26
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -803,6 +814,9 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
+ T2
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -890,12 +904,16 @@
classes
class B @6
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::B::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::B
class C @34
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @36
constructors
const new @49
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -904,6 +922,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -912,6 +932,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
const new
@@ -1002,18 +1024,24 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @17
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::A
class B @29
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @31
constructors
const new @60
reference: <testLibraryFragment>::@class::B::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::B
class C @73
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @75
constructors
const new @114
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1022,6 +1050,8 @@
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -1030,6 +1060,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -1038,6 +1070,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
const new
@@ -1109,6 +1143,8 @@
classes
class B @6
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -1117,6 +1153,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -1193,6 +1231,8 @@
classes
class B @6
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -1207,12 +1247,16 @@
foo @45
reference: <testLibraryFragment>::@class::C::@method::foo
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ T @49
parameters
default b @58
classes
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -1229,6 +1273,8 @@
methods
foo
reference: <none>
+ typeParameters
+ T
parameters
optionalPositional b
reference: <none>
@@ -1310,12 +1356,17 @@
classes
class B @6
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T1 @8
+ T2 @12
constructors
const new @26
reference: <testLibraryFragment>::@class::B::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::B
class C @39
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ E1 @41
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1324,12 +1375,17 @@
foo @54
reference: <testLibraryFragment>::@class::C::@method::foo
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ E2 @58
parameters
default b @73
classes
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
+ T2
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -1338,6 +1394,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ E1
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -1346,6 +1404,8 @@
methods
foo
reference: <none>
+ typeParameters
+ E2
parameters
optionalPositional b
reference: <none>
@@ -1422,12 +1482,16 @@
classes
class B @6
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::B::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::B
class C @34
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @36
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1442,6 +1506,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
const new
@@ -1450,6 +1516,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/enum_test.dart b/pkg/analyzer/test/src/summary/elements/enum_test.dart
index dbe5ccb..b8b3b28 100644
--- a/pkg/analyzer/test/src/summary/elements/enum_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/enum_test.dart
@@ -355,6 +355,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
enumConstant int @14
reference: <testLibraryFragment>::@enum::E::@field::int
@@ -386,6 +388,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -650,6 +654,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
enumConstant v @14
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -674,6 +680,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -2649,6 +2657,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
enumConstant v @14
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -2705,6 +2715,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -3689,6 +3701,8 @@
classes
class I @6
reference: <testLibraryFragment>::@class::I
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::I::@constructor::new
@@ -3696,6 +3710,8 @@
enums
enum E @19
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ U @21
fields
enumConstant v @44
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -3720,6 +3736,8 @@
class I
reference: <testLibraryFragment>::@class::I
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::I
constructors
synthetic new
@@ -3729,6 +3747,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ U
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -4026,6 +4046,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
enumConstant v @14
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -4050,6 +4072,8 @@
foo @23
reference: <testLibraryFragment>::@enum::E::@method::foo
enclosingFragment: <testLibraryFragment>::@enum::E
+ typeParameters
+ U @27
parameters
t @32
u @37
@@ -4057,6 +4081,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -4088,6 +4114,8 @@
methods
foo
reference: <none>
+ typeParameters
+ U
parameters
requiredPositional t
reference: <none>
@@ -4667,8 +4695,12 @@
mixins
mixin M1 @6
reference: <testLibraryFragment>::@mixin::M1
+ typeParameters
+ T @9
mixin M2 @21
reference: <testLibraryFragment>::@mixin::M2
+ typeParameters
+ T @24
enums
enum E
reference: <testLibraryFragment>::@enum::E
@@ -4705,12 +4737,16 @@
mixin M1
reference: <testLibraryFragment>::@mixin::M1
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M1
superclassConstraints
Object
mixin M2
reference: <testLibraryFragment>::@mixin::M2
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M2
superclassConstraints
M1<T>
@@ -4956,6 +4992,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
enumConstant v @14
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -4980,6 +5018,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5091,6 +5131,9 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
+ U @22
fields
enumConstant v @39
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -5115,6 +5158,11 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
+ U
+ bound: T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5193,6 +5241,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5210,6 +5260,9 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5284,6 +5337,10 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
+ U @20
+ V @35
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5301,6 +5358,13 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
+ U
+ bound: num
+ V
+ bound: dynamic
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5369,6 +5433,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @7
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5386,6 +5452,9 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: void Function(E<dynamic>)
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5453,6 +5522,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @10
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5470,6 +5541,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5537,6 +5610,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @11
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5554,6 +5629,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5621,6 +5698,8 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @13
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5638,6 +5717,8 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -5709,6 +5790,10 @@
enums
enum E @5
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @13
+ U @19
+ V @26
fields
values @-1
reference: <testLibraryFragment>::@enum::E::@field::values
@@ -5726,6 +5811,10 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
+ V
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -8076,6 +8165,16 @@
enums
enum E @26
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @33
+ metadata
+ Annotation
+ atSign: @ @28
+ name: SimpleIdentifier
+ token: foo @29
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
fields
enumConstant v @40
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -8128,6 +8227,16 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @28
+ name: SimpleIdentifier
+ token: foo @29
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -8293,6 +8402,16 @@
enums
enum E @19
reference: <testLibraryFragment>::@enum::E
+ typeParameters
+ T @24
+ metadata
+ Annotation
+ atSign: @ @21
+ name: SimpleIdentifier
+ token: a @22
+ staticElement: <testLibraryFragment>::@getter::a
+ staticType: null
+ element: <testLibraryFragment>::@getter::a
fields
enumConstant v @31
reference: <testLibraryFragment>::@enum::E::@field::v
@@ -8326,6 +8445,16 @@
enum E
reference: <testLibraryFragment>::@enum::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @21
+ name: SimpleIdentifier
+ token: a @22
+ staticElement: <testLibraryFragment>::@getter::a
+ staticType: null
+ element: <testLibraryFragment>::@getter::a
firstFragment: <testLibraryFragment>::@enum::E
supertype: Enum
fields
@@ -10966,6 +11095,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T @36
fields
enumConstant v @51
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A::@fieldAugmentation::v
@@ -11268,6 +11399,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T1 @22
fields
enumConstant v @30
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -11290,6 +11423,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
constructors
const named @53
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A::@constructor::named
@@ -11300,6 +11435,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -14207,6 +14344,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T1 @22
fields
enumConstant v @30
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -14240,6 +14379,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
fields
foo2 @54
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A::@field::foo2
@@ -14253,6 +14394,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -15063,6 +15206,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T1 @22
fields
enumConstant v @30
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -15096,6 +15241,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
fields
foo2 @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A::@field::foo2
@@ -15109,6 +15256,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -17090,6 +17239,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T @22
fields
enumConstant v @43
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -17115,6 +17266,8 @@
classes
class I2 @67
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
+ typeParameters
+ E @70
constructors
synthetic new @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2::@constructor::new
@@ -17123,6 +17276,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
classes
class I1
reference: <testLibraryFragment>::@class::I1
@@ -17135,6 +17290,8 @@
class I2
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@class::I2
constructors
synthetic new
@@ -17144,6 +17301,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -17304,6 +17463,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T @22
fields
enumConstant v @43
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -17329,6 +17490,8 @@
classes
class I2 @71
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
+ typeParameters
+ E @74
constructors
synthetic new @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2::@constructor::new
@@ -17337,6 +17500,9 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
+ T3 @40
classes
class I1
reference: <testLibraryFragment>::@class::I1
@@ -17349,6 +17515,8 @@
class I2
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@class::I2
constructors
synthetic new
@@ -17358,6 +17526,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -18687,6 +18857,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T @22
fields
enumConstant v @29
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -18717,6 +18889,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
methods
bar @48
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A::@method::bar
@@ -18725,6 +18899,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -18875,6 +19051,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T @22
fields
enumConstant v @29
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -18906,6 +19084,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T2 @36
methods
augment foo @56
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A::@methodAugmentation::foo
@@ -18915,6 +19095,8 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -19295,6 +19477,8 @@
enum A @35
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T1 @37
fields
enumConstant v @57
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -19318,6 +19502,8 @@
mixins
mixin M1 @74
reference: <testLibraryFragment>::@mixin::M1
+ typeParameters
+ U1 @77
<testLibrary>::@fragment::package:test/a.dart
previousFragment: <testLibraryFragment>
nextFragment: <testLibrary>::@fragment::package:test/b.dart
@@ -19326,22 +19512,32 @@
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/b.dart::@enumAugmentation::A
+ typeParameters
+ T2 @36
mixins
mixin M2 @57
reference: <testLibrary>::@fragment::package:test/a.dart::@mixin::M2
+ typeParameters
+ U2 @60
<testLibrary>::@fragment::package:test/b.dart
previousFragment: <testLibrary>::@fragment::package:test/a.dart
enums
enum A @34
reference: <testLibrary>::@fragment::package:test/b.dart::@enumAugmentation::A
previousFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T3 @36
mixins
mixin M3 @57
reference: <testLibrary>::@fragment::package:test/b.dart::@mixin::M3
+ typeParameters
+ U3 @60
enums
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
@@ -19374,18 +19570,24 @@
mixin M1
reference: <testLibraryFragment>::@mixin::M1
enclosingElement2: <testLibrary>
+ typeParameters
+ U1
firstFragment: <testLibraryFragment>::@mixin::M1
superclassConstraints
Object
mixin M2
reference: <testLibrary>::@fragment::package:test/a.dart::@mixin::M2
enclosingElement2: <testLibrary>
+ typeParameters
+ U2
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@mixin::M2
superclassConstraints
M1<U2>
mixin M3
reference: <testLibrary>::@fragment::package:test/b.dart::@mixin::M3
enclosingElement2: <testLibrary>
+ typeParameters
+ U3
firstFragment: <testLibrary>::@fragment::package:test/b.dart::@mixin::M3
superclassConstraints
M2<U3>
@@ -21925,6 +22127,8 @@
enum A @20
reference: <testLibraryFragment>::@enum::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
+ typeParameters
+ T @22
fields
enumConstant v @39
reference: <testLibraryFragment>::@enum::A::@field::v
@@ -21951,6 +22155,8 @@
enum A @34
reference: <testLibrary>::@fragment::package:test/a.dart::@enumAugmentation::A
previousFragment: <testLibraryFragment>::@enum::A
+ typeParameters
+ T @36
classes
class B
reference: <testLibraryFragment>::@class::B
@@ -21964,6 +22170,9 @@
enum A
reference: <testLibraryFragment>::@enum::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: B
firstFragment: <testLibraryFragment>::@enum::A
supertype: Enum
fields
diff --git a/pkg/analyzer/test/src/summary/elements/extension_test.dart b/pkg/analyzer/test/src/summary/elements/extension_test.dart
index 7a94b48..85d7a88 100644
--- a/pkg/analyzer/test/src/summary/elements/extension_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/extension_test.dart
@@ -151,10 +151,15 @@
extensions
extension E @10
reference: <testLibraryFragment>::@extension::E
+ typeParameters
+ T @12
extensions
extension E
reference: <testLibraryFragment>::@extension::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
firstFragment: <testLibraryFragment>::@extension::E
''');
}
@@ -186,10 +191,14 @@
extensions
extension E @10
reference: <testLibraryFragment>::@extension::E
+ typeParameters
+ T @12
extensions
extension E
reference: <testLibraryFragment>::@extension::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extension::E
''');
}
@@ -287,6 +296,16 @@
extensions
extension E @31
reference: <testLibraryFragment>::@extension::E
+ typeParameters
+ T @38
+ metadata
+ Annotation
+ atSign: @ @33
+ name: SimpleIdentifier
+ token: foo @34
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
fields
foo @65
reference: <testLibraryFragment>::@extension::E::@field::foo
@@ -321,6 +340,16 @@
extension E
reference: <testLibraryFragment>::@extension::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @33
+ name: SimpleIdentifier
+ token: foo @34
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@extension::E
fields
static const foo
@@ -2318,6 +2347,8 @@
extension A @25
reference: <testLibraryFragment>::@extension::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
+ typeParameters
+ T1 @27
fields
foo1 @-1
reference: <testLibraryFragment>::@extension::A::@field::foo1
@@ -2333,6 +2364,8 @@
extension A @39
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
previousFragment: <testLibraryFragment>::@extension::A
+ typeParameters
+ T2 @41
fields
foo2 @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A::@field::foo2
@@ -2346,6 +2379,8 @@
extension A
reference: <testLibraryFragment>::@extension::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@extension::A
fields
synthetic foo1
@@ -3473,6 +3508,8 @@
extension A @25
reference: <testLibraryFragment>::@extension::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
+ typeParameters
+ T @27
methods
foo @43
reference: <testLibraryFragment>::@extension::A::@method::foo
@@ -3483,6 +3520,8 @@
extension A @39
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
previousFragment: <testLibraryFragment>::@extension::A
+ typeParameters
+ T2 @41
methods
bar @52
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A::@method::bar
@@ -3491,6 +3530,8 @@
extension A
reference: <testLibraryFragment>::@extension::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extension::A
methods
foo
@@ -3579,6 +3620,8 @@
extension A @25
reference: <testLibraryFragment>::@extension::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
+ typeParameters
+ T @27
methods
foo @43
reference: <testLibraryFragment>::@extension::A::@method::foo
@@ -3590,6 +3633,8 @@
extension A @39
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
previousFragment: <testLibraryFragment>::@extension::A
+ typeParameters
+ T2 @41
methods
augment foo @60
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A::@methodAugmentation::foo
@@ -3599,6 +3644,8 @@
extension A
reference: <testLibraryFragment>::@extension::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extension::A
methods
foo
@@ -3701,6 +3748,8 @@
extension A @39
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A
previousFragment: <testLibraryFragment>::@extension::A
+ typeParameters
+ T @41
methods
augment foo @61
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionAugmentation::A::@methodAugmentation::foo
diff --git a/pkg/analyzer/test/src/summary/elements/extension_type_test.dart b/pkg/analyzer/test/src/summary/elements/extension_type_test.dart
index e613b6c..c98f069 100644
--- a/pkg/analyzer/test/src/summary/elements/extension_type_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/extension_type_test.dart
@@ -1842,6 +1842,8 @@
extensionTypes
extension type A @15
reference: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T @17
fields
it @22
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -1855,6 +1857,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: T
fields
@@ -2514,6 +2518,8 @@
extensionTypes
extension type A @15
reference: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T @17
fields
it @34
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -2527,6 +2533,9 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: A<dynamic>
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -3119,6 +3128,8 @@
extensionTypes
extension type A @15
reference: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T @17
fields
it @22
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -3143,6 +3154,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: T
fields
@@ -3410,6 +3423,9 @@
extensionTypes
extension type A @15
reference: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T @17
+ U @32
fields
it @45
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -3427,6 +3443,10 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
+ U
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: Map<T, U>
fields
@@ -4031,6 +4051,8 @@
extension type A @30
reference: <testLibraryFragment>::@extensionType::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
+ typeParameters
+ T1 @32
fields
it @40
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -4050,6 +4072,8 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T2 @46
constructors
named @64
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A::@constructor::named
@@ -4060,6 +4084,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -6188,6 +6214,8 @@
extension type A @30
reference: <testLibraryFragment>::@extensionType::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
+ typeParameters
+ T1 @32
fields
it @40
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -6214,6 +6242,8 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T2 @46
fields
foo2 @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A::@field::foo2
@@ -6227,6 +6257,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -7877,6 +7909,8 @@
extension type A @30
reference: <testLibraryFragment>::@extensionType::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
+ typeParameters
+ T @32
fields
it @39
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -7911,8 +7945,12 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T2 @46
extension type I2 @94
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2
+ typeParameters
+ E @97
fields
it @104
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2::@field::it
@@ -7930,6 +7968,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -7980,6 +8020,8 @@
extension type I2
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2
typeErasure: int
fields
@@ -8149,6 +8191,8 @@
extension type A @30
reference: <testLibraryFragment>::@extensionType::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
+ typeParameters
+ T @32
fields
it @39
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -8183,8 +8227,13 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T2 @46
+ T3 @50
extension type I2 @98
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2
+ typeParameters
+ E @101
fields
it @108
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2::@field::it
@@ -8202,6 +8251,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -8252,6 +8303,8 @@
extension type I2
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionType::I2
typeErasure: int
fields
@@ -8906,6 +8959,8 @@
extension type A @30
reference: <testLibraryFragment>::@extensionType::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
+ typeParameters
+ T @32
fields
it @39
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -8929,6 +8984,8 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T2 @46
methods
bar @65
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A::@method::bar
@@ -8937,6 +8994,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -9072,6 +9131,8 @@
extension type A @30
reference: <testLibraryFragment>::@extensionType::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
+ typeParameters
+ T @32
fields
it @39
reference: <testLibraryFragment>::@extensionType::A::@field::it
@@ -9096,6 +9157,8 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T2 @46
methods
augment foo @73
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A::@methodAugmentation::foo
@@ -9105,6 +9168,8 @@
extension type A
reference: <testLibraryFragment>::@extensionType::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extensionType::A
typeErasure: int
fields
@@ -9267,6 +9332,8 @@
extension type A @44
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A
previousFragment: <testLibraryFragment>::@extensionType::A
+ typeParameters
+ T @46
methods
augment foo @74
reference: <testLibrary>::@fragment::package:test/a.dart::@extensionTypeAugmentation::A::@methodAugmentation::foo
diff --git a/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart b/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart
index 0da12fd..38e54ca 100644
--- a/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/formal_parameter_test.dart
@@ -309,6 +309,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -321,6 +323,8 @@
t @34
class B @48
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @50
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -338,6 +342,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -354,6 +360,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: A<T>
constructors
@@ -610,6 +618,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ A @8
+ B @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -624,6 +635,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ A
+ B
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart b/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart
index 6916b9a..d93566e 100644
--- a/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/function_type_annotation_test.dart
@@ -489,6 +489,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -503,6 +505,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -614,6 +618,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -680,6 +686,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -804,6 +812,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -821,6 +831,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -935,6 +947,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -952,6 +966,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -1066,6 +1082,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -1083,6 +1101,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -1191,6 +1211,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -1208,6 +1230,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -1257,10 +1281,15 @@
mixins
mixin B @6
reference: <testLibraryFragment>::@mixin::B
+ typeParameters
+ X @8
mixins
mixin B
reference: <testLibraryFragment>::@mixin::B
enclosingElement2: <testLibrary>
+ typeParameters
+ X
+ bound: void Function()
firstFragment: <testLibraryFragment>::@mixin::B
superclassConstraints
Object
@@ -1325,6 +1354,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -1352,6 +1383,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/metadata_test.dart b/pkg/analyzer/test/src/summary/elements/metadata_test.dart
index 51d697e..338db11 100644
--- a/pkg/analyzer/test/src/summary/elements/metadata_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/metadata_test.dart
@@ -637,6 +637,16 @@
classes
class C @27
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @34
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
fields
foo @54
reference: <testLibraryFragment>::@class::C::@field::foo
@@ -675,6 +685,16 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@class::C
fields
static const foo
@@ -1173,6 +1193,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const named @23
reference: <testLibraryFragment>::@class::A::@constructor::named
@@ -1189,6 +1211,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const named
@@ -1281,6 +1305,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const named @23
reference: <testLibraryFragment>::@class::A::@constructor::named
@@ -1297,6 +1323,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const named
@@ -1385,6 +1413,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const named @23
reference: <testLibraryFragment>::@class::A::@constructor::named
@@ -1401,6 +1431,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const named
@@ -1842,6 +1874,8 @@
nameEnd: 25
class C @50
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @52
constructors
synthetic const named @-1
reference: <testLibraryFragment>::@class::C::@constructor::named
@@ -1880,6 +1914,8 @@
class alias C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
supertype: A
constructors
@@ -2057,6 +2093,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -2071,6 +2109,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -2154,6 +2194,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -2168,6 +2210,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
@@ -2562,6 +2606,8 @@
enclosingFragment: <testLibraryFragment>::@class::A
class C @44
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @46
constructors
synthetic const new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2595,6 +2641,8 @@
class alias C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
supertype: A
constructors
@@ -5225,6 +5273,16 @@
mixins
mixin M @27
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @34
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
fields
foo @54
reference: <testLibraryFragment>::@mixin::M::@field::foo
@@ -5259,6 +5317,16 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
@@ -5484,6 +5552,16 @@
classes
class A @27
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @34
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -5501,6 +5579,16 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -5889,6 +5977,16 @@
staticElement: <testLibraryFragment>::@getter::foo
staticType: null
element: <testLibraryFragment>::@getter::foo
+ typeParameters
+ T @52
+ metadata
+ Annotation
+ atSign: @ @47
+ name: SimpleIdentifier
+ token: foo @48
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
parameters
a @64
metadata
@@ -5928,6 +6026,16 @@
staticElement: <testLibraryFragment>::@getter::foo
staticType: null
element: <testLibraryFragment>::@getter::foo
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @47
+ name: SimpleIdentifier
+ token: foo @48
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
parameters
requiredPositional a
reference: <none>
@@ -6225,6 +6333,16 @@
enclosingFragment: <testLibraryFragment>::@class::A
class B @50
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @57
+ metadata
+ Annotation
+ atSign: @ @52
+ name: SimpleIdentifier
+ token: foo @53
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -6261,6 +6379,16 @@
class alias B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @52
+ name: SimpleIdentifier
+ token: foo @53
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@class::B
supertype: A
constructors
@@ -6626,6 +6754,16 @@
extensions
extension E @31
reference: <testLibraryFragment>::@extension::E
+ typeParameters
+ T @38
+ metadata
+ Annotation
+ atSign: @ @33
+ name: SimpleIdentifier
+ token: foo @34
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
topLevelVariables
const foo @6
reference: <testLibraryFragment>::@topLevelVariable::foo
@@ -6639,6 +6777,16 @@
extension E
reference: <testLibraryFragment>::@extension::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @33
+ name: SimpleIdentifier
+ token: foo @34
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@extension::E
topLevelVariables
const foo
@@ -7045,6 +7193,16 @@
mixins
mixin A @27
reference: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T @34
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
topLevelVariables
const foo @6
reference: <testLibraryFragment>::@topLevelVariable::foo
@@ -7058,6 +7216,16 @@
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @29
+ name: SimpleIdentifier
+ token: foo @30
+ staticElement: <testLibraryFragment>::@getter::foo
+ staticType: null
+ element: <testLibraryFragment>::@getter::foo
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
@@ -9036,6 +9204,16 @@
classes
class C @22
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @27
+ metadata
+ Annotation
+ atSign: @ @24
+ name: SimpleIdentifier
+ token: a @25
+ staticElement: <testLibraryFragment>::@getter::a
+ staticType: null
+ element: <testLibraryFragment>::@getter::a
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -9053,6 +9231,16 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @24
+ name: SimpleIdentifier
+ token: a @25
+ staticElement: <testLibraryFragment>::@getter::a
+ staticType: null
+ element: <testLibraryFragment>::@getter::a
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -9153,6 +9341,16 @@
classes
class C @22
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @27
+ metadata
+ Annotation
+ atSign: @ @24
+ name: SimpleIdentifier
+ token: a @25
+ staticElement: <testLibraryFragment>::@getter::a
+ staticType: null
+ element: <testLibraryFragment>::@getter::a
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -9190,6 +9388,16 @@
class alias C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ metadata
+ Annotation
+ atSign: @ @24
+ name: SimpleIdentifier
+ token: a @25
+ staticElement: <testLibraryFragment>::@getter::a
+ staticType: null
+ element: <testLibraryFragment>::@getter::a
firstFragment: <testLibraryFragment>::@class::C
supertype: D
constructors
diff --git a/pkg/analyzer/test/src/summary/elements/mixin_test.dart b/pkg/analyzer/test/src/summary/elements/mixin_test.dart
index 64eb781..fcac61c 100644
--- a/pkg/analyzer/test/src/summary/elements/mixin_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/mixin_test.dart
@@ -162,6 +162,9 @@
mixins
mixin M @51
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @53
+ U @68
fields
f @101
reference: <testLibraryFragment>::@mixin::M::@field::f
@@ -237,6 +240,10 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
+ U
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
A
@@ -712,6 +719,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -728,10 +737,14 @@
mixins
mixin M @20
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ U @22
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -751,6 +764,8 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ U
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
A<U>
@@ -833,12 +848,16 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::A
class B @20
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @22
constructors
synthetic const new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -870,6 +889,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -878,6 +899,8 @@
class alias B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: Object
constructors
@@ -994,18 +1017,24 @@
classes
class A1 @6
reference: <testLibraryFragment>::@class::A1
+ typeParameters
+ T @9
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A1::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::A1
class A2 @21
reference: <testLibraryFragment>::@class::A2
+ typeParameters
+ T @24
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A2::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::A2
class B @36
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @38
constructors
synthetic const new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -1041,6 +1070,8 @@
class A1
reference: <testLibraryFragment>::@class::A1
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A1
constructors
synthetic new
@@ -1049,6 +1080,8 @@
class A2
reference: <testLibraryFragment>::@class::A2
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A2
constructors
synthetic new
@@ -1057,6 +1090,8 @@
class alias B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: Object
constructors
@@ -1140,6 +1175,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -1156,10 +1193,15 @@
mixins
mixin M @20
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @22
+ U @25
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -1179,6 +1221,9 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
A<T Function(U)>
@@ -1239,6 +1284,8 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @17
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -1255,10 +1302,14 @@
mixins
mixin M @29
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @31
classes
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -1278,6 +1329,8 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
A<List<T>>
@@ -1356,6 +1409,8 @@
classes
class I @6
reference: <testLibraryFragment>::@class::I
+ typeParameters
+ X @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::I::@constructor::new
@@ -1379,12 +1434,18 @@
mixins
mixin M1 @20
reference: <testLibraryFragment>::@mixin::M1
+ typeParameters
+ T @23
mixin M2 @43
reference: <testLibraryFragment>::@mixin::M2
+ typeParameters
+ T @46
classes
class I
reference: <testLibraryFragment>::@class::I
enclosingElement2: <testLibrary>
+ typeParameters
+ X
firstFragment: <testLibraryFragment>::@class::I
constructors
synthetic new
@@ -1404,12 +1465,16 @@
mixin M1
reference: <testLibraryFragment>::@mixin::M1
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M1
superclassConstraints
I<T>
mixin M2
reference: <testLibraryFragment>::@mixin::M2
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M2
superclassConstraints
I<T>
@@ -1486,6 +1551,8 @@
classes
class S @62
reference: <testLibraryFragment>::@class::S
+ typeParameters
+ T3 @64
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::S::@constructor::new
@@ -1502,10 +1569,15 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @8
+ U @11
classes
class S
reference: <testLibraryFragment>::@class::S
enclosingElement2: <testLibrary>
+ typeParameters
+ T3
firstFragment: <testLibraryFragment>::@class::S
constructors
synthetic new
@@ -1525,6 +1597,9 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
S<T>
@@ -1612,6 +1687,8 @@
classes
class S @88
reference: <testLibraryFragment>::@class::S
+ typeParameters
+ T4 @90
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::S::@constructor::new
@@ -1628,10 +1705,15 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @8
+ U @11
classes
class S
reference: <testLibraryFragment>::@class::S
enclosingElement2: <testLibrary>
+ typeParameters
+ T4
firstFragment: <testLibraryFragment>::@class::S
constructors
synthetic new
@@ -1651,6 +1733,9 @@
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
S<T>
@@ -2187,10 +2272,14 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @11
mixins
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
@@ -2223,10 +2312,14 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @12
mixins
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
@@ -2259,10 +2352,14 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @14
mixins
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
@@ -2299,10 +2396,18 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @14
+ U @20
+ V @27
mixins
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
+ V
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
@@ -4249,6 +4354,8 @@
mixin A @21
reference: <testLibraryFragment>::@mixin::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
+ typeParameters
+ T1 @23
fields
foo1 @34
reference: <testLibraryFragment>::@mixin::A::@field::foo1
@@ -4271,6 +4378,8 @@
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T2 @37
fields
foo2 @48
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A::@field::foo2
@@ -4291,6 +4400,8 @@
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
@@ -4590,6 +4701,8 @@
mixin A @21
reference: <testLibraryFragment>::@mixin::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
+ typeParameters
+ T1 @23
fields
foo1 @-1
reference: <testLibraryFragment>::@mixin::A::@field::foo1
@@ -4605,6 +4718,8 @@
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T2 @37
fields
foo2 @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A::@field::foo2
@@ -4618,6 +4733,8 @@
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
@@ -6093,6 +6210,8 @@
mixin A @21
reference: <testLibraryFragment>::@mixin::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
+ typeParameters
+ T @23
methods
foo @32
reference: <testLibraryFragment>::@mixin::A::@method::foo
@@ -6103,6 +6222,8 @@
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T2 @37
methods
bar @48
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A::@method::bar
@@ -6111,6 +6232,8 @@
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
@@ -6204,6 +6327,8 @@
mixin A @21
reference: <testLibraryFragment>::@mixin::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
+ typeParameters
+ T @23
methods
foo @32
reference: <testLibraryFragment>::@mixin::A::@method::foo
@@ -6215,6 +6340,8 @@
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T2 @37
methods
augment foo @56
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A::@methodAugmentation::foo
@@ -6224,6 +6351,8 @@
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
@@ -6331,6 +6460,8 @@
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T @37
methods
augment foo @57
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A::@methodAugmentation::foo
@@ -7356,11 +7487,15 @@
mixin A @21
reference: <testLibraryFragment>::@mixin::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
+ typeParameters
+ T @23
<testLibrary>::@fragment::package:test/a.dart
previousFragment: <testLibraryFragment>
classes
class I2 @60
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
+ typeParameters
+ E @63
constructors
synthetic new @-1
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2::@constructor::new
@@ -7369,6 +7504,8 @@
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T2 @37
classes
class I1
reference: <testLibraryFragment>::@class::I1
@@ -7381,6 +7518,8 @@
class I2
reference: <testLibrary>::@fragment::package:test/a.dart::@class::I2
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibrary>::@fragment::package:test/a.dart::@class::I2
constructors
synthetic new
@@ -7390,6 +7529,8 @@
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
I1
@@ -8356,16 +8497,23 @@
mixin A @21
reference: <testLibraryFragment>::@mixin::A
nextFragment: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
+ typeParameters
+ T @23
<testLibrary>::@fragment::package:test/a.dart
previousFragment: <testLibraryFragment>
mixins
mixin A @35
reference: <testLibrary>::@fragment::package:test/a.dart::@mixinAugmentation::A
previousFragment: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T @37
mixins
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: A<dynamic>
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
diff --git a/pkg/analyzer/test/src/summary/elements/offsets_test.dart b/pkg/analyzer/test/src/summary/elements/offsets_test.dart
index fffef8c..f5644b8 100644
--- a/pkg/analyzer/test/src/summary/elements/offsets_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/offsets_test.dart
@@ -4113,6 +4113,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -4123,6 +4125,10 @@
enclosingElement2: <testLibrary>
codeOffset: 0
codeLength: 13
+ typeParameters
+ T
+ codeOffset: 8
+ codeLength: 1
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -4467,6 +4473,8 @@
foo @17
reference: <testLibraryFragment>::@class::A::@method::foo
enclosingFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T @21
parameters
a @28
classes
@@ -4481,6 +4489,8 @@
methods
foo
reference: <none>
+ typeParameters
+ T
parameters
requiredPositional a
reference: <none>
@@ -4604,6 +4614,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -4612,6 +4624,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -4647,10 +4661,14 @@
extensions
extension E @10
reference: <testLibraryFragment>::@extension::E
+ typeParameters
+ T @12
extensions
extension E
reference: <testLibraryFragment>::@extension::E
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@extension::E
''');
}
@@ -4831,10 +4849,14 @@
mixins
mixin M @6
reference: <testLibraryFragment>::@mixin::M
+ typeParameters
+ T @8
mixins
mixin M
reference: <testLibraryFragment>::@mixin::M
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::M
superclassConstraints
Object
diff --git a/pkg/analyzer/test/src/summary/elements/record_type_test.dart b/pkg/analyzer/test/src/summary/elements/record_type_test.dart
index b1a31fd..0a2cb42 100644
--- a/pkg/analyzer/test/src/summary/elements/record_type_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/record_type_test.dart
@@ -325,6 +325,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -333,6 +335,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: (int, String)
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/top_level_variable_test.dart b/pkg/analyzer/test/src/summary/elements/top_level_variable_test.dart
index 7a436f5..a9aef1b 100644
--- a/pkg/analyzer/test/src/summary/elements/top_level_variable_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/top_level_variable_test.dart
@@ -3554,6 +3554,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
const new @21
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3571,6 +3573,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
const new
diff --git a/pkg/analyzer/test/src/summary/elements/type_alias_test.dart b/pkg/analyzer/test/src/summary/elements/type_alias_test.dart
index 33b6f9e..ce103ae 100644
--- a/pkg/analyzer/test/src/summary/elements/type_alias_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/type_alias_test.dart
@@ -1893,6 +1893,8 @@
classes
class C @38
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @40
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1901,6 +1903,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -1952,6 +1957,8 @@
classes
class C @36
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @38
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1960,6 +1967,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -2008,6 +2018,8 @@
classes
class C @32
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @34
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2016,6 +2028,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -2129,6 +2144,8 @@
classes
class C @27
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @29
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2137,6 +2154,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -2185,6 +2205,8 @@
classes
class C @21
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2193,6 +2215,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -3102,6 +3127,9 @@
classes
class A @32
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @34
+ U @37
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3116,6 +3144,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -3197,6 +3228,8 @@
classes
class A @28
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @30
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3223,6 +3256,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -3324,6 +3359,8 @@
classes
class A @28
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @30
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3350,6 +3387,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -3547,6 +3586,8 @@
enclosingFragment: <testLibraryFragment>::@class::B
class C @46
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ U @48
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -3571,6 +3612,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -3721,6 +3764,8 @@
classes
class A @26
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @28
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3735,6 +3780,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -3812,6 +3859,8 @@
classes
class A @27
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @29
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3831,6 +3880,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -3923,6 +3974,8 @@
classes
class A @27
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @29
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -3942,6 +3995,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -4068,6 +4123,8 @@
classes
class A @26
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @28
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -4085,6 +4142,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -4157,6 +4216,8 @@
classes
class A @24
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @26
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -4174,6 +4235,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -4286,6 +4349,8 @@
classes
class A @27
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @29
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -4300,6 +4365,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -4364,6 +4431,8 @@
classes
class A @27
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @29
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -4381,6 +4450,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/type_inference_test.dart b/pkg/analyzer/test/src/summary/elements/type_inference_test.dart
index 6d71334..01d2370 100644
--- a/pkg/analyzer/test/src/summary/elements/type_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/type_inference_test.dart
@@ -185,6 +185,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
fields
f @21
reference: <testLibraryFragment>::@class::C::@field::f
@@ -202,6 +204,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
fields
final f
@@ -326,12 +330,17 @@
classes
class C @43
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ V @45
constructors
const new @58
reference: <testLibraryFragment>::@class::C::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::C
class D @77
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @79
+ U @81
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -349,6 +358,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ V
firstFragment: <testLibraryFragment>::@class::C
constructors
const new
@@ -364,6 +375,9 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -482,6 +496,8 @@
enclosingFragment: <testLibraryFragment>::@class::C
class D @66
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ T @68
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -512,6 +528,8 @@
class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -621,6 +639,8 @@
superConstructor: <testLibraryFragment>::@class::A::@constructor::new
class S @40
reference: <testLibraryFragment>::@class::S
+ typeParameters
+ T @42
constructors
new @59
reference: <testLibraryFragment>::@class::S::@constructor::new
@@ -663,6 +683,9 @@
class S
reference: <testLibraryFragment>::@class::S
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: A
firstFragment: <testLibraryFragment>::@class::S
constructors
new
@@ -1492,6 +1515,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ U @8
+ V @11
fields
x @24
reference: <testLibraryFragment>::@class::C::@field::x
@@ -1509,6 +1535,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ U
+ V
firstFragment: <testLibraryFragment>::@class::C
fields
final x
@@ -1575,6 +1604,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ U @8
+ V @11
fields
x @-1
reference: <testLibraryFragment>::@class::C::@field::x
@@ -1592,6 +1624,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ U
+ V
firstFragment: <testLibraryFragment>::@class::C
fields
synthetic x
@@ -1659,6 +1694,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1667,10 +1704,15 @@
f @15
reference: <testLibraryFragment>::@class::C::@method::f
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ U @17
+ V @20
classes
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -1679,6 +1721,9 @@
methods
f
reference: <none>
+ typeParameters
+ U
+ V
firstFragment: <testLibraryFragment>::@class::C::@method::f
''');
}
@@ -1734,6 +1779,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ U @8
+ V @11
fields
x @-1
reference: <testLibraryFragment>::@class::C::@field::x
@@ -1753,6 +1801,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ U
+ V
firstFragment: <testLibraryFragment>::@class::C
fields
synthetic x
@@ -1901,6 +1952,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ P @8
constructors
factory new @35
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1930,6 +1983,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ P
+ bound: num
firstFragment: <testLibraryFragment>::@class::C
constructors
factory new
@@ -3270,6 +3326,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
fields
v @37
reference: <testLibraryFragment>::@class::C::@field::v
@@ -3295,6 +3353,9 @@
_v @-1
class D @57
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ U @59
+ V @62
fields
v @-1
reference: <testLibraryFragment>::@class::D::@field::v
@@ -3312,6 +3373,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
supertype: D<int, T>
fields
@@ -3344,6 +3407,9 @@
abstract class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ U
+ V
firstFragment: <testLibraryFragment>::@class::D
fields
synthetic v
@@ -3537,6 +3603,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -3553,6 +3622,9 @@
g @50
class D @73
reference: <testLibraryFragment>::@class::D
+ typeParameters
+ V @75
+ W @78
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::D::@constructor::new
@@ -3568,6 +3640,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
supertype: D<U, int>
constructors
@@ -3589,6 +3664,9 @@
abstract class D
reference: <testLibraryFragment>::@class::D
enclosingElement2: <testLibrary>
+ typeParameters
+ V
+ W
firstFragment: <testLibraryFragment>::@class::D
constructors
synthetic new
@@ -5883,6 +5961,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
fields
value @17
reference: <testLibraryFragment>::@class::A::@field::value
@@ -5929,6 +6009,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
fields
value
@@ -6118,6 +6200,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
fields
value @17
reference: <testLibraryFragment>::@class::A::@field::value
@@ -6140,6 +6224,8 @@
_value @-1
class B @51
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @53
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -6188,6 +6274,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
fields
value
@@ -6222,6 +6310,8 @@
class alias B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: A<T>
constructors
@@ -6328,6 +6418,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
fields
f @19
reference: <testLibraryFragment>::@class::A::@field::f
@@ -6352,6 +6444,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
fields
f
@@ -7407,6 +7501,8 @@
superConstructor: <testLibraryFragment>::@class::A::@constructor::new
class C @40
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @42
fields
f @67
reference: <testLibraryFragment>::@class::C::@field::f
@@ -7458,6 +7554,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: A
firstFragment: <testLibraryFragment>::@class::C
fields
final f
@@ -7712,6 +7811,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -7749,6 +7850,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: dynamic
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -7960,6 +8064,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -7974,6 +8080,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -8185,6 +8293,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
fields
t @17
reference: <testLibraryFragment>::@class::C::@field::t
@@ -8209,6 +8319,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
fields
t
@@ -8288,6 +8400,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
fields
t @18
reference: <testLibraryFragment>::@class::C::@field::t
@@ -8312,6 +8426,8 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::C
fields
t
@@ -10112,6 +10228,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -10136,6 +10255,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -10213,6 +10335,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -10237,6 +10362,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
diff --git a/pkg/analyzer/test/src/summary/elements/types_test.dart b/pkg/analyzer/test/src/summary/elements/types_test.dart
index 17ce2eb..fe1195c 100644
--- a/pkg/analyzer/test/src/summary/elements/types_test.dart
+++ b/pkg/analyzer/test/src/summary/elements/types_test.dart
@@ -440,6 +440,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -448,6 +451,9 @@
m @30
reference: <testLibraryFragment>::@class::C::@method::m
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ V @32
+ W @35
parameters
v @40
w @45
@@ -455,6 +461,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -463,6 +472,9 @@
methods
static m
reference: <none>
+ typeParameters
+ V
+ W
parameters
requiredPositional v
reference: <none>
@@ -1410,6 +1422,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ S @8
+ T @23
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1434,6 +1449,11 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ S
+ bound: num
+ T
+ bound: C<S, T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -1558,6 +1578,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1617,6 +1639,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T>
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -1748,6 +1773,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @27
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -1772,6 +1800,11 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: C<T, U>
+ U
+ bound: num
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -2047,12 +2080,17 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
enclosingFragment: <testLibraryFragment>::@class::A
class B @20
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @22
+ U @48
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -2077,6 +2115,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -2085,6 +2125,11 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: int Function()
+ U
+ bound: A<T>
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -2276,6 +2321,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ R @8
fields
values @31
reference: <testLibraryFragment>::@class::A::@field::values
@@ -2291,6 +2338,8 @@
enclosingFragment: <testLibraryFragment>::@class::A
class B @55
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @57
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -2299,6 +2348,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ R
+ bound: B<num>
firstFragment: <testLibraryFragment>::@class::A
fields
final values
@@ -2319,6 +2371,9 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -2376,6 +2431,8 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -2400,6 +2457,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ bound: num
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -3075,6 +3135,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -3083,10 +3146,16 @@
g @23
reference: <testLibraryFragment>::@class::C::@method::g
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ V @25
+ W @28
classes
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -3095,6 +3164,9 @@
methods
g
reference: <none>
+ typeParameters
+ V
+ W
firstFragment: <testLibraryFragment>::@class::C::@method::g
''');
}
@@ -3152,6 +3224,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::C::@constructor::new
@@ -3160,10 +3235,16 @@
g @23
reference: <testLibraryFragment>::@class::C::@method::g
enclosingFragment: <testLibraryFragment>::@class::C
+ typeParameters
+ V @25
+ W @28
classes
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
constructors
synthetic new
@@ -3172,6 +3253,9 @@
methods
g
reference: <none>
+ typeParameters
+ V
+ W
firstFragment: <testLibraryFragment>::@class::C::@method::g
''');
}
@@ -3426,6 +3510,9 @@
classes
class C @6
reference: <testLibraryFragment>::@class::C
+ typeParameters
+ T @8
+ U @11
fields
v @22
reference: <testLibraryFragment>::@class::C::@field::v
@@ -3450,6 +3537,9 @@
class C
reference: <testLibraryFragment>::@class::C
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
firstFragment: <testLibraryFragment>::@class::C
fields
v
diff --git a/pkg/analyzer/test/src/summary/macro_test.dart b/pkg/analyzer/test/src/summary/macro_test.dart
index 677e752..a97713b 100644
--- a/pkg/analyzer/test/src/summary/macro_test.dart
+++ b/pkg/analyzer/test/src/summary/macro_test.dart
@@ -7653,6 +7653,8 @@
foo @97
reference: <testLibraryFragment>::@class::A::@method::foo
enclosingFragment: <testLibraryFragment>::@class::A
+ typeParameters
+ T @101
classes
class A
reference: <testLibraryFragment>::@class::A
@@ -7661,6 +7663,8 @@
methods
foo
reference: <none>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A::@method::foo
''');
}
@@ -7726,10 +7730,18 @@
classes
class A @80
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @82
+ U @85
+ V @88
classes
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
+ U
+ V
firstFragment: <testLibraryFragment>::@class::A
''');
}
@@ -8168,10 +8180,14 @@
mixins
mixin A @80
reference: <testLibraryFragment>::@mixin::A
+ typeParameters
+ T @82
mixins
mixin A
reference: <testLibraryFragment>::@mixin::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@mixin::A
superclassConstraints
Object
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 3c82806..50f644e 100644
--- a/pkg/analyzer/test/src/summary/top_level_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
@@ -13616,6 +13616,8 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ E @17
fields
x @26
reference: <testLibraryFragment>::@class::A::@field::x
@@ -13664,6 +13666,8 @@
_z @-1
class B @51
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @53
fields
x @80
reference: <testLibraryFragment>::@class::B::@field::x
@@ -13704,6 +13708,8 @@
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibraryFragment>::@class::A
fields
x
@@ -13772,6 +13778,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
fields
x
@@ -14573,6 +14581,8 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ E @17
fields
x @-1
reference: <testLibraryFragment>::@class::A::@field::x
@@ -14602,6 +14612,8 @@
enclosingFragment: <testLibraryFragment>::@class::A
class B @63
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @65
fields
x @92
reference: <testLibraryFragment>::@class::B::@field::x
@@ -14642,6 +14654,8 @@
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibraryFragment>::@class::A
fields
synthetic x
@@ -14682,6 +14696,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
fields
x
@@ -15205,6 +15221,8 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @17
fields
x @-1
reference: <testLibraryFragment>::@class::A::@field::x
@@ -15220,6 +15238,8 @@
enclosingFragment: <testLibraryFragment>::@class::A
class B @50
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @52
fields
x @-1
reference: <testLibraryFragment>::@class::B::@field::x
@@ -15252,6 +15272,8 @@
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
fields
synthetic x
@@ -15272,6 +15294,8 @@
abstract class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
fields
synthetic x
@@ -17662,6 +17686,8 @@
classes
class A @23
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @25
fields
x @-1
reference: <testLibraryFragment>::@class::A::@field::x
@@ -17711,6 +17737,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
fields
synthetic x
@@ -19012,6 +19040,8 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ T @8
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -19024,6 +19054,8 @@
a @24
class B @38
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ E @40
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -19053,6 +19085,8 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -19069,6 +19103,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ E
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -19191,6 +19227,9 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @8
+ V @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -19203,6 +19242,8 @@
a @24
class B @38
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @40
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -19232,6 +19273,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -19248,6 +19292,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new
@@ -19999,6 +20045,9 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @8
+ V @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -20011,6 +20060,8 @@
a @24
class B @38
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @40
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -20037,6 +20088,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -20053,6 +20107,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: A<int, T>
constructors
@@ -20652,6 +20708,9 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @8
+ V @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -20683,6 +20742,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -21184,6 +21246,9 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @8
+ V @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -21196,6 +21261,8 @@
a @24
class B @38
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @40
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -21222,6 +21289,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -21238,6 +21308,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
supertype: A<int, T>
constructors
@@ -21328,6 +21400,9 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @17
+ V @20
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -21354,6 +21429,9 @@
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -21580,6 +21658,9 @@
classes
class A @15
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @17
+ V @20
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -21592,6 +21673,9 @@
a @33
class B @54
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T1 @56
+ T2 @60
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -21615,6 +21699,9 @@
abstract class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -21631,6 +21718,9 @@
abstract class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T1
+ T2
firstFragment: <testLibraryFragment>::@class::B
supertype: A<T2, T1>
constructors
@@ -21976,6 +22066,9 @@
classes
class A @6
reference: <testLibraryFragment>::@class::A
+ typeParameters
+ K @8
+ V @11
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::A::@constructor::new
@@ -21988,6 +22081,8 @@
a @24
class B @38
reference: <testLibraryFragment>::@class::B
+ typeParameters
+ T @40
constructors
synthetic new @-1
reference: <testLibraryFragment>::@class::B::@constructor::new
@@ -22017,6 +22112,9 @@
class A
reference: <testLibraryFragment>::@class::A
enclosingElement2: <testLibrary>
+ typeParameters
+ K
+ V
firstFragment: <testLibraryFragment>::@class::A
constructors
synthetic new
@@ -22033,6 +22131,8 @@
class B
reference: <testLibraryFragment>::@class::B
enclosingElement2: <testLibrary>
+ typeParameters
+ T
firstFragment: <testLibraryFragment>::@class::B
constructors
synthetic new