OLD | NEW |
| (Empty) |
1 library; | |
2 import self as self; | |
3 import "dart:core" as core; | |
4 | |
5 abstract class FooBase<Tf extends core::Object> extends core::Object { | |
6 abstract get x() → core::int; | |
7 } | |
8 abstract class Foo<T extends core::Object> extends core::Object implements self:
:FooBase<dynamic> { | |
9 } | |
10 class Bar<Sb extends core::Object, Tb extends core::Object> extends core::Object
implements self::Foo<self::Bar::Tb> { | |
11 field core::int x; | |
12 constructor •(core::int x) → void | |
13 : self::Bar::x = x, super core::Object::•() { | |
14 core::print("Bar<${self::Bar::Sb},${self::Bar::Tb}>"); | |
15 } | |
16 } | |
17 abstract class SimpleCase<A extends core::Object, B extends core::Object> extend
s core::Object { | |
18 } | |
19 abstract class SimpleCaseImpl<Ai extends core::Object, Bi extends core::Object>
extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai, self:
:SimpleCaseImpl::Bi> { | |
20 } | |
21 class SimpleCaseImpl2<Ai2 extends core::Object, Bi2 extends core::Object> extend
s core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2, self:
:SimpleCaseImpl2::Bi2> { | |
22 constructor •() → void | |
23 : super core::Object::•() | |
24 ; | |
25 } | |
26 abstract class Base<M extends core::Object> extends core::Object { | |
27 constructor •() → void | |
28 : super core::Object::•() | |
29 ; | |
30 } | |
31 abstract class Mixin<M extends core::Object> extends core::Object { | |
32 } | |
33 class Mix<M extends core::Object> extends self::Base<self::Mix::M> implements se
lf::Mixin<self::Mix::M> { | |
34 constructor •() → void | |
35 : super self::Base::•() | |
36 ; | |
37 } | |
38 static method main() → dynamic { | |
39 core::print(new self::Bar::•<core::String, core::double>(4).{self::FooBase::x}
); | |
40 new self::SimpleCaseImpl2::•<core::int, core::double>(); | |
41 new self::Mix::•<core::double>(); | |
42 } | |
OLD | NEW |