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

static method test(Never x) → void {
  Never n1 = x{Never}.toString();
  Never n2 = x{Never}.runtimeType;
  Never n3 = x{Never}.someGetter;
  Never n4 = x{Never}.someMethod();
  Never n5 = x{Never}.+(x);
  Never n6 = x{Never}.[](x);
  Never n7 = x{Never}.call();
  Never n8 = x{Never}.runtimeType();
  Never n9 = x{Never}.toString;
  x.{Never}runtimeType = #C1;
  x.{Never}toString = () → core::String => "";
  Never v1 = x{Never}.toString();
  Never v2 = x{Never}.runtimeType;
  Never v3 = x{Never}.someGetter;
  Never v4 = x{Never}.someMethod();
  Never v5 = x{Never}.+(x);
  Never v6 = x{Never}.[](x);
  Never v7 = x{Never}.call();
  Never v8 = x{Never}.runtimeType();
  Never v9 = x{Never}.toString;
}
static method main() → dynamic {}

constants  {
  #C1 = TypeLiteralConstant(core::Object)
}
