| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class Foo<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  { | 
 |   final field self::Foo::T% a; | 
 |   const constructor •(self::Foo::T% a) → self::Foo<self::Foo::T%> | 
 |     : self::Foo::a = a, super core::Object::•() | 
 |     ; | 
 | } | 
 | class Generic<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  { | 
 |   final field (self::Generic::T%, self::Generic::T%) record; | 
 |   const constructor •(self::Generic::T% a) → self::Generic<self::Generic::T%> | 
 |     : self::Generic::record = (a, a), super core::Object::•() | 
 |     ; | 
 | } | 
 | class NotGeneric extends core::Object /*hasConstConstructor*/  { | 
 |   final field (core::int, core::int) record; | 
 |   const constructor •(core::int a) → self::NotGeneric | 
 |     : self::NotGeneric::record = (a, a), super core::Object::•() | 
 |     ; | 
 | } | 
 | static method main() → void { | 
 |   #C2; | 
 |   #C4; | 
 |   #C4; | 
 |   #C5; | 
 | } | 
 |  | 
 | constants  { | 
 |   #C1 = 1 | 
 |   #C2 = self::Foo<core::int> {a:#C1} | 
 |   #C3 = (#C1, #C1) | 
 |   #C4 = self::Generic<core::int> {record:#C3} | 
 |   #C5 = self::NotGeneric {record:#C3} | 
 | } | 
 |  | 
 |  | 
 | Constructor coverage from constants: | 
 | org-dartlang-testcase:///issue52385.dart: | 
 | - Foo. (from org-dartlang-testcase:///issue52385.dart:8:9) | 
 | - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart) | 
 | - Generic. (from org-dartlang-testcase:///issue52385.dart:14:9) | 
 | - NotGeneric. (from org-dartlang-testcase:///issue52385.dart:20:9) |