4b7d256a06
This reverts commite9ca6a5335andd3e00fd35e. Change-Id: I346d6156be19c4fceffa202a7ce9bfa931c7c14b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99560 Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Vijay Menon <vsm@google.com> Reviewed-by: Siva Annamalai <asiva@google.com>
29 lines
1.8 KiB
Plaintext
29 lines
1.8 KiB
Plaintext
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 async {
|
|
core::String expected = "1 2 3 4 5 6 7 8 9 10";
|
|
self::Node node = new self::Node::•("1", <dynamic>[new self::Node::•("2", <dynamic>[]), await asy::Future::value<dynamic>(new self::Node::•("3", <dynamic>[await asy::Future::value<dynamic>(new self::Node::•("4", <dynamic>[new self::Node::•("5", <dynamic>[await asy::Future::value<dynamic>(new self::Node::•("6", <dynamic>[await asy::Future::value<dynamic>(new self::Node::•("7", <dynamic>[]))])), await asy::Future::value<dynamic>(new self::Node::•("8", <dynamic>[])), await asy::Future::value<dynamic>(new self::Node::•("9", <dynamic>[]))])]))])), await asy::Future::value<dynamic>(new self::Node::•("10", <dynamic>[]))]);
|
|
core::String actual = node.toSimpleString();
|
|
core::print(actual);
|
|
if(!actual.==(expected)) {
|
|
throw "Expected '${expected}' but got '${actual}'";
|
|
}
|
|
}
|