blob: 62602433c5dfefb1fa1a5468a26350cab2bf00fe [file] [log] [blame]
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
;