library;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "dart:typed_data" as typ;

class Foo extends core::Object {
  final field dynamic value;
  constructor •(dynamic value) → self::Foo
    : self::Foo::value = value, super core::Object::•() {}
  static factory fac(dynamic value) → self::Foo {
    return new self::Foo::•(value);
  }
}
static field core::List<core::int> list = <core::int>[1, 2, 3];
static method main() → dynamic {
  exp::Expect::isTrue(typ::Uint8List::fromList(self::list).{core::List::[]}(1).{core::num::==}(2));
  exp::Expect::isTrue(self::Foo::fac(10).{self::Foo::value}.{core::Object::==}(10));
}
