blob: 3e502c4d392e1fe1730ce03c6107a7a1c89bf329 [file] [log] [blame]
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);
}