// 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. class M0 { factory M0(a, b, c) => null; factory M0.named() => null; } class M1 { M1(); } class M2 { M2.named(); } class C0 = Object with M0; class C1 = Object with M1; // ^ // [cfe] Can't use 'M1' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class C2 = Object with M2; // ^ // [cfe] Can't use 'M2' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class C3 = Object with M0, M1; // ^ // [cfe] Can't use 'M1' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class C4 = Object with M1, M0; // ^ // [cfe] Can't use 'M1' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class C5 = Object with M0, M2; // ^ // [cfe] Can't use 'M2' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class C6 = Object with M2, M0; // ^ // [cfe] Can't use 'M2' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class D0 extends Object with M0 {} class D1 extends Object with M1 { } // ^ // [cfe] Can't use 'M1' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class D2 extends Object with M2 { } // ^ // [cfe] Can't use 'M2' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class D3 extends Object with M0, M1 { } // ^ // [cfe] Can't use 'M1' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class D4 extends Object with M1, M0 { } // ^ // [cfe] Can't use 'M1' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class D5 extends Object with M0, M2 { } // ^ // [cfe] Can't use 'M2' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR class D6 extends Object with M2, M0 { } // ^ // [cfe] Can't use 'M2' as a mixin because it has constructors. // ^^ // [analyzer] COMPILE_TIME_ERROR.MIXIN_CLASS_DECLARES_CONSTRUCTOR main() { new C0(); new C1(); new C2(); new C3(); new C4(); new C5(); new C6(); new D0(); new D1(); new D2(); new D3(); new D4(); new D5(); new D6(); new C0(1,2,3); // ^ // [analyzer] COMPILE_TIME_ERROR.EXTRA_POSITIONAL_ARGUMENTS // ^^^^^^^ // [cfe] Too many positional arguments: 0 allowed, but 3 found. new C0.named(); // ^^^^^ // [analyzer] COMPILE_TIME_ERROR.NEW_WITH_UNDEFINED_CONSTRUCTOR // [cfe] Method not found: 'C0.named'. new D0(1,2,3); // ^ // [analyzer] COMPILE_TIME_ERROR.EXTRA_POSITIONAL_ARGUMENTS // ^^^^^^^ // [cfe] Too many positional arguments: 0 allowed, but 3 found. new D0.named(); // ^^^^^ // [analyzer] COMPILE_TIME_ERROR.NEW_WITH_UNDEFINED_CONSTRUCTOR // [cfe] Method not found: 'D0.named'. }