library;
import self as self;
import "dart:core" as core;

class Foo extends core::Object {
  field core::List<dynamic> list = <dynamic>[1, 2, 3];
  default constructor •() → void
    : super core::Object::•()
    ;
  set first(dynamic x) → dynamic
    this.list.[]=(0, x);
  operator []=(dynamic x, dynamic y) → dynamic
    this.list.[]=(x, y);
  method clear() → void
    return this.list.clear();
}
static method main() → dynamic {
  new self::Foo::•().first = 4;
  new self::Foo::•().[]=(3, 4);
  new self::Foo::•().clear();
}
