| library; |
| import self as self; |
| import "dart:core" as core; |
| import "package:expect/expect.dart" as exp; |
| |
| class A<N extends core::Object = dynamic, S extends core::Object = dynamic, U extends core::Object = dynamic> extends core::Object { |
| final field core::List<self::A::U> field; |
| constructor •(self::A::N n, self::A::S s) → self::A<self::A::N, self::A::S, self::A::U> |
| : self::A::field = core::List::•<self::A::U>(), super core::Object::•() { |
| exp::Expect::isTrue(n is self::A::N); |
| exp::Expect::isTrue(s is self::A::S); |
| } |
| constructor empty() → self::A<self::A::N, self::A::S, self::A::U> |
| : self::A::field = null, super core::Object::•() {} |
| const constructor c(self::A::U u, self::A::S s) → self::A<self::A::N, self::A::S, self::A::U> |
| : self::A::field = const <dynamic>[null], super core::Object::•() |
| ; |
| static factory f<N extends core::Object = dynamic, S extends core::Object = dynamic, U extends core::Object = dynamic>(self::A::f::S s) → self::A<self::A::f::N, self::A::f::S, self::A::f::U> { |
| exp::Expect::isTrue(s is self::A::f::S); |
| return new self::A::empty<dynamic, dynamic, dynamic>(); |
| } |
| get getter() → core::List<self::A::U> { |
| return this.{self::A::field}; |
| } |
| set setter(self::A::S s) → void {} |
| } |
| abstract class J<Aa extends core::Object = dynamic, B extends core::Object = dynamic> extends core::Object { |
| synthetic constructor •() → self::J<self::J::Aa, self::J::B> |
| : super core::Object::•() |
| ; |
| } |
| abstract class I<H extends core::Object = dynamic, C extends core::Object = dynamic, K extends core::Object = dynamic> extends self::J<self::I::C, self::I::K> { |
| synthetic constructor •() → self::I<self::I::H, self::I::C, self::I::K> |
| : super self::J::•() |
| ; |
| } |
| static method main() → dynamic { |
| new self::A::•<core::num, core::double, core::List<dynamic>>(1, 2.0); |
| self::A<dynamic, dynamic, dynamic> a = self::A::f<core::int, core::int, core::int>(1); |
| const self::A::c<core::int, core::int, core::List<dynamic>>(const <dynamic>[], 1); |
| dynamic z = a.getter; |
| a.setter = 1; |
| } |