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 dynamic v = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.a = 1 in let final dynamic #t3 = #t1.b.add(2) in let final dynamic #t4 = #t1.m() in #t1;
static method main() → dynamic {}
