| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef Hello<T extends core::Object? = dynamic> = (T%, {required name: T%}); |
| class MyClass<T extends core::Object? = dynamic> extends core::Object { |
| final field () → self::Value<(self::MyClass::T%, {required name: self::MyClass::T%})>? myField; |
| constructor •(() → self::Value<(self::MyClass::T%, {required name: self::MyClass::T%})>? myField) → self::MyClass<self::MyClass::T%> |
| : self::MyClass::myField = myField, super core::Object::•() |
| ; |
| } |
| class Value<T extends core::Object? = dynamic> extends core::Object { |
| final field self::Value::T% value; |
| constructor •(self::Value::T% value) → self::Value<self::Value::T%> |
| : self::Value::value = value, super core::Object::•() |
| ; |
| } |
| static method main() → void { |
| final self::MyClass<core::int> c = new self::MyClass::•<core::int>(() → self::Value<(core::int, {name: core::int})> => new self::Value::•<(core::int, {name: core::int})>((1, {name: 1}))); |
| final core::int? value = let final self::Value<(core::int, {required name: core::int})>? #t1 = c.{self::MyClass::myField}{() → self::Value<(core::int, {required name: core::int})>?}(){() → self::Value<(core::int, {required name: core::int})>?} in #t1 == null ?{core::int?} null : #t1{self::Value<(core::int, {required name: core::int})>}.{self::Value::value}{(core::int, {required name: core::int})}.name{core::int}; |
| core::print(c); |
| } |