library test;

class A {
  int x = 0;
  B operator +(other) => throw '';
}

class B extends A {
  B(ignore);
}

var a = new A();
var b = new B(x);
var c1 = [x];
var c2 = const [];
var d = <dynamic, dynamic>{'a': 'b'};
var e = new A()..x = 3;
var f = 2 + 3;
var g = -3;
var h = new A() + 3;
var i = -new A();
var j = null as B;
test1() {}
main() {}
