[cfe] Use flatten(T) as future value type for pre-nnbd async functions

Change-Id: I38d537112e66c08bb06bc2493b3126b5f8f797b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239022
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Johnni Winther
2022-03-28 10:42:22 +00:00
committed by Commit Bot
parent a6acb1a5f0
commit e16a4e76e6
179 changed files with 707 additions and 414 deletions
@@ -1294,6 +1294,10 @@ class BodyBuilder extends StackListenerImpl
body);
body = inferredFunctionBody.body;
builder.function.futureValueType = inferredFunctionBody.futureValueType;
assert(
!(builder.function.asyncMarker == AsyncMarker.Async &&
builder.function.futureValueType == null),
"No future value type computed.");
libraryBuilder.loader.transformPostInference(body, transformSetLiterals,
transformCollections, libraryBuilder.library);
}
@@ -65,8 +65,12 @@ abstract class ClosureContext {
computeFutureValueType(inferrer.coreTypes, declaredReturnType);
}
} else {
returnContext = inferrer.wrapFutureOrType(
inferrer.typeSchemaEnvironment.flatten(returnContext));
DartType flattenedType =
inferrer.typeSchemaEnvironment.flatten(returnContext);
returnContext = inferrer.wrapFutureOrType(flattenedType);
if (!needToInferReturnType) {
futureValueType = flattenedType;
}
}
return new _AsyncClosureContext(returnContext, declaredReturnType,
needToInferReturnType, futureValueType);
@@ -815,6 +819,8 @@ class _AsyncClosureContext implements ClosureContext {
if (inferrer.isNonNullableByDefault) {
futureValueType =
computeFutureValueType(inferrer.coreTypes, inferredType);
} else {
futureValueType = inferrer.typeSchemaEnvironment.flatten(inferredType);
}
if (!inferrer.isTopLevel) {
for (int i = 0; i < _returnStatements!.length; ++i) {
@@ -2105,10 +2105,7 @@ class TypeInferrerImpl implements TypeInferrer {
result =
closureContext!.handleImplicitReturn(this, body, result, fileOffset);
DartType? futureValueType = closureContext!.futureValueType;
assert(
!(isNonNullableByDefault &&
asyncMarker == AsyncMarker.Async &&
futureValueType == null),
assert(!(asyncMarker == AsyncMarker.Async && futureValueType == null),
"No future value type computed.");
closureContext = null;
this.helper = null;
@@ -2863,8 +2860,7 @@ class TypeInferrerImpl implements TypeInferrer {
this, function.body!, bodyResult, fileOffset);
function.futureValueType = closureContext.futureValueType;
assert(
!(isNonNullableByDefault &&
function.asyncMarker == AsyncMarker.Async &&
!(function.asyncMarker == AsyncMarker.Async &&
function.futureValueType == null),
"No future value type computed.");
@@ -48,7 +48,7 @@ forInIntToNum(List<int> list) {
}
}
/*cfe:nnbd.member: asyncForInDynamicStream:futureValueType=dynamic*/
/*member: asyncForInDynamicStream:futureValueType=dynamic*/
asyncForInDynamicStream(dynamic stream) async {
/*current: dynamic*/
await for (var e in
@@ -59,7 +59,7 @@ asyncForInDynamicStream(dynamic stream) async {
}
}
/*cfe:nnbd.member: asyncForInDynamic:futureValueType=dynamic*/
/*member: asyncForInDynamic:futureValueType=dynamic*/
asyncForInDynamic(Stream<dynamic> stream) async {
/*current: dynamic*/
await for (var e in
@@ -70,7 +70,7 @@ asyncForInDynamic(Stream<dynamic> stream) async {
}
}
/*cfe:nnbd.member: asyncForInInt:futureValueType=dynamic*/
/*member: asyncForInInt:futureValueType=dynamic*/
asyncForInInt(Stream<int> stream) async {
/*cfe.current: int*/
/*cfe:nnbd.current: int!*/
@@ -84,7 +84,7 @@ asyncForInInt(Stream<int> stream) async {
}
}
/*cfe:nnbd.member: asyncForInIntToNum:futureValueType=dynamic*/
/*member: asyncForInIntToNum:futureValueType=dynamic*/
asyncForInIntToNum(Stream<int> stream) async {
/*cfe.current: int*/
/*cfe:nnbd.current: int!*/
@@ -119,7 +119,7 @@ abstract class CustomStream implements Stream<num> {
Iterator<int> get iterator;
}
/*cfe:nnbd.member: customStream:futureValueType=dynamic*/
/*member: customStream:futureValueType=dynamic*/
customStream(CustomStream stream) async {
/*cfe.current: num*/
/*cfe:nnbd.current: num!*/
@@ -158,7 +158,7 @@ abstract class StreamWithCustomIterator implements Stream<num> {
CustomIterator get iterator;
}
/*cfe:nnbd.member: customStreamIterator:futureValueType=dynamic*/
/*member: customStreamIterator:futureValueType=dynamic*/
customStreamIterator(StreamWithCustomIterator stream) async {
/*cfe.current: num*/
/*cfe:nnbd.current: num!*/
@@ -183,7 +183,7 @@ void genericIterable<T extends Iterable<T>>(T x) {
}
}
/*cfe:nnbd.member: genericStream:futureValueType=void*/
/*member: genericStream:futureValueType=void*/
void genericStream<T extends Stream<T>>(T x) async {
/*cfe.current: T*/
/*cfe:nnbd.current: T!*/
@@ -9,50 +9,53 @@
import 'dart:async';
/*cfe:nnbd.member: declaredFutureInt:futureValueType=int!*/
/*cfe.member: declaredFutureInt:futureValueType=int*/
Future<int> declaredFutureInt() async {
return
/*cfe.int*/ /*cfe:nnbd.int!*/ 0;
}
/*cfe:nnbd.member: declaredFutureOrInt:futureValueType=int!*/
/*cfe.member: declaredFutureOrInt:futureValueType=int*/
FutureOr<int> declaredFutureOrInt() async {
return
/*cfe.int*/ /*cfe:nnbd.int!*/ 0;
}
/*cfe:nnbd.member: declaredObject:futureValueType=Object?*/
/*cfe.member: declaredObject:futureValueType=Object*/
Object declaredObject() async {
return
/*cfe.int*/ /*cfe:nnbd.int!*/ 0;
}
/*cfe:nnbd.member: omitted:futureValueType=dynamic*/
/*member: omitted:futureValueType=dynamic*/
omitted() async {}
/*cfe:nnbd.member: method:futureValueType=dynamic*/
/*member: method:futureValueType=dynamic*/
method() async {
/*cfe:nnbd.futureValueType=int!*/
Future<int> declaredLocalFutureInt() async {
/*cfe.futureValueType=int*/Future<int> declaredLocalFutureInt() async {
return
/*cfe.int*/ /*cfe:nnbd.int!*/ 0;
}
/*cfe:nnbd.futureValueType=int!*/
FutureOr<int> declaredLocalFutureOrInt() async {
/*cfe.futureValueType=int*/FutureOr<int> declaredLocalFutureOrInt() async {
return
/*cfe.int*/ /*cfe:nnbd.int!*/ 0;
}
/*cfe:nnbd.futureValueType=Object?*/
Object declaredLocalObject() async {
/*cfe.futureValueType=Object*/Object declaredLocalObject() async {
return
/*cfe.int*/ /*cfe:nnbd.int!*/ 0;
}
/*cfe:nnbd.futureValueType=Null*/ omittedLocal() async {}
/*futureValueType=Null*/omittedLocal() async {}
Future<int> inferredCalledFutureInt =
/*cfe.Future<int> Function()*/
/*cfe.Future<int> Function(),futureValueType=int*/
/*cfe:nnbd.Future<int!>! Function()!,futureValueType=int!*/
() async {
return
@@ -63,7 +66,7 @@ method() async {
();
FutureOr<int> inferredCalledFutureOrInt =
/*cfe.Future<int> Function()*/
/*cfe.Future<int> Function(),futureValueType=int*/
/*cfe:nnbd.Future<int!>! Function()!,futureValueType=int!*/
() async {
return
@@ -74,7 +77,7 @@ method() async {
();
Future<int> Function() inferredFutureInt =
/*cfe.Future<int> Function()*/
/*cfe.Future<int> Function(),futureValueType=int*/
/*cfe:nnbd.Future<int!>! Function()!,futureValueType=int!*/
() async {
return
@@ -82,7 +85,7 @@ method() async {
};
FutureOr<int> Function() inferredFutureOrInt =
/*cfe.Future<int> Function()*/
/*cfe.Future<int> Function(),futureValueType=int*/
/*cfe:nnbd.Future<int!>! Function()!,futureValueType=int!*/
() async {
return
@@ -90,7 +93,7 @@ method() async {
};
Object Function() inferredInt =
/*cfe.Future<int> Function()*/
/*cfe.Future<int> Function(),futureValueType=int*/
/*cfe:nnbd.Future<int!>! Function()!,futureValueType=int!*/
() async {
return
@@ -98,7 +101,7 @@ method() async {
};
Object Function() inferredNull =
/*cfe.Future<Null> Function()*/
/*cfe.Future<Null> Function(),futureValueType=Null*/
/*cfe:nnbd.Future<Null>! Function()!,futureValueType=Null*/
() async {
return
@@ -106,7 +109,7 @@ method() async {
};
Object Function() inferredEmpty =
/*cfe.Future<Null> Function()*/
/*cfe.Future<Null> Function(),futureValueType=Null*/
/*cfe:nnbd.Future<Null>! Function()!,futureValueType=Null*/
() async {};
}
@@ -13,7 +13,7 @@ extension Extension on core::int* {
static method Extension|syncStarMethod(lowered final core::int* #this) → dynamic sync* {}
static method Extension|get#syncStarMethod(lowered final core::int* #this) → () →* dynamic
return () → dynamic => self::Extension|syncStarMethod(#this);
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic async {}
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic async /* futureValueType= dynamic */ {}
static method Extension|get#asyncMethod(lowered final core::int* #this) → () →* dynamic
return () → dynamic => self::Extension|asyncMethod(#this);
static method Extension|asyncStarMethod(lowered final core::int* #this) → dynamic async* {}
@@ -13,7 +13,7 @@ extension Extension on core::int* {
static method Extension|syncStarMethod(lowered final core::int* #this) → dynamic sync* {}
static method Extension|get#syncStarMethod(lowered final core::int* #this) → () →* dynamic
return () → dynamic => self::Extension|syncStarMethod(#this);
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic async {}
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic async /* futureValueType= dynamic */ {}
static method Extension|get#asyncMethod(lowered final core::int* #this) → () →* dynamic
return () → dynamic => self::Extension|asyncMethod(#this);
static method Extension|asyncStarMethod(lowered final core::int* #this) → dynamic async* {}
@@ -25,7 +25,7 @@ static method Extension|syncStarMethod(lowered final core::int* #this) → dynam
}
static method Extension|get#syncStarMethod(lowered final core::int* #this) → () →* dynamic
return () → dynamic => self::Extension|syncStarMethod(#this);
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic /* originally async */ {
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -13,7 +13,7 @@ import "dart:core" as core;
import "org-dartlang-testcase:///deferred_explicit_access_lib.dart" deferred as prefix;
static method main() → dynamic async {
static method main() → dynamic async /* futureValueType= dynamic */ {
await LoadLibrary(prefix);
self::expect(0, let final dynamic #t1 = CheckLibraryIsLoaded(prefix) in def::Extension|staticField);
self::expect(0, let final dynamic #t2 = CheckLibraryIsLoaded(prefix) in def::Extension|get#property(0));
@@ -13,7 +13,7 @@ import "dart:core" as core;
import "org-dartlang-testcase:///deferred_explicit_access_lib.dart" deferred as prefix;
static method main() → dynamic async {
static method main() → dynamic async /* futureValueType= dynamic */ {
await LoadLibrary(prefix);
self::expect(0, let final dynamic #t1 = CheckLibraryIsLoaded(prefix) in def::Extension|staticField);
self::expect(0, let final dynamic #t2 = CheckLibraryIsLoaded(prefix) in def::Extension|get#property(0));
@@ -14,7 +14,7 @@ import "deferred_explicit_access_lib.dart" as def;
import "org-dartlang-testcase:///deferred_explicit_access_lib.dart" deferred as prefix;
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -5,7 +5,7 @@ import "dart:core" as core;
import "org-dartlang-testcase:///deferred_explicit_access_lib.dart" deferred as prefix hide Extension;
static method main() → dynamic async {
static method main() → dynamic async /* futureValueType= dynamic */ {
await LoadLibrary(prefix);
self::expect(0, let final dynamic #t1 = CheckLibraryIsLoaded(prefix) in def::topLevelField);
self::expect(42, let final dynamic #t2 = CheckLibraryIsLoaded(prefix) in def::topLevelField = 42);
@@ -5,7 +5,7 @@ import "dart:core" as core;
import "org-dartlang-testcase:///deferred_explicit_access_lib.dart" deferred as prefix hide Extension;
static method main() → dynamic async {
static method main() → dynamic async /* futureValueType= dynamic */ {
await LoadLibrary(prefix);
self::expect(0, let final dynamic #t1 = CheckLibraryIsLoaded(prefix) in def::topLevelField);
self::expect(42, let final dynamic #t2 = CheckLibraryIsLoaded(prefix) in def::topLevelField = 42);
@@ -6,7 +6,7 @@ import "deferred_explicit_access_lib.dart" as def;
import "org-dartlang-testcase:///deferred_explicit_access_lib.dart" deferred as prefix hide Extension;
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -1758,7 +1758,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
#t235.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
} =>#t235;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async /* futureValueType= dynamic */ {
block {
final core::List<core::int*>* #t236 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
@@ -1758,7 +1758,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
#t235.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
} =>#t235;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async /* futureValueType= dynamic */ {
block {
final core::List<core::int*>* #t236 = <core::int*>[];
for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
@@ -1943,7 +1943,7 @@ static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, co
#t235.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
} =>#t235;
}
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic /* originally async */ {
static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -4,7 +4,7 @@ import "dart:core" as core;
import "dart:async" as asy;
abstract class TestMixin<R extends core::Object* = dynamic, T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/ {
method test(covariant-by-class asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* async {
method test(covariant-by-class asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* async /* futureValueType= self::TestMixin::T* */ {
final self::TestMixin::R* response = await fetch;
self::TestMixin::T* result;
if(response is self::Response<dynamic>*) {
@@ -4,7 +4,7 @@ import "dart:core" as core;
import "dart:async" as asy;
abstract class TestMixin<R extends core::Object* = dynamic, T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/ {
method test(covariant-by-class asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* async {
method test(covariant-by-class asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* async /* futureValueType= self::TestMixin::T* */ {
final self::TestMixin::R* response = await fetch;
self::TestMixin::T* result;
if(response is self::Response<dynamic>*) {
@@ -5,7 +5,7 @@ import "dart:async" as asy;
import "dart:_internal" as _in;
abstract class TestMixin<R extends core::Object* = dynamic, T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/ {
method test(covariant-by-class asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* /* originally async */ {
method test(covariant-by-class asy::Future<self::TestMixin::R*>* fetch) → asy::Future<self::TestMixin::T*>* /* futureValueType= self::TestMixin::T* */ /* originally async */ {
final asy::_Future<self::TestMixin::T*>* :async_future = new asy::_Future::•<self::TestMixin::T*>();
core::bool* :is_sync = false;
FutureOr<self::TestMixin::T*>* :return_value;
@@ -27,7 +27,7 @@ class B extends core::Object {
synthetic constructor •() → self::B*
: super core::Object::•()
;
method bar() → asy::Future<dynamic>* async
method bar() → asy::Future<dynamic>* async /* futureValueType= dynamic */
return this.{self::B::a}{self::A*}.{self::A::foo}(){() →* dynamic};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -45,7 +45,7 @@ class C extends core::Object {
synthetic constructor •() → self::C*
: super core::Object::•()
;
method baz() → asy::Future<core::int*>* async
method baz() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return this.{self::C::b}{self::B*}.{self::B::bar}(){() →* asy::Future<dynamic>*} as{TypeError} FutureOr<core::int*>*;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -27,7 +27,7 @@ class B extends core::Object {
synthetic constructor •() → self::B*
: super core::Object::•()
;
method bar() → asy::Future<dynamic>* async
method bar() → asy::Future<dynamic>* async /* futureValueType= dynamic */
return this.{self::B::a}{self::A*}.{self::A::foo}(){() →* dynamic};
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -45,7 +45,7 @@ class C extends core::Object {
synthetic constructor •() → self::C*
: super core::Object::•()
;
method baz() → asy::Future<core::int*>* async
method baz() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return this.{self::C::b}{self::B*}.{self::B::bar}(){() →* asy::Future<dynamic>*} as{TypeError} FutureOr<core::int*>*;
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
@@ -27,7 +27,7 @@ class B extends core::Object {
synthetic constructor •() → self::B*
: super core::Object::•()
;
method bar() → asy::Future<dynamic>* /* originally async */ {
method bar() → asy::Future<dynamic>* /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
FutureOr<dynamic>* :return_value;
@@ -70,7 +70,7 @@ class C extends core::Object {
synthetic constructor •() → self::C*
: super core::Object::•()
;
method baz() → asy::Future<core::int*>* /* originally async */ {
method baz() → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -6,9 +6,9 @@ static method bar(core::int* a, core::List<core::int*>* b) → dynamic {
self::expect(1.{core::int::unary-}(){() →* core::int*}, a);
self::expect(1.{core::int::unary-}(){() →* core::int*}, b.{core::List::[]}(0){(core::int*) →* core::int*}.{core::num::-}(2){(core::num*) →* core::int*});
}
static method foo(core::int* x) → dynamic async
static method foo(core::int* x) → dynamic async /* futureValueType= dynamic */
return self::bar(x.{core::num::-}(1){(core::num*) →* core::int*}, !(x == null) ?{core::List<core::int*>*} <core::int*>[x.{core::num::+}(1){(core::num*) →* core::int*}, x.{core::num::+}(2){(core::num*) →* core::int*}, await null] : null);
static method main() → void async
static method main() → void async /* futureValueType= void */
return await self::foo(0);
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
@@ -6,9 +6,9 @@ static method bar(core::int* a, core::List<core::int*>* b) → dynamic {
self::expect(1.{core::int::unary-}(){() →* core::int*}, a);
self::expect(1.{core::int::unary-}(){() →* core::int*}, b.{core::List::[]}(0){(core::int*) →* core::int*}.{core::num::-}(2){(core::num*) →* core::int*});
}
static method foo(core::int* x) → dynamic async
static method foo(core::int* x) → dynamic async /* futureValueType= dynamic */
return self::bar(x.{core::num::-}(1){(core::num*) →* core::int*}, !(x == null) ?{core::List<core::int*>*} <core::int*>[x.{core::num::+}(1){(core::num*) →* core::int*}, x.{core::num::+}(2){(core::num*) →* core::int*}, await null] : null);
static method main() → void async
static method main() → void async /* futureValueType= void */
return await self::foo(0);
static method expect(dynamic expected, dynamic actual) → dynamic {
if(!(expected =={core::Object::==}{(core::Object*) →* core::bool*} actual))
@@ -8,7 +8,7 @@ static method bar(core::int* a, core::List<core::int*>* b) → dynamic {
self::expect(1.{core::int::unary-}(){() →* core::int*}, a);
self::expect(1.{core::int::unary-}(){() →* core::int*}, b.{core::List::[]}(0){(core::int*) →* core::int*}.{core::num::-}(2){(core::num*) →* core::int*});
}
static method foo(core::int* x) → dynamic /* originally async */ {
static method foo(core::int* x) → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
FutureOr<dynamic>* :return_value;
@@ -50,7 +50,7 @@ static method foo(core::int* x) → dynamic /* originally async */ {
:is_sync = true;
return :async_future;
}
static method main() → void /* originally async */ {
static method main() → void /* futureValueType= void */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
FutureOr<dynamic>* :return_value;
@@ -22,7 +22,7 @@ class Class<T extends core::Object* = dynamic> extends core::Object {
static method method() → dynamic
return null;
static method main() → dynamic {
new self::Class::•<dynamic>(a: () → FutureOr<core::List<dynamic>*>* async => self::method() as{TypeError} FutureOr<core::List<dynamic>*>*);
new self::Class::•<dynamic>(a: () → FutureOr<core::List<dynamic>*>* async /* futureValueType= core::List<dynamic>* */ => self::method() as{TypeError} FutureOr<core::List<dynamic>*>*);
}
constants {
@@ -22,7 +22,7 @@ class Class<T extends core::Object* = dynamic> extends core::Object {
static method method() → dynamic
return null;
static method main() → dynamic {
new self::Class::•<dynamic>(a: () → FutureOr<core::List<dynamic>*>* async => self::method() as{TypeError} FutureOr<core::List<dynamic>*>*);
new self::Class::•<dynamic>(a: () → FutureOr<core::List<dynamic>*>* async /* futureValueType= core::List<dynamic>* */ => self::method() as{TypeError} FutureOr<core::List<dynamic>*>*);
}
constants {
@@ -23,7 +23,7 @@ class Class<T extends core::Object* = dynamic> extends core::Object {
static method method() → dynamic
return null;
static method main() → dynamic {
new self::Class::•<dynamic>(a: () → FutureOr<core::List<dynamic>*>* /* originally async */ {
new self::Class::•<dynamic>(a: () → FutureOr<core::List<dynamic>*>* /* futureValueType= core::List<dynamic>* */ /* originally async */ {
final asy::_Future<core::List<dynamic>*>* :async_future = new asy::_Future::•<core::List<dynamic>*>();
core::bool* :is_sync = false;
FutureOr<core::List<dynamic>*>* :return_value;
@@ -0,0 +1,13 @@
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'return_async_promoted_lib.dart';
void main() {
var f = <T>(o) async => o is int ? o : throw '';
var g = () async => legacy();
}
int? nullable() => null;
int? nonNullable() => 0;
@@ -0,0 +1,5 @@
import 'return_async_promoted_lib.dart';
void main() {}
int? nullable() => null;
int? nonNullable() => 0;
@@ -0,0 +1,5 @@
import 'return_async_promoted_lib.dart';
int? nonNullable() => 0;
int? nullable() => null;
void main() {}
@@ -0,0 +1,31 @@
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "return_async_promoted_lib.dart" as ret;
import "org-dartlang-testcase:///return_async_promoted_lib.dart";
static method main() → void {
<T extends core::Object? = dynamic>(dynamic) → asy::Future<core::int> f = <T extends core::Object? = dynamic>(dynamic o) → asy::Future<core::int> async /* futureValueType= core::int */ => o is{ForNonNullableByDefault} core::int ?{core::int} o{core::int} : throw "";
() → asy::Future<core::int> g = () → asy::Future<core::int> async /* futureValueType= core::int* */ => ret::legacy();
}
static method nullable() → core::int?
return null;
static method nonNullable() → core::int?
return 0;
library;
import self as ret;
import "dart:core" as core;
import "dart:async" as asy;
import "return_async_promoted.dart" as self;
import "org-dartlang-testcase:///return_async_promoted.dart";
static method legacy() → core::int* {
<T extends core::Object* = dynamic>(dynamic) →* asy::Future<core::int*>* f = <T extends core::Object* = dynamic>(dynamic o) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => o is core::int* ?{core::int*} o{core::int*} : throw "";
() →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::nullable();
() →* asy::Future<core::int*>* h = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::nonNullable();
return null;
}
@@ -0,0 +1,31 @@
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "return_async_promoted_lib.dart" as ret;
import "org-dartlang-testcase:///return_async_promoted_lib.dart";
static method main() → void {
<T extends core::Object? = dynamic>(dynamic) → asy::Future<core::int> f = <T extends core::Object? = dynamic>(dynamic o) → asy::Future<core::int> async /* futureValueType= core::int */ => o is{ForNonNullableByDefault} core::int ?{core::int} o{core::int} : throw "";
() → asy::Future<core::int> g = () → asy::Future<core::int> async /* futureValueType= core::int* */ => ret::legacy();
}
static method nullable() → core::int?
return null;
static method nonNullable() → core::int?
return 0;
library;
import self as ret;
import "dart:core" as core;
import "dart:async" as asy;
import "return_async_promoted.dart" as self;
import "org-dartlang-testcase:///return_async_promoted.dart";
static method legacy() → core::int* {
<T extends core::Object* = dynamic>(dynamic) →* asy::Future<core::int*>* f = <T extends core::Object* = dynamic>(dynamic o) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => o is core::int* ?{core::int*} o{core::int*} : throw "";
() →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::nullable();
() →* asy::Future<core::int*>* h = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::nonNullable();
return null;
}
@@ -0,0 +1,21 @@
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "org-dartlang-testcase:///return_async_promoted_lib.dart";
static method main() → void
;
static method nullable() → core::int?
;
static method nonNullable() → core::int?
;
library;
import self as self2;
import "dart:core" as core;
import "org-dartlang-testcase:///return_async_promoted.dart";
static method legacy() → core::int*
;
@@ -0,0 +1,161 @@
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "return_async_promoted_lib.dart" as ret;
import "org-dartlang-testcase:///return_async_promoted_lib.dart";
static method main() → void {
<T extends core::Object? = dynamic>(dynamic) → asy::Future<core::int> f = <T extends core::Object? = dynamic>(dynamic o) → asy::Future<core::int> /* futureValueType= core::int */ /* originally async */ {
final asy::_Future<core::int> :async_future = new asy::_Future::•<core::int>();
core::bool* :is_sync = false;
core::int? :return_value;
(dynamic) → dynamic :async_op_then;
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L1:
{
:return_value = o is{ForNonNullableByDefault} core::int ?{core::int} o{core::int} : throw "";
break #L1;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
() → asy::Future<core::int> g = () → asy::Future<core::int> /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int> :async_future = new asy::_Future::•<core::int>();
core::bool* :is_sync = false;
core::int? :return_value;
(dynamic) → dynamic :async_op_then;
(core::Object, core::StackTrace) → dynamic :async_op_error;
core::int :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L2:
{
:return_value = ret::legacy();
break #L2;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
on dynamic catch(dynamic exception, core::StackTrace stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_op(null, null){() → dynamic};
:is_sync = true;
return :async_future;
};
}
static method nullable() → core::int?
return null;
static method nonNullable() → core::int?
return 0;
library;
import self as ret;
import "dart:core" as core;
import "dart:async" as asy;
import "return_async_promoted.dart" as self;
import "org-dartlang-testcase:///return_async_promoted.dart";
static method legacy() → core::int* {
<T extends core::Object* = dynamic>(dynamic) →* asy::Future<core::int*>* f = <T extends core::Object* = dynamic>(dynamic o) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
(dynamic) →* dynamic :async_op_then;
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L3:
{
:return_value = o is core::int* ?{core::int*} o{core::int*} : throw "";
break #L3;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
() →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
(dynamic) →* dynamic :async_op_then;
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L4:
{
:return_value = self::nullable();
break #L4;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
() →* asy::Future<core::int*>* h = () → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
(dynamic) →* dynamic :async_op_then;
(core::Object*, core::StackTrace*) →* dynamic :async_op_error;
core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) → dynamic yielding
try {
#L5:
{
:return_value = self::nonNullable();
break #L5;
}
asy::_completeWithNoFutureOnAsyncReturn(:async_future, :return_value, :is_sync);
return;
}
on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
}
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_op(null, null){() →* dynamic};
:is_sync = true;
return :async_future;
};
return null;
}
@@ -0,0 +1,14 @@
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// @dart=2.9
import 'return_async_promoted.dart';
int legacy() {
var f = <T>(o) async => o is int ? o : throw '';
var g = () async => nullable();
var h = () async => nonNullable();
return null;
}
@@ -1,7 +1,7 @@
main = main::main;
library from "org-dartlang-test:///libA.dart" as libA {
static method whatever() → dynamic /* originally async */ {
static method whatever() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -53,7 +53,7 @@ library from "org-dartlang-test:///main.dart" as main {
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic; -> dart.core::Object::noSuchMethod
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -1,7 +1,7 @@
main = main::main;
library from "org-dartlang-test:///libA.dart" as libA {
static method whatever() → dynamic /* originally async */ {
static method whatever() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -53,7 +53,7 @@ library from "org-dartlang-test:///main.dart" as main {
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic; -> dart.core::Object::noSuchMethod
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -19,7 +19,7 @@ library from "org-dartlang-test:///main.dart" as main {
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic; -> dart.core::Object::noSuchMethod
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -48,7 +48,7 @@ library from "org-dartlang-test:///main.dart" as main {
:is_sync = true;
return :async_future;
}
static method /* from org-dartlang-test:///myPart.dart */ whatever() → dynamic /* originally async */ {
static method /* from org-dartlang-test:///myPart.dart */ whatever() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -19,7 +19,7 @@ library from "org-dartlang-test:///main.dart" as main {
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic; -> dart.core::Object::noSuchMethod
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -48,7 +48,7 @@ library from "org-dartlang-test:///main.dart" as main {
:is_sync = true;
return :async_future;
}
static method /* from org-dartlang-test:///myPart.dart */ whatever() → dynamic /* originally async */ {
static method /* from org-dartlang-test:///myPart.dart */ whatever() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -19,7 +19,7 @@ library from "org-dartlang-test:///main.dart" as main {
abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic; -> dart.core::Object::noSuchMethod
abstract member-signature get runtimeType() → dart.core::Type*; -> dart.core::Object::runtimeType
}
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -49,7 +49,7 @@ library from "org-dartlang-test:///main.dart" as main {
:is_sync = true;
return :async_future;
}
static method /* from org-dartlang-test:///myPart.dart */ whatever() → dynamic /* originally async */ {
static method /* from org-dartlang-test:///myPart.dart */ whatever() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final dart.async::_Future<dynamic>* :async_future = new dart.async::_Future::•<dynamic>();
dart.core::bool* :is_sync = false;
dynamic :return_value;
@@ -25,7 +25,7 @@ abstract class MyFuture extends core::Object implements asy::Future<core::int*>
abstract member-signature method asStream() → asy::Stream<core::int*>*; -> asy::Future::asStream
abstract member-signature method timeout(core::Duration* timeLimit, {covariant-by-class () →* FutureOr<core::int*>* onTimeout = #C1}) → asy::Future<core::int*>*; -> asy::Future::timeout
}
static method test() → void async {
static method test() → void async /* futureValueType= void */ {
core::int* x0;
asy::Future<core::int*>* x1;
asy::Future<asy::Future<core::int*>*>* x2;
@@ -36,25 +36,25 @@ static method test() → void async {
FutureOr<FutureOr<core::int*>*>* x7;
FutureOr<self::MyFuture*>* x8;
self::MyFuture* x9;
function test0() → asy::Future<core::int*>* async
function test0() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x0;
function test1() → asy::Future<core::int*>* async
function test1() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x1;
function test2() → asy::Future<asy::Future<core::int*>*>* async
function test2() → asy::Future<asy::Future<core::int*>*>* async /* futureValueType= asy::Future<core::int*>* */
return x2;
function test3() → asy::Future<FutureOr<core::int*>*>* async
function test3() → asy::Future<FutureOr<core::int*>*>* async /* futureValueType= FutureOr<core::int*>* */
return x3;
function test4() → asy::Future<self::MyFuture*>* async
function test4() → asy::Future<self::MyFuture*>* async /* futureValueType= self::MyFuture* */
return x4;
function test5() → asy::Future<core::int*>* async
function test5() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x5;
function test6() → asy::Future<asy::Future<core::int*>*>* async
function test6() → asy::Future<asy::Future<core::int*>*>* async /* futureValueType= asy::Future<core::int*>* */
return x6;
function test7() → asy::Future<FutureOr<core::int*>*>* async
function test7() → asy::Future<FutureOr<core::int*>*>* async /* futureValueType= FutureOr<core::int*>* */
return x7;
function test8() → asy::Future<self::MyFuture*>* async
function test8() → asy::Future<self::MyFuture*>* async /* futureValueType= self::MyFuture* */
return x8;
function test9() → asy::Future<core::int*>* async
function test9() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x9;
core::int* y0 = await x0;
core::int* y1 = await x1;
@@ -25,7 +25,7 @@ abstract class MyFuture extends core::Object implements asy::Future<core::int*>
abstract member-signature method asStream() → asy::Stream<core::int*>*; -> asy::Future::asStream
abstract member-signature method timeout(core::Duration* timeLimit, {covariant-by-class () →* FutureOr<core::int*>* onTimeout = #C1}) → asy::Future<core::int*>*; -> asy::Future::timeout
}
static method test() → void async {
static method test() → void async /* futureValueType= void */ {
core::int* x0;
asy::Future<core::int*>* x1;
asy::Future<asy::Future<core::int*>*>* x2;
@@ -36,25 +36,25 @@ static method test() → void async {
FutureOr<FutureOr<core::int*>*>* x7;
FutureOr<self::MyFuture*>* x8;
self::MyFuture* x9;
function test0() → asy::Future<core::int*>* async
function test0() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x0;
function test1() → asy::Future<core::int*>* async
function test1() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x1;
function test2() → asy::Future<asy::Future<core::int*>*>* async
function test2() → asy::Future<asy::Future<core::int*>*>* async /* futureValueType= asy::Future<core::int*>* */
return x2;
function test3() → asy::Future<FutureOr<core::int*>*>* async
function test3() → asy::Future<FutureOr<core::int*>*>* async /* futureValueType= FutureOr<core::int*>* */
return x3;
function test4() → asy::Future<self::MyFuture*>* async
function test4() → asy::Future<self::MyFuture*>* async /* futureValueType= self::MyFuture* */
return x4;
function test5() → asy::Future<core::int*>* async
function test5() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x5;
function test6() → asy::Future<asy::Future<core::int*>*>* async
function test6() → asy::Future<asy::Future<core::int*>*>* async /* futureValueType= asy::Future<core::int*>* */
return x6;
function test7() → asy::Future<FutureOr<core::int*>*>* async
function test7() → asy::Future<FutureOr<core::int*>*>* async /* futureValueType= FutureOr<core::int*>* */
return x7;
function test8() → asy::Future<self::MyFuture*>* async
function test8() → asy::Future<self::MyFuture*>* async /* futureValueType= self::MyFuture* */
return x8;
function test9() → asy::Future<core::int*>* async
function test9() → asy::Future<core::int*>* async /* futureValueType= core::int* */
return x9;
core::int* y0 = await x0;
core::int* y1 = await x1;
@@ -26,7 +26,7 @@ abstract class MyFuture extends core::Object implements asy::Future<core::int*>
abstract member-signature method asStream() → asy::Stream<core::int*>*; -> asy::Future::asStream
abstract member-signature method timeout(core::Duration* timeLimit, {covariant-by-class () →* FutureOr<core::int*>* onTimeout = #C1}) → asy::Future<core::int*>*; -> asy::Future::timeout
}
static method test() → void /* originally async */ {
static method test() → void /* futureValueType= void */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -49,7 +49,7 @@ static method test() → void /* originally async */ {
FutureOr<FutureOr<core::int*>*>* x7;
FutureOr<self::MyFuture*>* x8;
self::MyFuture* x9;
function test0() → asy::Future<core::int*>* /* originally async */ {
function test0() → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -76,7 +76,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test1() → asy::Future<core::int*>* /* originally async */ {
function test1() → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -103,7 +103,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test2() → asy::Future<asy::Future<core::int*>*>* /* originally async */ {
function test2() → asy::Future<asy::Future<core::int*>*>* /* futureValueType= asy::Future<core::int*>* */ /* originally async */ {
final asy::_Future<asy::Future<core::int*>*>* :async_future = new asy::_Future::•<asy::Future<core::int*>*>();
core::bool* :is_sync = false;
FutureOr<asy::Future<core::int*>*>* :return_value;
@@ -130,7 +130,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test3() → asy::Future<FutureOr<core::int*>*>* /* originally async */ {
function test3() → asy::Future<FutureOr<core::int*>*>* /* futureValueType= FutureOr<core::int*>* */ /* originally async */ {
final asy::_Future<FutureOr<core::int*>*>* :async_future = new asy::_Future::•<FutureOr<core::int*>*>();
core::bool* :is_sync = false;
FutureOr<FutureOr<core::int*>*>* :return_value;
@@ -157,7 +157,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test4() → asy::Future<self::MyFuture*>* /* originally async */ {
function test4() → asy::Future<self::MyFuture*>* /* futureValueType= self::MyFuture* */ /* originally async */ {
final asy::_Future<self::MyFuture*>* :async_future = new asy::_Future::•<self::MyFuture*>();
core::bool* :is_sync = false;
FutureOr<self::MyFuture*>* :return_value;
@@ -184,7 +184,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test5() → asy::Future<core::int*>* /* originally async */ {
function test5() → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -211,7 +211,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test6() → asy::Future<asy::Future<core::int*>*>* /* originally async */ {
function test6() → asy::Future<asy::Future<core::int*>*>* /* futureValueType= asy::Future<core::int*>* */ /* originally async */ {
final asy::_Future<asy::Future<core::int*>*>* :async_future = new asy::_Future::•<asy::Future<core::int*>*>();
core::bool* :is_sync = false;
FutureOr<asy::Future<core::int*>*>* :return_value;
@@ -238,7 +238,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test7() → asy::Future<FutureOr<core::int*>*>* /* originally async */ {
function test7() → asy::Future<FutureOr<core::int*>*>* /* futureValueType= FutureOr<core::int*>* */ /* originally async */ {
final asy::_Future<FutureOr<core::int*>*>* :async_future = new asy::_Future::•<FutureOr<core::int*>*>();
core::bool* :is_sync = false;
FutureOr<FutureOr<core::int*>*>* :return_value;
@@ -265,7 +265,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test8() → asy::Future<self::MyFuture*>* /* originally async */ {
function test8() → asy::Future<self::MyFuture*>* /* futureValueType= self::MyFuture* */ /* originally async */ {
final asy::_Future<self::MyFuture*>* :async_future = new asy::_Future::•<self::MyFuture*>();
core::bool* :is_sync = false;
FutureOr<self::MyFuture*>* :return_value;
@@ -292,7 +292,7 @@ static method test() → void /* originally async */ {
:is_sync = true;
return :async_future;
}
function test9() → asy::Future<core::int*>* /* originally async */ {
function test9() → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -7,7 +7,7 @@ import "dart:async";
static field asy::Future<core::int*>* futureInt = null;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* => self::futureInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async => self::futureInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::futureInt;
static method main() → dynamic {
self::f;
self::g;
@@ -7,7 +7,7 @@ import "dart:async";
static field asy::Future<core::int*>* futureInt = null;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* => self::futureInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async => self::futureInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::futureInt;
static method main() → dynamic {
self::f;
self::g;
@@ -7,7 +7,7 @@ import "dart:async";
static field asy::Future<core::int*>* futureInt = null;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* => self::futureInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* /* originally async */ {
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -3,7 +3,7 @@ import self as self;
import "dart:async" as asy;
import "dart:core" as core;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* async => 0;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 0;
static method main() → dynamic {
self::f;
}
@@ -3,7 +3,7 @@ import self as self;
import "dart:async" as asy;
import "dart:core" as core;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* async => 0;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 0;
static method main() → dynamic {
self::f;
}
@@ -3,7 +3,7 @@ import self as self;
import "dart:async" as asy;
import "dart:core" as core;
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* /* originally async */ {
static field () →* asy::Future<core::int*>* f = () → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -7,7 +7,7 @@ import "dart:async";
static field FutureOr<core::int*>* futureOrInt = null;
static field () →* FutureOr<core::int*>* f = () → FutureOr<core::int*>* => self::futureOrInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async => self::futureOrInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::futureOrInt;
static method main() → dynamic {
self::f;
self::g;
@@ -7,7 +7,7 @@ import "dart:async";
static field FutureOr<core::int*>* futureOrInt = null;
static field () →* FutureOr<core::int*>* f = () → FutureOr<core::int*>* => self::futureOrInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async => self::futureOrInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* async /* futureValueType= core::int* */ => self::futureOrInt;
static method main() → dynamic {
self::f;
self::g;
@@ -7,7 +7,7 @@ import "dart:async";
static field FutureOr<core::int*>* futureOrInt = null;
static field () →* FutureOr<core::int*>* f = () → FutureOr<core::int*>* => self::futureOrInt;
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* /* originally async */ {
static field () →* asy::Future<core::int*>* g = () → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async /* futureValueType= core::num* */ {
if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return asy::Future::value<core::int*>(1);
}
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async /* futureValueType= core::num* */ {
if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return asy::Future::value<core::int*>(1);
}
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* /* originally async */ {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* /* futureValueType= core::num* */ /* originally async */ {
final asy::_Future<core::num*>* :async_future = new asy::_Future::•<core::num*>();
core::bool* :is_sync = false;
FutureOr<core::num*>* :return_value;
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async /* futureValueType= core::num* */ {
if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return 1;
}
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async /* futureValueType= core::num* */ {
if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return 1;
}
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* /* originally async */ {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* /* futureValueType= core::num* */ /* originally async */ {
final asy::_Future<core::num*>* :async_future = new asy::_Future::•<core::num*>();
core::bool* :is_sync = false;
core::num? :return_value;
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async /* futureValueType= core::num* */ {
if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return asy::Future::value<core::int*>(1);
}
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* async /* futureValueType= core::num* */ {
if(math::Random::•().{math::Random::nextBool}(){() →* core::bool*}) {
return asy::Future::value<core::int*>(1);
}
@@ -8,7 +8,7 @@ import "dart:async";
import "dart:math" show Random;
static method test() → dynamic {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* /* originally async */ {
() →* asy::Future<core::num*>* f = () → asy::Future<core::num*>* /* futureValueType= core::num* */ /* originally async */ {
final asy::_Future<core::num*>* :async_future = new asy::_Future::•<core::num*>();
core::bool* :is_sync = false;
FutureOr<core::num*>* :return_value;
@@ -5,8 +5,8 @@ import "dart:core" as core;
import "dart:async";
static method main() → dynamic async {
() →* asy::Future<Null>* f = () → asy::Future<Null>* async {
static method main() → dynamic async /* futureValueType= dynamic */ {
() →* asy::Future<Null>* f = () → asy::Future<Null>* async /* futureValueType= Null */ {
return null;
};
asy::Future<dynamic>* y = f(){() →* asy::Future<Null>*};
@@ -5,8 +5,8 @@ import "dart:core" as core;
import "dart:async";
static method main() → dynamic async {
() →* asy::Future<Null>* f = () → asy::Future<Null>* async {
static method main() → dynamic async /* futureValueType= dynamic */ {
() →* asy::Future<Null>* f = () → asy::Future<Null>* async /* futureValueType= Null */ {
return null;
};
asy::Future<dynamic>* y = f(){() →* asy::Future<Null>*};
@@ -6,7 +6,7 @@ import "dart:_internal" as _in;
import "dart:async";
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -19,7 +19,7 @@ static method main() → dynamic /* originally async */ {
try {
#L1:
{
() →* asy::Future<Null>* f = () → asy::Future<Null>* /* originally async */ {
() →* asy::Future<Null>* f = () → asy::Future<Null>* /* futureValueType= Null */ /* originally async */ {
final asy::_Future<Null>* :async_future = new asy::_Future::•<Null>();
core::bool* :is_sync = false;
FutureOr<Null>* :return_value;
@@ -5,7 +5,7 @@ import "dart:core" as core;
import "dart:async";
static method main() → dynamic async {
static method main() → dynamic async /* futureValueType= dynamic */ {
() →* asy::Stream<Null>* f = () → asy::Stream<Null>* async* {
yield null;
};
@@ -5,7 +5,7 @@ import "dart:core" as core;
import "dart:async";
static method main() → dynamic async {
static method main() → dynamic async /* futureValueType= dynamic */ {
() →* asy::Stream<Null>* f = () → asy::Stream<Null>* async* {
yield null;
};
@@ -6,7 +6,7 @@ import "dart:_internal" as _in;
import "dart:async";
static method main() → dynamic /* originally async */ {
static method main() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -5,7 +5,7 @@ import "dart:core" as core;
import "dart:async";
static method main() → asy::Future<dynamic>* async {
static method main() → asy::Future<dynamic>* async /* futureValueType= dynamic */ {
dynamic d;
core::List<core::int*>* l0 = await<core::int*>[d as{TypeError,ForDynamic} core::int*];
core::List<core::int*>* l1 = await asy::Future::value<core::List<core::int*>*>(<core::int*>[d as{TypeError,ForDynamic} core::int*]);
@@ -5,7 +5,7 @@ import "dart:core" as core;
import "dart:async";
static method main() → asy::Future<dynamic>* async {
static method main() → asy::Future<dynamic>* async /* futureValueType= dynamic */ {
dynamic d;
core::List<core::int*>* l0 = await<core::int*>[d as{TypeError,ForDynamic} core::int*];
core::List<core::int*>* l1 = await asy::Future::value<core::List<core::int*>*>(<core::int*>[d as{TypeError,ForDynamic} core::int*]);
@@ -6,7 +6,7 @@ import "dart:_internal" as _in;
import "dart:async";
static method main() → asy::Future<dynamic>* /* originally async */ {
static method main() → asy::Future<dynamic>* /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -58,7 +58,7 @@ abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<s
}
static method F<T extends core::Object* = dynamic>() → self::F::T*
return null;
static method f() → asy::Future<dynamic>* async {
static method f() → asy::Future<dynamic>* async /* futureValueType= dynamic */ {
dynamic d;
core::Object* o;
for (dynamic x in self::F<core::Iterable<dynamic>*>()) {
@@ -86,7 +86,7 @@ static method f() → asy::Future<dynamic>* async {
o = #t4;
}
}
static method main() → asy::Future<dynamic>* async {
static method main() → asy::Future<dynamic>* async /* futureValueType= dynamic */ {
for (core::int* x in <core::int*>[1, 2, 3]) {
}
for (core::num* x in <core::num*>[1, 2, 3]) {
@@ -58,7 +58,7 @@ abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<s
}
static method F<T extends core::Object* = dynamic>() → self::F::T*
return null;
static method f() → asy::Future<dynamic>* async {
static method f() → asy::Future<dynamic>* async /* futureValueType= dynamic */ {
dynamic d;
core::Object* o;
for (dynamic x in self::F<core::Iterable<dynamic>*>()) {
@@ -86,7 +86,7 @@ static method f() → asy::Future<dynamic>* async {
o = #t4;
}
}
static method main() → asy::Future<dynamic>* async {
static method main() → asy::Future<dynamic>* async /* futureValueType= dynamic */ {
for (core::int* x in <core::int*>[1, 2, 3]) {
}
for (core::num* x in <core::num*>[1, 2, 3]) {
@@ -59,7 +59,7 @@ abstract class MyStream<T extends core::Object* = dynamic> extends asy::Stream<s
}
static method F<T extends core::Object* = dynamic>() → self::F::T*
return null;
static method f() → asy::Future<dynamic>* /* originally async */ {
static method f() → asy::Future<dynamic>* /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -238,7 +238,7 @@ static method f() → asy::Future<dynamic>* /* originally async */ {
:is_sync = true;
return :async_future;
}
static method main() → asy::Future<dynamic>* /* originally async */ {
static method main() → asy::Future<dynamic>* /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -3,7 +3,7 @@ import self as self;
import "dart:core" as core;
import "dart:async" as asy;
static method test() → dynamic async {
static method test() → dynamic async /* futureValueType= dynamic */ {
core::Object* o;
for (dynamic x in o as{TypeError} core::Iterable<dynamic>*) {
}
@@ -3,7 +3,7 @@ import self as self;
import "dart:core" as core;
import "dart:async" as asy;
static method test() → dynamic async {
static method test() → dynamic async /* futureValueType= dynamic */ {
core::Object* o;
for (dynamic x in o as{TypeError} core::Iterable<dynamic>*) {
}
@@ -4,7 +4,7 @@ import "dart:async" as asy;
import "dart:core" as core;
import "dart:_internal" as _in;
static method test() → dynamic /* originally async */ {
static method test() → dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :return_value;
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -64,7 +64,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -93,7 +93,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -120,7 +120,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -151,7 +151,7 @@ static method test() → void {
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -178,7 +178,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -64,7 +64,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -93,7 +93,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -120,7 +120,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -151,7 +151,7 @@ static method test() → void {
asy::Future<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -178,7 +178,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -64,7 +64,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -93,7 +93,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -120,7 +120,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -151,7 +151,7 @@ static method test() → void {
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -178,7 +178,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
}
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<dynamic>* f;
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -64,7 +64,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -93,7 +93,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t3 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -120,7 +120,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t4 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -151,7 +151,7 @@ static method test() → void {
self::MyFuture<core::int*>* t6 = f.{self::MyFuture::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t7 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -178,7 +178,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
self::MyFuture<core::int*>* t8 = f.{self::MyFuture::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
asy::Future<dynamic>* f;
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
asy::Future<dynamic>* f;
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => new self::MyFuture::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
asy::Future<dynamic>* f;
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -64,7 +64,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -93,7 +93,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -120,7 +120,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -151,7 +151,7 @@ static method test() → void {
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → self::MyFuture<core::int*>* {
return new self::MyFuture::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -178,7 +178,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
asy::Future<dynamic>* f;
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
@@ -34,20 +34,20 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
asy::Future<dynamic>* f;
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => await asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return await asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => 3){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return 3;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t5 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async {
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => asy::Future::value<core::int*>(3)){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* async /* futureValueType= core::int* */ {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
}
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
asy::Future<dynamic>* f;
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t1 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -64,7 +64,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t2 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -93,7 +93,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t3 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -120,7 +120,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t4 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -151,7 +151,7 @@ static method test() → void {
asy::Future<core::int*>* t6 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* {
return asy::Future::value<core::int*>(3);
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t7 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -178,7 +178,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((dynamic) →* FutureOr<core::int*>*, {onError: core::Function*}) →* asy::Future<core::int*>*};
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t8 = f.{asy::Future::then}<core::int*>((dynamic _) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,8 +34,8 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<core::bool*>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async /* futureValueType= core::int* */ {
return (await x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -34,8 +34,8 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<core::bool*>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => x ?{core::int*} 2 : await asy::Future::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async /* futureValueType= core::int* */ {
return (await x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : asy::Future::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
@@ -35,7 +35,7 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<core::bool*>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* /* originally async */ {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
core::int? :return_value;
@@ -71,7 +71,7 @@ static method test() → void {
:is_sync = true;
return :async_future;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* originally async */ {
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* /* futureValueType= core::int* */ /* originally async */ {
final asy::_Future<core::int*>* :async_future = new asy::_Future::•<core::int*>();
core::bool* :is_sync = false;
FutureOr<core::int*>* :return_value;
@@ -34,8 +34,8 @@ class MyFuture<T extends core::Object* = dynamic> extends core::Object implement
}
static method test() → void {
self::MyFuture<core::bool*>* f;
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async {
asy::Future<core::int*>* t1 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → asy::Future<core::int*>* async /* futureValueType= core::int* */ => x ?{core::int*} 2 : await new self::MyFuture::value<core::int*>(3)){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t2 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* async /* futureValueType= core::int* */ {
return (await x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*;
}){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};
asy::Future<core::int*>* t5 = f.{self::MyFuture::then}<core::int*>((core::bool* x) → FutureOr<core::int*>* => (x ?{core::Object*} 2 : new self::MyFuture::value<core::int*>(3)) as{TypeError} FutureOr<core::int*>*){((core::bool*) →* FutureOr<core::int*>*, {onError: core::Function*}) →* self::MyFuture<core::int*>*};

Some files were not shown because too many files have changed in this diff Show More