blob: fedb19bc29b63e6e4cd4a44601b4bee84a1cb2a2 [file] [log] [blame]
main = main::main;
library from "org-dartlang-test:///libA.dart" as libA {
static method whatever() dynamic /* originally async */ {
final dart.async::_AsyncAwaitCompleter<dynamic>* :async_completer = new dart.async::_AsyncAwaitCompleter::•<dynamic>();
FutureOr<dynamic>* :return_value;
dynamic :async_stack_trace;
(dynamic) →* dynamic :async_op_then;
(dart.core::Object*, dart.core::StackTrace*) →* dynamic :async_op_error;
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) dynamic yielding
try {
#L1:
{
[yield] let dynamic #t1 = dart.async::_awaitHelper(null, :async_op_then, :async_op_error, :async_op) in null;
dart._internal::unsafeCast<dart.core::Null?>(:result);
:return_value = "hello";
break #L1;
}
dart.async::_completeOnAsyncReturn(:async_completer, :return_value);
return;
}
on dynamic catch(dynamic exception, dart.core::StackTrace* stack_trace) {
:async_completer.{dart.async::Completer::completeError}(exception, stack_trace);
}
:async_stack_trace = dart.async::_asyncStackTraceHelper(:async_op);
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
:async_completer.{dart.async::_AsyncAwaitCompleter::start}(:async_op);
return :async_completer.{dart.async::Completer::future};
}
}
library from "org-dartlang-test:///main.dart" as main {
import "org-dartlang-test:///libA.dart";
class Foo extends dart.core::Object /*hasConstConstructor*/ {
const constructor •() main::Foo*
: super dart.core::Object::•()
;
@#C1
method toString() dart.core::String*
return "Foo!";
abstract member-signature get _identityHashCode() dart.core::int*; -> dart.core::Object::_identityHashCode
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) dart.core::bool*; -> dart.core::Object::_instanceOf
abstract member-signature method _simpleInstanceOf(dynamic type) dart.core::bool*; -> dart.core::Object::_simpleInstanceOf
abstract member-signature method _simpleInstanceOfTrue(dynamic type) dart.core::bool*; -> dart.core::Object::_simpleInstanceOfTrue
abstract member-signature method _simpleInstanceOfFalse(dynamic type) dart.core::bool*; -> dart.core::Object::_simpleInstanceOfFalse
abstract member-signature operator ==(dynamic other) dart.core::bool*; -> dart.core::Object::==
abstract member-signature get hashCode() dart.core::int*; -> dart.core::Object::hashCode
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 */ {
final dart.async::_AsyncAwaitCompleter<dynamic>* :async_completer = new dart.async::_AsyncAwaitCompleter::•<dynamic>();
FutureOr<dynamic>* :return_value;
dynamic :async_stack_trace;
(dynamic) →* dynamic :async_op_then;
(dart.core::Object*, dart.core::StackTrace*) →* dynamic :async_op_error;
dart.core::int* :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) dynamic yielding
try {
#L2:
{
[yield] let dynamic #t2 = dart.async::_awaitHelper(libA::whatever(), :async_op_then, :async_op_error, :async_op) in null;
:result;
dart.core::print(#C2);
}
dart.async::_completeOnAsyncReturn(:async_completer, :return_value);
return;
}
on dynamic catch(dynamic exception, dart.core::StackTrace* stack_trace) {
:async_completer.{dart.async::Completer::completeError}(exception, stack_trace);
}
:async_stack_trace = dart.async::_asyncStackTraceHelper(:async_op);
:async_op_then = dart.async::_asyncThenWrapperHelper(:async_op);
:async_op_error = dart.async::_asyncErrorWrapperHelper(:async_op);
:async_completer.{dart.async::_AsyncAwaitCompleter::start}(:async_op);
return :async_completer.{dart.async::Completer::future};
}
}
constants {
#C1 = dart.core::_Override {}
#C2 = main::Foo {}
}