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

class Foo extends core::Object {
  field core::List<dynamic> list = <dynamic>[1, 2, 3];
  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();
}
