blob: 3c303a753ac9f8b7bd30d2d7ea96ba9bb3e91c71 [file] [log] [blame]
library test;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
abstract class MyStream<T extends core::Object = dynamic> extends asy::Stream<self::MyStream::T> {
static factory •<T extends core::Object = dynamic>() self::MyStream<self::MyStream::•::T>
return null;
}
static method foo() asy::Stream<core::List<core::int>> /* originally async* */ {
asy::_AsyncStarStreamController<core::List<core::int>> :controller;
dynamic :controller_stream;
dynamic :async_stack_trace;
dynamic :async_op_then;
dynamic :async_op_error;
dynamic :await_jump_var = 0;
dynamic :await_ctx_var;
dynamic :saved_try_context_var0;
dynamic :saved_try_context_var1;
function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) dynamic yielding
try
try {
#L1:
{
if(:controller.{asy::_AsyncStarStreamController::add}(<dynamic>[]))
return null;
else
[yield] null;
if(:controller.{asy::_AsyncStarStreamController::add}(self::MyStream::•<dynamic>()))
return null;
else
[yield] null;
if(:controller.{asy::_AsyncStarStreamController::addStream}(<dynamic>[]))
return null;
else
[yield] null;
if(:controller.{asy::_AsyncStarStreamController::addStream}(self::MyStream::•<dynamic>()))
return null;
else
[yield] null;
}
return;
}
on dynamic catch(dynamic :exception, dynamic :stack_trace) {
:controller.{asy::_AsyncStarStreamController::addError}(:exception, :stack_trace);
}
finally {
:controller.{asy::_AsyncStarStreamController::close}();
}
:async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:controller = new asy::_AsyncStarStreamController::•<core::List<core::int>>(:async_op);
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
return :controller_stream;
}
static method bar() core::Iterable<core::Map<core::int, core::int>> /* originally sync* */ {
dynamic :await_jump_var = 0;
dynamic :await_ctx_var;
function :sync_op(core::_SyncIterator<core::Map<core::int, core::int>> :iterator) core::bool yielding {
{
{
:iterator.{core::_SyncIterator::_current} = <dynamic, dynamic>{};
[yield] true;
}
{
:iterator.{core::_SyncIterator::_current} = core::_GrowableList::•<dynamic>(0);
[yield] true;
}
{
:iterator.{core::_SyncIterator::_yieldEachIterable} = <dynamic, dynamic>{};
[yield] true;
}
{
:iterator.{core::_SyncIterator::_yieldEachIterable} = core::_GrowableList::•<dynamic>(0);
[yield] true;
}
}
return false;
}
return new core::_SyncIterable::•<core::Map<core::int, core::int>>(:sync_op);
}
static method main() dynamic {}