blob: ee3e7d708ed1e30ec0152abd6d159354582b7c48 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:_internal" as _in;
import "dart:async";
class X extends core::Object {
final field dynamic x;
final field dynamic y;
constructor •(dynamic x, dynamic y) self::X
: self::X::x = x, self::X::y = y, super core::Object::•()
;
method toString() core::String
return "X(${this.{self::X::x}{dynamic}}, ${this.{self::X::y}{dynamic}})";
}
class Y extends core::Object {
synthetic constructor •() self::Y
: super core::Object::•()
;
method f(dynamic _) dynamic {}
}
static method f1() asy::Future<core::List<core::Object>> /* originally async */ {
final asy::_Future<core::List<core::Object>> :async_future = new asy::_Future::•<core::List<core::Object>>();
core::bool* :is_sync = false;
core::List<core::Object>? :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 = core::_GrowableList::_literal1<core::Object>(1);
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;
}
static method f2() core::List<core::Object>
return core::_GrowableList::_literal1<core::Object>(2);
static method f3() asy::Future<core::Object> /* originally async */ {
final asy::_Future<core::Object> :async_future = new asy::_Future::•<core::Object>();
core::bool* :is_sync = false;
core::Object? :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 = 3;
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 foo() asy::Future<self::X> /* originally async */ {
final asy::_Future<self::X> :async_future = new asy::_Future::•<self::X>();
core::bool* :is_sync = false;
self::X? :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::Y :async_temporary_0;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) dynamic yielding
try {
#L3:
{
final self::Y #t1 = new self::Y::•();
[yield] let dynamic #t2 = asy::_awaitHelper(self::f1(), :async_op_then, :async_op_error) in null;
#t1.{self::Y::f}(_in::unsafeCast<core::List<core::Object>>(:result_or_exception)){(dynamic) → dynamic};
:async_temporary_0 = block {
#t1.{self::Y::f}(self::f2()){(dynamic) → dynamic};
} =>#t1;
[yield] let dynamic #t3 = asy::_awaitHelper(self::f3(), :async_op_then, :async_op_error) in null;
:return_value = new self::X::•(_in::unsafeCast<self::Y>(:async_temporary_0), _in::unsafeCast<core::Object>(:result_or_exception));
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;
}
static method main() asy::Future<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;
dynamic :saved_try_context_var0;
function :async_op(dynamic :result_or_exception, dynamic :stack_trace) dynamic yielding
try {
#L4:
{
[yield] let dynamic #t4 = asy::_awaitHelper(self::foo(), :async_op_then, :async_op_error) in null;
core::print(_in::unsafeCast<self::X>(:result_or_exception));
}
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;
}