blob: c1dec57ecf79a2114d5f167897829bb65da2537c [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.
/// @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
/// when:
/// Super-Interface: T0 is an interface type with super-interfaces S0,...Sn
/// - and Si <: T1 for some i
/// @description Check that if type T0 is an interface type with super-interfaces
/// S0,...Sn and and Si <: T1 for some i then T0 is a subtype of a type T1. Test
/// the case when Si is not direct child of T1
/// @author sgrekhov@unipro.ru
class T1 {
const T1();
}
abstract class S0 {}
abstract class S1 {}
abstract class S2 extends SS2 {}
class SS2 extends Object implements T1 {}
abstract class T0 implements S0, S1, S2 {}
class T implements T0 {}
T0 t0Instance = new T();
T1 t1Instance = new T1();
const t1Default = const T1();
//# @T0 = T0
//# @T1 = T1