blob: 8153da1dbb0a38c6f4f91ddb9e3e74c7cad10c4a [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 {
}
mixin Mixin on SuperA, SuperC {
}
class Class extends SuperB with Mixin {}
@AssumeDynamic()
@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());
}