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

class Foo extends core::Object {
  field core::List<dynamic>* list = <dynamic>[1, 2, 3];
  synthetic constructor •() → self::Foo*
    : super core::Object::•()
    ;
  set first(dynamic x) → void
    return let final core::List<dynamic>* #t1 = this.{self::Foo::list} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
  operator []=(dynamic x, dynamic y) → void
    return let final core::List<dynamic>* #t5 = this.{self::Foo::list} in let final dynamic #t6 = x as{TypeError,ForDynamic} core::int* in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7) in #t7;
  method clear() → void
    return this.{self::Foo::list}.{core::List::clear}();
}
static method main() → dynamic {
  new self::Foo::•().{self::Foo::first} = 4;
  new self::Foo::•().{self::Foo::[]=}(3, 4);
  new self::Foo::•().{self::Foo::clear}();
}
