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