blob: c9b4c9f8bd93464c320248856fd9e2a7edee7577 [file] [log] [blame]
library #lib /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:async";
abstract class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
}
class B extends self::A {
synthetic constructor •() self::B
: super self::A::•()
;
}
static field dynamic usedObject;
[@vm.inferred-type.metadata=!]late static field core::Function unknown;
static method use(dynamic object) void {
self::usedObject == null ?{dynamic} self::usedObject = object : null;
}
static method foo1_a1([@vm.inferred-type.metadata=dart.async::_Future<#lib::B>] dynamic x) void {
self::use(x);
}
static method foo1_a2([@vm.inferred-type.metadata=#lib::B] dynamic x) void {
self::use(x);
}
static method foo1_a3([@vm.inferred-type.metadata=dart.async::_Future<#lib::B>] dynamic x) void {
self::use(x);
}
static method foo1_a4([@vm.inferred-type.metadata=#lib::B] dynamic x) void {
self::use(x);
}
static method foo1([@vm.inferred-type.metadata=dart.async::_Future<#lib::B>] asy::Future<self::A> a1, [@vm.inferred-type.metadata=#lib::B] self::A a2, [@vm.inferred-type.metadata=dart.async::_Future<#lib::B>] FutureOr<self::A>a3, [@vm.inferred-type.metadata=#lib::B] FutureOr<self::A>a4) void {
self::foo1_a1(a1);
self::foo1_a2(a2);
self::foo1_a3(a3);
self::foo1_a4(a4);
}
static method foo2_a1([@vm.inferred-type.metadata=dart.async::_Future?] dynamic x) void {
self::use(x);
}
static method foo2_a2([@vm.inferred-type.metadata=#lib::B?] dynamic x) void {
self::use(x);
}
static method foo2_a3(dynamic x) void {
self::use(x);
}
static method foo2_a4(dynamic x) void {
self::use(x);
}
static method foo2([@vm.inferred-type.metadata=dart.async::_Future?] asy::Future<self::A>? a1, [@vm.inferred-type.metadata=#lib::B?] self::A? a2, FutureOr<self::A>? a3, FutureOr<self::A>? a4) void {
self::foo2_a1(a1);
self::foo2_a2(a2);
self::foo2_a3(a3);
self::foo2_a4(a4);
}
static method getDynamic() dynamic
return self::unknown();
static method main(core::List<core::String> args) dynamic {
self::foo1([@vm.inferred-type.metadata=dart.async::_Future<#lib::B>] asy::Future::value<self::B>(new self::B::•()), new self::B::•(), [@vm.inferred-type.metadata=dart.async::_Future<#lib::B>] asy::Future::value<self::B>(new self::B::•()), new self::B::•());
self::foo2(self::getDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Future<self::A>?, self::getDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} self::A?, self::getDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<self::A>?, self::getDynamic() as{TypeError,ForDynamic,ForNonNullableByDefault} FutureOr<self::A>?);
}