| main = <No Member>; |
| library from "org-dartlang-test:///main.dart" as main { |
| // |
| // Problems in library: |
| // |
| // org-dartlang-test:///main.dart:3:11: Error: Functions marked 'async' must have a return type assignable to 'Future'. |
| // factory C.e4() async = C; |
| // ^^ |
| // |
| // org-dartlang-test:///main.dart:3:18: Error: Factory bodies can't use 'async', 'async*', or 'sync*'. |
| // factory C.e4() async = C; |
| // ^^^^^ |
| // |
| // org-dartlang-test:///main.dart:3:24: Error: Expected a function body or '=>'. |
| // Try adding {}. |
| // factory C.e4() async = C; |
| // ^ |
| // |
| // org-dartlang-test:///main.dart:3:26: Error: A value of type 'Type' can't be assigned to a variable of type 'FutureOr<C>'. |
| // - 'Type' is from 'dart:core'. |
| // - 'FutureOr' is from 'dart:async'. |
| // - 'C' is from 'org-dartlang-test:///main.dart'. |
| // factory C.e4() async = C; |
| // ^ |
| // |
| |
| class C extends dart.core::Object { |
| static field dynamic _redirecting# = <dynamic>[main::C::e4]; |
| constructor •() → main::C* |
| : super dart.core::Object::•() |
| ; |
| static factory e4() → main::C* /* originally async */ { |
| final dart.async::_AsyncAwaitCompleter<dynamic>* :async_completer = new dart.async::_AsyncAwaitCompleter::•<dynamic>(); |
| dart.async::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; |
| function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding |
| try { |
| #L1: |
| { |
| :return_value = let final<BottomType> #t1 = invalid-expression "org-dartlang-test:///main.dart:3:26: Error: A value of type 'Type' can't be assigned to a variable of type 'FutureOr<C>'.\n - 'Type' is from 'dart:core'.\n - 'FutureOr' is from 'dart:async'.\n - 'C' is from 'org-dartlang-test:///main.dart'.\n factory C.e4() async = C;\n ^" in main::C* as{TypeError} dart.async::FutureOr<main::C*>*; |
| break #L1; |
| } |
| dart.async::_completeOnAsyncReturn(:async_completer, :return_value); |
| return; |
| } |
| on dynamic catch(dynamic :exception, dynamic :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.start(:async_op); |
| return :async_completer.{dart.async::Completer::future}; |
| } |
| } |
| static method main() → void { |
| main::C* c = main::C::e4(); |
| } |
| } |