| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| typedef ContraFunction<contravariant T extends core::Object* = dynamic> = (T*) →* void; |
| typedef InvFunction<invariant T extends core::Object* = dynamic> = (T*) →* T*; |
| class Contravariant<contravariant T extends core::Object* = dynamic> extends core::Object { |
| synthetic constructor •() → self::Contravariant<self::Contravariant::T*>* |
| ; |
| } |
| class Invariant<invariant T extends core::Object* = dynamic> extends core::Object { |
| synthetic constructor •() → self::Invariant<self::Invariant::T*>* |
| ; |
| } |
| class A<contravariant T extends core::Object* = dynamic, U extends core::Object* = dynamic, V extends core::Object* = dynamic> extends core::Object { |
| final field (self::A::T*) →* void field; |
| synthetic constructor •() → self::A<self::A::T*, self::A::U*, self::A::V*>* |
| ; |
| method method(self::A::T* t, (self::A::U*) →* void u, generic-covariant-impl self::A::V* v) → void |
| ; |
| method method2(self::A::T* x, [self::A::T* y]) → void |
| ; |
| set x(self::A::T* t) → void |
| ; |
| get mapContra() → core::Map<self::A::U*, self::Contravariant<self::A::V*>*>* |
| ; |
| get mapContraFn() → core::Map<self::A::U*, (self::A::V*) →* void>* |
| ; |
| get mapInv() → core::Map<self::A::U*, self::Invariant<self::A::V*>*>* |
| ; |
| get mapInvFn() → core::Map<self::A::U*, (self::A::V*) →* self::A::V*>* |
| ; |
| } |
| class B<invariant T extends core::Object* = dynamic> extends core::Object { |
| field self::B::T* x; |
| synthetic constructor •() → self::B<self::B::T*>* |
| ; |
| method method(self::B::T* x) → self::B::T* |
| ; |
| set y(self::B::T* x) → void |
| ; |
| } |
| class C<contravariant T extends core::Object* = dynamic> extends core::Object { |
| final field (self::C::T*) →* void field; |
| synthetic constructor •() → self::C<self::C::T*>* |
| ; |
| method method(self::C::T* x, [self::C::T* y]) → void |
| ; |
| set x(self::C::T* t) → void |
| ; |
| } |
| abstract class D<T extends core::Object* = dynamic> extends core::Object { |
| synthetic constructor •() → self::D<self::D::T*>* |
| ; |
| abstract method method(generic-covariant-impl self::D::T* x) → core::int*; |
| } |
| class E<invariant T extends core::Object* = dynamic> extends core::Object { |
| final field (self::E::T*) →* void f; |
| constructor •((self::E::T*) →* void f) → self::E<self::E::T*>* |
| ; |
| method method(self::E::T* x) → core::int* |
| ; |
| } |
| class F<invariant T extends core::Object* = dynamic> extends self::E<self::F::T*> implements self::D<self::F::T*> { |
| constructor •((self::F::T*) →* void f) → self::F<self::F::T*>* |
| ; |
| forwarding-stub method method(generic-covariant-impl self::F::T* x) → core::int* |
| return super.{self::E::method}(x); |
| } |
| static method main() → dynamic |
| ; |
| static method expect(dynamic expected, dynamic actual) → dynamic |
| ; |