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

static method main() → dynamic {
  core::List<core::int*>* x;
  core::List<core::int*>* y = let final core::List<core::int*>* #t1 = x in #t1.{core::List::==}(null) ?{core::List<core::int*>*} core::_GrowableList::•<core::int*>(0) : #t1;
  core::List<core::int*>* z = y;
}
