blob: e99eae01921adf5c09eba0a4954f5dcc6a8e20b3 [file] [log] [blame]
// Unhandled errors:
//
// pkg/front_end/testcases/super_rasta_copy.dart:14:9: Error: Final field 'f' is not initialized.
// Try to initialize the field in the declaration or in every constructor.
// final f;
// ^
//
// pkg/front_end/testcases/super_rasta_copy.dart:33:9: Error: Final field 'd' is not initialized.
// Try to initialize the field in the declaration or in every constructor.
// final d;
// ^
library;
import self as self;
import "dart:core" as core;
class A extends core::Object {
field dynamic a = null;
field dynamic b = null;
field dynamic c = null;
field dynamic d = null;
final field dynamic f = null;
synthetic constructor •() self::A
: super core::Object::•()
;
get e() dynamic
return null;
set g(dynamic _) dynamic {}
get h() dynamic
return null;
set h(dynamic _) dynamic {}
get i() dynamic
return null;
operator [](dynamic _) dynamic
return null;
operator []=(dynamic a, dynamic b) dynamic {}
operator ~() dynamic
return 117;
operator unary-() dynamic
return 117;
operator ==(dynamic other) dynamic
return true;
method m() void {}
}
class B extends self::A {
final field dynamic d = null;
synthetic constructor •() self::B
: super self::A::•()
;
get b() dynamic
return null;
set c(dynamic x) dynamic {}
set i(dynamic x) dynamic {}
}
class C extends self::B {
synthetic constructor •() self::C
: super self::B::•()
;
method test() dynamic {
super.{self::A::~}();
self::use(super.{self::A::~}());
super.{self::A::unary-}();
self::use(super.{self::A::unary-}());
super.{self::A::==}(87);
self::use(super.{self::A::==}(87));
!super.{self::A::==}(87);
self::use(!super.{self::A::==}(87));
super.{self::A::a};
self::use(super.{self::A::a});
super.{self::B::b};
self::use(super.{self::B::b});
super.{self::A::c};
self::use(super.{self::A::c});
super.{self::B::d};
self::use(super.{self::B::d});
super.{self::A::e};
self::use(super.{self::A::e});
super.{self::A::f};
self::use(super.{self::A::f});
super.g;
self::use(super.g);
super.{self::A::h};
self::use(super.{self::A::h});
super.{self::A::i};
self::use(super.{self::A::i});
super.{self::A::[]}(87);
self::use(super.{self::A::[]}(87));
super.{self::A::m};
self::use(super.{self::A::m});
super.{self::A::a} = super.{self::A::a}.+(1);
self::use(let final dynamic #t1 = super.{self::A::a} in let final dynamic #t2 = super.{self::A::a} = #t1.+(1) in #t1);
super.{self::A::b} = super.{self::B::b}.+(1);
self::use(let final dynamic #t3 = super.{self::B::b} in let final dynamic #t4 = super.{self::A::b} = #t3.+(1) in #t3);
super.{self::B::c} = super.{self::A::c}.+(1);
self::use(let final dynamic #t5 = super.{self::A::c} in let final dynamic #t6 = super.{self::B::c} = #t5.+(1) in #t5);
super.{self::A::d} = super.{self::B::d}.+(1);
self::use(let final dynamic #t7 = super.{self::B::d} in let final dynamic #t8 = super.{self::A::d} = #t7.+(1) in #t7);
super.e = super.{self::A::e}.+(1);
self::use(let final dynamic #t9 = super.{self::A::e} in let final dynamic #t10 = super.e = #t9.+(1) in #t9);
super.f = super.{self::A::f}.+(1);
self::use(let final dynamic #t11 = super.{self::A::f} in let final dynamic #t12 = super.f = #t11.+(1) in #t11);
super.{self::A::g} = super.g.+(1);
self::use(let final dynamic #t13 = super.g in let final dynamic #t14 = super.{self::A::g} = #t13.+(1) in #t13);
super.{self::A::h} = super.{self::A::h}.+(1);
self::use(let final dynamic #t15 = super.{self::A::h} in let final dynamic #t16 = super.{self::A::h} = #t15.+(1) in #t15);
super.{self::B::i} = super.{self::A::i}.+(1);
self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17.+(1) in #t17);
let final dynamic #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19).+(1));
self::use(let final dynamic #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final dynamic #t22 = super.{self::A::[]=}(#t20, #t21.+(1)) in #t21);
super.m = super.{self::A::m}.+(1);
self::use(let final dynamic #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = #t23.+(1) in #t23);
super.{self::A::a} = super.{self::A::a}.+(1);
self::use(super.{self::A::a} = super.{self::A::a}.+(1));
super.{self::A::b} = super.{self::B::b}.+(1);
self::use(super.{self::A::b} = super.{self::B::b}.+(1));
super.{self::B::c} = super.{self::A::c}.+(1);
self::use(super.{self::B::c} = super.{self::A::c}.+(1));
super.{self::A::d} = super.{self::B::d}.+(1);
self::use(super.{self::A::d} = super.{self::B::d}.+(1));
super.e = super.{self::A::e}.+(1);
self::use(super.e = super.{self::A::e}.+(1));
super.f = super.{self::A::f}.+(1);
self::use(super.f = super.{self::A::f}.+(1));
super.{self::A::g} = super.g.+(1);
self::use(super.{self::A::g} = super.g.+(1));
super.{self::A::h} = super.{self::A::h}.+(1);
self::use(super.{self::A::h} = super.{self::A::h}.+(1));
super.{self::B::i} = super.{self::A::i}.+(1);
self::use(super.{self::B::i} = super.{self::A::i}.+(1));
let final dynamic #t25 = 87 in let final dynamic #t26 = super.{self::A::[]}(#t25).+(1) in let final dynamic #t27 = super.{self::A::[]=}(#t25, #t26) in #t26;
self::use(let final dynamic #t28 = 87 in let final dynamic #t29 = super.{self::A::[]}(#t28).+(1) in let final dynamic #t30 = super.{self::A::[]=}(#t28, #t29) in #t29);
super.m = super.{self::A::m}.+(1);
self::use(super.m = super.{self::A::m}.+(1));
super.{self::A::a}.call();
self::use(super.{self::A::a}.call());
super.{self::B::b}.call();
self::use(super.{self::B::b}.call());
super.{self::A::c}.call();
self::use(super.{self::A::c}.call());
super.{self::B::d}.call();
self::use(super.{self::B::d}.call());
super.{self::A::e}.call();
self::use(super.{self::A::e}.call());
super.{self::A::f}.call();
self::use(super.{self::A::f}.call());
super.g();
self::use(super.g());
super.{self::A::h}.call();
self::use(super.{self::A::h}.call());
super.{self::A::i}.call();
self::use(super.{self::A::i}.call());
super.{self::A::[]}(87).call();
self::use(super.{self::A::[]}(87).call());
super.{self::A::m}();
self::use(super.{self::A::m}());
super.{self::A::m}(87);
self::use(super.{self::A::m}(87));
super.{self::A::a} = 42;
self::use(super.{self::A::a} = 42);
super.{self::A::b} = 42;
self::use(super.{self::A::b} = 42);
super.{self::B::c} = 42;
self::use(super.{self::B::c} = 42);
super.{self::A::d} = 42;
self::use(super.{self::A::d} = 42);
super.e = 42;
self::use(super.e = 42);
super.f = 42;
self::use(super.f = 42);
super.{self::A::g} = 42;
self::use(super.{self::A::g} = 42);
super.{self::A::h} = 42;
self::use(super.{self::A::h} = 42);
super.{self::B::i} = 42;
self::use(super.{self::B::i} = 42);
super.{self::A::[]=}(87, 42);
self::use(let final dynamic #t31 = 87 in let final dynamic #t32 = 42 in let final dynamic #t33 = super.{self::A::[]=}(#t31, #t32) in #t32);
super.m = 42;
self::use(super.m = 42);
super.{self::A::a}.==(null) ? super.{self::A::a} = 42 : null;
self::use(let final dynamic #t34 = super.{self::A::a} in #t34.==(null) ? super.{self::A::a} = 42 : #t34);
super.{self::B::b}.==(null) ? super.{self::A::b} = 42 : null;
self::use(let final dynamic #t35 = super.{self::B::b} in #t35.==(null) ? super.{self::A::b} = 42 : #t35);
super.{self::A::c}.==(null) ? super.{self::B::c} = 42 : null;
self::use(let final dynamic #t36 = super.{self::A::c} in #t36.==(null) ? super.{self::B::c} = 42 : #t36);
super.{self::B::d}.==(null) ? super.{self::A::d} = 42 : null;
self::use(let final dynamic #t37 = super.{self::B::d} in #t37.==(null) ? super.{self::A::d} = 42 : #t37);
super.{self::A::e}.==(null) ? super.e = 42 : null;
self::use(let final dynamic #t38 = super.{self::A::e} in #t38.==(null) ? super.e = 42 : #t38);
super.{self::A::f}.==(null) ? super.f = 42 : null;
self::use(let final dynamic #t39 = super.{self::A::f} in #t39.==(null) ? super.f = 42 : #t39);
super.g.==(null) ? super.{self::A::g} = 42 : null;
self::use(let final dynamic #t40 = super.g in #t40.==(null) ? super.{self::A::g} = 42 : #t40);
super.{self::A::h}.==(null) ? super.{self::A::h} = 42 : null;
self::use(let final dynamic #t41 = super.{self::A::h} in #t41.==(null) ? super.{self::A::h} = 42 : #t41);
super.{self::A::i}.==(null) ? super.{self::B::i} = 42 : null;
self::use(let final dynamic #t42 = super.{self::A::i} in #t42.==(null) ? super.{self::B::i} = 42 : #t42);
let final dynamic #t43 = 87 in super.{self::A::[]}(#t43).==(null) ? let final dynamic #t44 = 42 in let final dynamic #t45 = super.{self::A::[]=}(#t43, #t44) in #t44 : null;
self::use(let final dynamic #t46 = 87 in let final dynamic #t47 = super.{self::A::[]}(#t46) in #t47.==(null) ? let final dynamic #t48 = 42 in let final dynamic #t49 = super.{self::A::[]=}(#t46, #t48) in #t48 : #t47);
super.{self::A::m}.==(null) ? super.m = 42 : null;
self::use(let final dynamic #t50 = super.{self::A::m} in #t50.==(null) ? super.m = 42 : #t50);
super.{self::A::a} = super.{self::A::a}.+(42);
self::use(super.{self::A::a} = super.{self::A::a}.+(42));
super.{self::A::b} = super.{self::B::b}.+(42);
self::use(super.{self::A::b} = super.{self::B::b}.+(42));
super.{self::B::c} = super.{self::A::c}.+(42);
self::use(super.{self::B::c} = super.{self::A::c}.+(42));
super.{self::A::d} = super.{self::B::d}.+(42);
self::use(super.{self::A::d} = super.{self::B::d}.+(42));
super.e = super.{self::A::e}.+(42);
self::use(super.e = super.{self::A::e}.+(42));
super.f = super.{self::A::f}.+(42);
self::use(super.f = super.{self::A::f}.+(42));
super.{self::A::g} = super.g.+(42);
self::use(super.{self::A::g} = super.g.+(42));
super.{self::A::h} = super.{self::A::h}.+(42);
self::use(super.{self::A::h} = super.{self::A::h}.+(42));
super.{self::B::i} = super.{self::A::i}.+(42);
self::use(super.{self::B::i} = super.{self::A::i}.+(42));
let final dynamic #t51 = 87 in super.{self::A::[]=}(#t51, super.{self::A::[]}(#t51).+(42));
self::use(let final dynamic #t52 = 87 in let final dynamic #t53 = super.{self::A::[]}(#t52).+(42) in let final dynamic #t54 = super.{self::A::[]=}(#t52, #t53) in #t53);
super.m = super.{self::A::m}.+(42);
self::use(super.m = super.{self::A::m}.+(42));
super.{self::A::a} = super.{self::A::a}.-(42);
self::use(super.{self::A::a} = super.{self::A::a}.-(42));
super.{self::A::b} = super.{self::B::b}.-(42);
self::use(super.{self::A::b} = super.{self::B::b}.-(42));
super.{self::B::c} = super.{self::A::c}.-(42);
self::use(super.{self::B::c} = super.{self::A::c}.-(42));
super.{self::A::d} = super.{self::B::d}.-(42);
self::use(super.{self::A::d} = super.{self::B::d}.-(42));
super.e = super.{self::A::e}.-(42);
self::use(super.e = super.{self::A::e}.-(42));
super.f = super.{self::A::f}.-(42);
self::use(super.f = super.{self::A::f}.-(42));
super.{self::A::g} = super.g.-(42);
self::use(super.{self::A::g} = super.g.-(42));
super.{self::A::h} = super.{self::A::h}.-(42);
self::use(super.{self::A::h} = super.{self::A::h}.-(42));
super.{self::B::i} = super.{self::A::i}.-(42);
self::use(super.{self::B::i} = super.{self::A::i}.-(42));
let final dynamic #t55 = 87 in super.{self::A::[]=}(#t55, super.{self::A::[]}(#t55).-(42));
self::use(let final dynamic #t56 = 87 in let final dynamic #t57 = super.{self::A::[]}(#t56).-(42) in let final dynamic #t58 = super.{self::A::[]=}(#t56, #t57) in #t57);
super.m = super.{self::A::m}.-(42);
self::use(super.m = super.{self::A::m}.-(42));
}
}
static method use(dynamic x) dynamic {
if(x.==(new core::DateTime::now().millisecondsSinceEpoch))
throw "Shouldn't happen";
}
static method main() dynamic {
try {
new self::C::•().test();
}
on core::NoSuchMethodError catch(no-exception-var) {
return;
}
throw "Test failed";
}