| library; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:async" as asy; |
| |
| import "dart:async"; |
| |
| class Node extends core::Object { |
| final field core::List<self::Node> nested; |
| final field core::String name; |
| constructor •(core::String name, [core::List<self::Node> nested = null]) → self::Node |
| : self::Node::name = name, self::Node::nested = nested, super core::Object::•() {} |
| method toString() → core::String |
| return "<${this.{self::Node::name}}:[${let final dynamic #t1 = this.{self::Node::nested} in #t1.==(null) ? null : #t1.join(", ")}]>"; |
| method toSimpleString() → dynamic { |
| dynamic tmp = let final dynamic #t2 = this.{self::Node::nested} in #t2.==(null) ? null : #t2.map((dynamic child) → dynamic => child.toSimpleString()); |
| return "${this.{self::Node::name}} ${let final dynamic #t3 = tmp in #t3.==(null) ? null : #t3.join(" ")}".trim(); |
| } |
| } |
| static method main() → void /* 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; |
| dynamic :async_temporary_1; |
| dynamic :async_temporary_2; |
| function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding |
| try { |
| #L1: |
| { |
| core::String expected = "1 2 3 4 5 6 7 8 9 10"; |
| :async_temporary_2 = new self::Node::•("2", <dynamic>[]); |
| [yield] let dynamic #t4 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("7", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null; |
| [yield] let dynamic #t5 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("6", <dynamic>[:result])), :async_op_then, :async_op_error, :async_op) in null; |
| :async_temporary_1 = :result; |
| [yield] let dynamic #t6 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("8", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null; |
| :async_temporary_0 = :result; |
| [yield] let dynamic #t7 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("9", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null; |
| [yield] let dynamic #t8 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("4", <dynamic>[new self::Node::•("5", <dynamic>[:async_temporary_1, :async_temporary_0, :result])])), :async_op_then, :async_op_error, :async_op) in null; |
| [yield] let dynamic #t9 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("3", <dynamic>[:result])), :async_op_then, :async_op_error, :async_op) in null; |
| :async_temporary_0 = :result; |
| [yield] let dynamic #t10 = asy::_awaitHelper(asy::Future::value<dynamic>(new self::Node::•("10", <dynamic>[])), :async_op_then, :async_op_error, :async_op) in null; |
| self::Node node = new self::Node::•("1", <dynamic>[:async_temporary_2, :async_temporary_0, :result]); |
| core::String actual = node.toSimpleString(); |
| core::print(actual); |
| if(!actual.==(expected)) { |
| throw "Expected '${expected}' but got '${actual}'"; |
| } |
| } |
| 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}; |
| } |