|  | // 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'. | 
|  | } |