| library test; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class C<T extends core::Object? = dynamic> extends core::Object { | 
 |   constructor optional(([self::C::T%]) → void func) → self::C<self::C::T%> | 
 |     : super core::Object::•() {} | 
 |   constructor named(({x: self::C::T%}) → void func) → self::C<self::C::T%> | 
 |     : super core::Object::•() {} | 
 | } | 
 | static method optional_toplevel([dynamic x = #C2]) → void {} | 
 | static method named_toplevel({dynamic x = #C2}) → void {} | 
 | static method main() → dynamic { | 
 |   function optional_local([dynamic x = #C2]) → void {} | 
 |   function named_local({dynamic x = #C2}) → void {} | 
 |   self::C<dynamic> c_optional_toplevel = new self::C::optional<dynamic>(#C3); | 
 |   self::C<dynamic> c_named_toplevel = new self::C::named<dynamic>(#C4); | 
 |   self::C<dynamic> c_optional_local = new self::C::optional<dynamic>(optional_local); | 
 |   self::C<dynamic> c_named_local = new self::C::named<dynamic>(named_local); | 
 |   self::C<core::Object?> c_optional_closure = new self::C::optional<core::Object?>(([core::Object? x = #C2]) → void {}); | 
 |   self::C<core::Object?> c_named_closure = new self::C::named<core::Object?>(({core::Object? x = #C2}) → void {}); | 
 | } | 
 |  | 
 | constants  { | 
 |   #C1 = 0 | 
 |   #C2 = <core::int>[#C1] | 
 |   #C3 = static-tearoff self::optional_toplevel | 
 |   #C4 = static-tearoff self::named_toplevel | 
 | } |