blob: 1fe23bacba8c3a1fbc6af6c56dfc02e18e09d4c7 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:_internal" as _in;
class A extends core::Object {
synthetic constructor •() self::A
: super core::Object::•()
;
method foo(dynamic x) asy::Future<void> /* futureValueType= void */ /* originally async */ {
final asy::_Future<void> :async_future = new asy::_Future::•<void>();
core::bool* :is_sync = false;
void :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:
{}
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;
}
}
class B extends core::Object {
synthetic constructor •() self::B
: super core::Object::•()
;
method bar(dynamic x) asy::Future<void> /* futureValueType= void */ /* originally async */ {
final asy::_Future<void> :async_future = new asy::_Future::•<void>();
core::bool* :is_sync = false;
void :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:
{}
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 main() dynamic /* futureValueType= dynamic */ /* originally async */ {
final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
core::bool* :is_sync = false;
dynamic :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;
dynamic :saved_try_context_var0;
self::B :async_temporary_0;
dynamic :async_temporary_1;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) dynamic yielding
try {
#L3:
{
:async_temporary_1 = new self::A::•();
[yield] let dynamic #t1 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
:async_temporary_1 = _in::unsafeCast<self::A>(:async_temporary_1).{self::A::foo}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) asy::Future<void>};
:async_temporary_0 = new self::B::•();
[yield] let dynamic #t2 = asy::_awaitHelper(null, :async_op_then, :async_op_error) in null;
:return_value = core::_GrowableList::_literal2<asy::Future<void>>(_in::unsafeCast<asy::Future<void>>(:async_temporary_1), _in::unsafeCast<self::B>(:async_temporary_0).{self::B::bar}(_in::unsafeCast<Null>(:result_or_exception)){(dynamic) asy::Future<void>});
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;
}