library test /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

class A extends core::Object {
  field core::int a = 0;
  field core::List<core::int> b = <core::int>[];
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
  method m() → void {}
}
static field self::A v = let final self::A #t1 = new self::A::•() in block {
  #t1.{self::A::a} = 1;
  #t1.{self::A::b}{core::List<core::int>}.{core::List::add}(2){(core::int) → void};
  #t1.{self::A::m}(){() → void};
} =>#t1;
static method main() → dynamic {}
