blob: ec16ca74fd911f77a5132e1c996655620807cdb1 [file] [log] [blame]
// 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 file.
/// @assertion The implicit interface of class I is a direct supertype of the
/// implicit interface of class J iff:
/// • If I is Object, and J has no extends clause
/// • If I is listed in the extends clause of J.
/// • If I is listed in the implements clause of J
/// • If I is listed in the with clause of J
/// • If J is a mixin application of the mixin of I.
/// @description Checks that a type listed in the with clause of another class
/// is its supertype.
/// @author ngl@unipro.ru
import "../../../Utils/expect.dart";
class I {}
class M {}
class J extends I with M {}
main() {
Expect.isTrue(new J() is M);
Expect.runtimeIsType<M>(new J());
}