blob: e99b7e6b5c2a1d1bc7068cadbe3b13bb37eb3887 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
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::_GrowableList::•<self::A::U>(0), 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 <core::Null>[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<self::A::f::N, self::A::f::S, self::A::f::U>();
}
get getter() core::List<self::A::U> {
return this.{self::A::field};
}
set setter(generic-covariant-impl 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);
core::List<dynamic> z = a.{self::A::getter};
a.{self::A::setter} = 1;
}