blob: c1e32bfd1709dcb5179f4ae1d0b97a63b237e634 [file] [log] [blame]
// Copyright (c) 2015, 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 file.
// VMOptions=--optimization-counter-threshold=10 --no-use-osr
import "package:expect/expect.dart";
// Test dense class-id checks. Regression test for issue 22104.
class A {
toString() => "an A";
}
class A1 extends A { }
class A2 extends A { }
class A3 extends A { }
class A4 extends A { toString() => "ha"; }
class A5 extends A { }
class A6 extends A { }
class A7 extends A { }
class A8 extends A { }
class A9 extends A { }
class A10 extends A { }
class A11 extends A { }
class A12 extends A { }
class A13 extends A { }
class A14 extends A { }
class A15 extends A { }
class A16 extends A { }
class A17 extends A { }
class A18 extends A { }
class A19 extends A { }
class A20 extends A { }
class A21 extends A { }
class A22 extends A { }
class A23 extends A { }
class A24 extends A { }
class A25 extends A { }
class A26 extends A { }
class A27 extends A { }
class A28 extends A { }
class A29 extends A { }
class A30 extends A { }
class A31 extends A { }
class A32 extends A { }
class A33 extends A { }
class A34 extends A { }
class A35 extends A { }
class A36 extends A { }
test_class_check(e) => e.toString();
main() {
var list = [
new A1(),
new A2(),
new A11(),
new A36()
];
for (var i = 0; i < list.length; i++) {
test_class_check(list[i]);
}
for (var i = 0; i < 100; i++) {
Expect.equals("an A", test_class_check(new A1()));
}
Expect.equals("ha", test_class_check(new A4()));
}