blob: 441ff1ed4a70d1022d09089bb235dd2a0e0c2516 [file] [log] [blame]
library test;
import self as self;
import "dart:core" as core;
import "dart:async" as asy;
import "dart:async";
class MyFuture<T extends core::Object* = dynamic> extends core::Object implements asy::Future<self::MyFuture::T*> {
constructor •() self::MyFuture<self::MyFuture::T*>*
: super core::Object::•() {}
constructor value(self::MyFuture::T* x) self::MyFuture<self::MyFuture::T*>*
: super core::Object::•() {}
method noSuchMethod(core::Invocation* invocation) dynamic
return null;
method then<S extends core::Object* = dynamic>((self::MyFuture::T*) →* asy::FutureOr<self::MyFuture::then::S*>* f, {core::Function* onError = #C1}) → self::MyFuture<self::MyFuture::then::S*>*
return null;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ catchError(core::Function* onError, {(core::Object*) →* core::bool* test = #C1}) → asy::Future<self::MyFuture::T*>*
return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C2, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[onError]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C4: test}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ whenComplete(() →* asy::FutureOr<dynamic>* action) asy::Future<self::MyFuture::T*>*
return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ timeout(core::Duration* timeLimit, {generic-covariant-impl () →* asy::FutureOr<self::MyFuture::T*>* onTimeout = #C1}) → asy::Future<self::MyFuture::T*>*
return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C8, 0, #C3, core::List::unmodifiable<dynamic>(<dynamic>[timeLimit]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#C9: onTimeout}))) as{TypeError} asy::Future<self::MyFuture::T*>*;
no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/async/future.dart */ asStream() asy::Stream<self::MyFuture::T*>*
return this.{self::MyFuture::noSuchMethod}(new core::_InvocationMirror::_withType(#C10, 0, #C3, #C6, core::Map::unmodifiable<core::Symbol*, dynamic>(#C7))) as{TypeError} asy::Stream<self::MyFuture::T*>*;
}
static method test() void {
self::MyFuture<core::int*>* f;
asy::Future<core::int*>* t1 = f.then((dynamic x) asy::Future<dynamic>* /* originally async */ {
final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
asy::FutureOr<dynamic>* :return_value;
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 :async_temporary_0;
function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) dynamic yielding
try {
#L1:
{
final dynamic #t1 = x;
if(#t1.==(null)) {
[yield] let dynamic #t2 = asy::_awaitHelper(asy::Future::value<core::int*>(3), :async_op_then, :async_op_error, :async_op) in null;
:async_temporary_0 = :result;
}
else {
:async_temporary_0 = #t1;
}
:return_value = :async_temporary_0;
break #L1;
}
asy::_completeOnAsyncReturn(:async_completer, :return_value);
return;
}
on dynamic catch(dynamic :exception, dynamic :stack_trace) {
:async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
}
:async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_completer.start(:async_op);
return :async_completer.{asy::Completer::future};
});
asy::Future<core::int*>* t2 = f.then((dynamic x) asy::Future<dynamic>* /* originally async */ {
final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
asy::FutureOr<dynamic>* :return_value;
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;
function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) dynamic yielding
try {
#L2:
{
[yield] let dynamic #t3 = asy::_awaitHelper(x, :async_op_then, :async_op_error, :async_op) in null;
:return_value = let final dynamic #t4 = :result in #t4.==(null) ? asy::Future::value<core::int*>(3) : #t4;
break #L2;
}
asy::_completeOnAsyncReturn(:async_completer, :return_value);
return;
}
on dynamic catch(dynamic :exception, dynamic :stack_trace) {
:async_completer.{asy::Completer::completeError}(:exception, :stack_trace);
}
:async_stack_trace = asy::_asyncStackTraceHelper(:async_op);
:async_op_then = asy::_asyncThenWrapperHelper(:async_op);
:async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
:async_completer.start(:async_op);
return :async_completer.{asy::Completer::future};
});
asy::Future<core::int*>* t5 = f.then((dynamic x) dynamic => let final dynamic #t5 = x in #t5.==(null) ? asy::Future::value<core::int*>(3) : #t5);
asy::Future<core::int*>* t6 = f.then((dynamic x) dynamic {
return let final dynamic #t6 = x in #t6.==(null) ? asy::Future::value<core::int*>(3) : #t6;
});
}
static method main() dynamic {}
constants {
#C1 = null
#C2 = #catchError
#C3 = <core::Type*>[]
#C4 = #test
#C5 = #whenComplete
#C6 = <dynamic>[]
#C7 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C6}
#C8 = #timeout
#C9 = #onTimeout
#C10 = #asStream
}