// Copyright (c) 2013, 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.

// @dart = 2.9

class S0 {}

class S1 extends Object {}

class S2 extends S0 {}

class M0 {}

class M1 extends Object {}

class M2 extends M0 {}

class C00 = S0 with M0;
class C01 = S0 with M1;
class C02 = S0 with M2;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C03 = S0 with M0, M1;
class C04 = S0 with M0, M2;
//                      ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 25, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C05 = S0 with M2, M0;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C06 = S0 with M1, M2;
//                      ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 25, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C07 = S0 with M2, M1;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.

class C10 = S1 with M0;
class C11 = S1 with M1;
class C12 = S1 with M2;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C13 = S1 with M0, M1;
class C14 = S1 with M0, M2;
//                      ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 25, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C15 = S1 with M2, M0;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C16 = S1 with M1, M2;
//                      ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 25, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C17 = S1 with M2, M1;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.

class C20 = S2 with M0;
class C21 = S2 with M1;
class C22 = S2 with M2;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C23 = S2 with M0, M1;
class C24 = S2 with M0, M2;
//                      ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 25, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C25 = S2 with M2, M0;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C26 = S2 with M1, M2;
//                      ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 25, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class C27 = S2 with M2, M1;
//                  ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 21, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.

class D00 extends S0 with M0 {}

class D01 extends S0 with M1 {}

class D02 extends S0 with M2 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D03 extends S0 with M0, M1 {}
class D04 extends S0 with M0, M2 { }
//                            ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 31, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D05 extends S0 with M2, M0 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D06 extends S0 with M1, M2 { }
//                            ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 31, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D07 extends S0 with M2, M1 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.

class D10 extends S1 with M0 {}

class D11 extends S1 with M1 {}

class D12 extends S1 with M2 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D13 extends S1 with M0, M1 {}
class D14 extends S1 with M0, M2 { }
//                            ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 31, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D15 extends S1 with M2, M0 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D16 extends S1 with M1, M2 { }
//                            ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 31, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D17 extends S1 with M2, M1 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.

class D20 extends S2 with M0 {}

class D21 extends S2 with M1 {}

class D22 extends S2 with M2 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D23 extends S2 with M0, M1 {}
class D24 extends S2 with M0, M2 { }
//                            ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 31, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D25 extends S2 with M2, M0 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D26 extends S2 with M1, M2 { }
//                            ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 31, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.
class D27 extends S2 with M2, M1 { }
//                        ^^
// [analyzer] COMPILE_TIME_ERROR.MIXIN_INHERITS_FROM_NOT_OBJECT
// [error column 27, length 0]
// [cfe] The class 'M2' can't be used as a mixin because it extends a class other than 'Object'.

main() {
  new C00();
  new C01();
  new C02();
  new C03();
  new C04();
  new C05();
  new C06();
  new C07();

  new C10();
  new C11();
  new C12();
  new C13();
  new C14();
  new C15();
  new C16();
  new C17();

  new C20();
  new C21();
  new C22();
  new C23();
  new C24();
  new C25();
  new C26();
  new C27();

  new D00();
  new D01();
  new D02();
  new D03();
  new D04();
  new D05();
  new D06();
  new D07();

  new D10();
  new D11();
  new D12();
  new D13();
  new D14();
  new D15();
  new D16();
  new D17();

  new D20();
  new D21();
  new D22();
  new D23();
  new D24();
  new D25();
  new D26();
  new D27();
}
