| // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE.md file. |
| // @dart=2.9 |
| class A { |
| var a; |
| var b; |
| var c; |
| var d; |
| get e => null; |
| final f; |
| set g(_) {} |
| get h => null; |
| set h(_) {} |
| get i => null; |
| |
| operator [](_) => null; |
| operator []=(a, b) {} |
| operator ~() => 117; |
| operator -() => 117; |
| |
| operator ==(other) => true; |
| |
| void m() {} |
| |
| void n() {} |
| set n(_) {} |
| } |
| |
| class B extends A { |
| get b => null; |
| set c(x) {} |
| final d; |
| set i(x) {} |
| } |
| |
| class C extends B { |
| test() { |
| ~super; |
| use(~super); |
| -super; |
| use(-super); |
| +super; |
| use(+super); |
| super == 87; |
| use(super == 87); |
| super != 87; |
| use(super != 87); |
| |
| super.a; |
| use(super.a); |
| super.b; |
| use(super.b); |
| super.c; |
| use(super.c); |
| super.d; |
| use(super.d); |
| super.e; |
| use(super.e); |
| super.f; |
| use(super.f); |
| super.g; |
| use(super.g); |
| super.h; |
| use(super.h); |
| super.i; |
| use(super.i); |
| super[87]; |
| use(super[87]); |
| super.m; |
| use(super.m); |
| super.n; |
| use(super.n); |
| |
| super.a++; |
| use(super.a++); |
| super.b++; |
| use(super.b++); |
| super.c++; |
| use(super.c++); |
| super.d++; |
| use(super.d++); |
| super.e++; |
| use(super.e++); |
| super.f++; |
| use(super.f++); |
| super.g++; |
| use(super.g++); |
| super.h++; |
| use(super.h++); |
| super.i++; |
| use(super.i++); |
| super[87]++; |
| use(super[87]++); |
| super.m++; |
| use(super.m++); |
| super.n++; |
| use(super.n++); |
| |
| ++super.a; |
| use(++super.a); |
| ++super.b; |
| use(++super.b); |
| ++super.c; |
| use(++super.c); |
| ++super.d; |
| use(++super.d); |
| ++super.e; |
| use(++super.e); |
| ++super.f; |
| use(++super.f); |
| ++super.g; |
| use(++super.g); |
| ++super.h; |
| use(++super.h); |
| ++super.i; |
| use(++super.i); |
| ++super[87]; |
| use(++super[87]); |
| ++super.m; |
| use(++super.m); |
| ++super.n; |
| use(++super.n); |
| |
| super.a(); |
| use(super.a()); |
| super.b(); |
| use(super.b()); |
| super.c(); |
| use(super.c()); |
| super.d(); |
| use(super.d()); |
| super.e(); |
| use(super.e()); |
| super.f(); |
| use(super.f()); |
| super.g(); |
| use(super.g()); |
| super.h(); |
| use(super.h()); |
| super.i(); |
| use(super.i()); |
| super[87](); |
| use(super[87]()); |
| super.m(); |
| use(super.m()); |
| super.m(87); |
| use(super.m(87)); |
| super.n(87); |
| use(super.n(87)); |
| |
| super.a = 42; |
| use(super.a = 42); |
| super.b = 42; |
| use(super.b = 42); |
| super.c = 42; |
| use(super.c = 42); |
| super.d = 42; |
| use(super.d = 42); |
| super.e = 42; |
| use(super.e = 42); |
| super.f = 42; |
| use(super.f = 42); |
| super.g = 42; |
| use(super.g = 42); |
| super.h = 42; |
| use(super.h = 42); |
| super.i = 42; |
| use(super.i = 42); |
| super[87] = 42; |
| use(super[87] = 42); |
| super.m = 42; |
| use(super.m = 42); |
| super.n = 42; |
| use(super.n = 42); |
| |
| super.a ??= 42; |
| use(super.a ??= 42); |
| super.b ??= 42; |
| use(super.b ??= 42); |
| super.c ??= 42; |
| use(super.c ??= 42); |
| super.d ??= 42; |
| use(super.d ??= 42); |
| super.e ??= 42; |
| use(super.e ??= 42); |
| super.f ??= 42; |
| use(super.f ??= 42); |
| super.g ??= 42; |
| use(super.g ??= 42); |
| super.h ??= 42; |
| use(super.h ??= 42); |
| super.i ??= 42; |
| use(super.i ??= 42); |
| super[87] ??= 42; |
| use(super[87] ??= 42); |
| super.m ??= 42; |
| use(super.m ??= 42); |
| super.n ??= 42; |
| use(super.n ??= 42); |
| |
| super.a += 42; |
| use(super.a += 42); |
| super.b += 42; |
| use(super.b += 42); |
| super.c += 42; |
| use(super.c += 42); |
| super.d += 42; |
| use(super.d += 42); |
| super.e += 42; |
| use(super.e += 42); |
| super.f += 42; |
| use(super.f += 42); |
| super.g += 42; |
| use(super.g += 42); |
| super.h += 42; |
| use(super.h += 42); |
| super.i += 42; |
| use(super.i += 42); |
| super[87] += 42; |
| use(super[87] += 42); |
| super.m += 42; |
| use(super.m += 42); |
| super.n += 42; |
| use(super.n += 42); |
| |
| super.a -= 42; |
| use(super.a -= 42); |
| super.b -= 42; |
| use(super.b -= 42); |
| super.c -= 42; |
| use(super.c -= 42); |
| super.d -= 42; |
| use(super.d -= 42); |
| super.e -= 42; |
| use(super.e -= 42); |
| super.f -= 42; |
| use(super.f -= 42); |
| super.g -= 42; |
| use(super.g -= 42); |
| super.h -= 42; |
| use(super.h -= 42); |
| super.i -= 42; |
| use(super.i -= 42); |
| super[87] -= 42; |
| use(super[87] -= 42); |
| super.m -= 42; |
| use(super.m -= 42); |
| super.n -= 42; |
| use(super.n -= 42); |
| } |
| } |
| |
| use(x) { |
| if (x == new DateTime.now().millisecondsSinceEpoch) throw "Shouldn't happen"; |
| } |
| |
| main() { |
| new C().test(); |
| } |