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

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