| library test /*isNonNullableByDefault*/; |
| 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 |
| } |