blob: d29409c8ca751cfe37f301c382c1ac9e1d3317d9 [file] [log] [blame]
// Copyright (c) 2018, 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.
import 'package:expect/expect.dart';
class S {}
class M {}
class SuperC = S with M;
class SuperA {}
class SuperB extends SuperA implements SuperC {}
mixin Mixin on SuperA, SuperC {}
class Class extends SuperB with Mixin {}
@pragma('dart2js:assumeDynamic')
@pragma('dart2js:noInline')
test(c) {
Expect.isTrue(c is Mixin, "Unexpected result for $c is Mixin");
Expect.isTrue(c is SuperC, "Unexpected result for $c is SuperC");
Expect.isTrue(c is SuperA, "Unexpected result for $c is SuperA");
Expect.isTrue(c is S, "Unexpected result for $c is S");
Expect.isTrue(c is M, "Unexpected result for $c is M");
}
main() {
new SuperC();
test(new Class());
}