| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| } |
| class C<T extends self::A = dynamic> extends core::Object { |
| field self::C::T _field = null; |
| synthetic constructor •() → self::C<self::C::T> |
| : super core::Object::•() |
| ; |
| method foo(self::C::T x) → dynamic { |
| this.{self::C::_field} = x; |
| } |
| } |
| class D extends self::C<self::B> { |
| synthetic constructor •() → self::D |
| : super self::C::•() |
| ; |
| } |
| abstract class _Foo&Object&C extends core::Object implements self::C<self::B> { |
| field self::B _field = null; |
| synthetic constructor •() → self::_Foo&Object&C |
| : super core::Object::•() |
| ; |
| method foo(self::B x) → dynamic { |
| this.{self::C::_field} = x; |
| } |
| } |
| class Foo extends self::_Foo&Object&C { |
| synthetic constructor •() → self::Foo |
| : super self::_Foo&Object&C::•() |
| ; |
| } |
| class B extends self::A { |
| synthetic constructor •() → self::B |
| : super self::A::•() |
| ; |
| } |
| static method main() → dynamic { |
| dynamic foo = new self::Foo::•(); |
| foo.foo(new self::B::•()); |
| } |