| // 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 S0 {} |
| |
| class S1 extends Object {} |
| |
| class S2 extends S0 {} |
| |
| class M0 {} |
| |
| class M1 extends Object {} |
| |
| mixin M2 on M0 {} |
| |
| class C00 = S0 with M0; |
| class C01 = S0 with M1; |
| class C02 = S0 with M2; |
| // ^ |
| // [cfe] 'S0' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C03 = S0 with M0, M1; |
| class C04 = S0 with M0, M2; |
| class C05 = S0 with M2, M0; |
| // ^ |
| // [cfe] 'S0' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C06 = S0 with M1, M2; |
| // ^ |
| // [cfe] '_C06&S0&M1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C07 = S0 with M2, M1; |
| // ^ |
| // [cfe] 'S0' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class C10 = S1 with M0; |
| class C11 = S1 with M1; |
| class C12 = S1 with M2; |
| // ^ |
| // [cfe] 'S1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C13 = S1 with M0, M1; |
| class C14 = S1 with M0, M2; |
| class C15 = S1 with M2, M0; |
| // ^ |
| // [cfe] 'S1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C16 = S1 with M1, M2; |
| // ^ |
| // [cfe] '_C16&S1&M1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C17 = S1 with M2, M1; |
| // ^ |
| // [cfe] 'S1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class C20 = S2 with M0; |
| class C21 = S2 with M1; |
| class C22 = S2 with M2; |
| // ^ |
| // [cfe] 'S2' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C23 = S2 with M0, M1; |
| class C24 = S2 with M0, M2; |
| class C25 = S2 with M2, M0; |
| // ^ |
| // [cfe] 'S2' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C26 = S2 with M1, M2; |
| // ^ |
| // [cfe] '_C26&S2&M1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| class C27 = S2 with M2, M1; |
| // ^ |
| // [cfe] 'S2' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D00 extends S0 with M0 {} |
| |
| class D01 extends S0 with M1 {} |
| |
| class D02 extends S0 with M2 {} |
| // ^ |
| // [cfe] 'S0' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D03 extends S0 with M0, M1 {} |
| |
| class D04 extends S0 with M0, M2 {} |
| |
| class D05 extends S0 with M2, M0 {} |
| // ^ |
| // [cfe] 'S0' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D06 extends S0 with M1, M2 {} |
| // ^ |
| // [cfe] '_D06&S0&M1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D07 extends S0 with M2, M1 {} |
| // ^ |
| // [cfe] 'S0' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D10 extends S1 with M0 {} |
| |
| class D11 extends S1 with M1 {} |
| |
| class D12 extends S1 with M2 {} |
| // ^ |
| // [cfe] 'S1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D13 extends S1 with M0, M1 {} |
| |
| class D14 extends S1 with M0, M2 {} |
| |
| class D15 extends S1 with M2, M0 {} |
| // ^ |
| // [cfe] 'S1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D16 extends S1 with M1, M2 {} |
| // ^ |
| // [cfe] '_D16&S1&M1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D17 extends S1 with M2, M1 {} |
| // ^ |
| // [cfe] 'S1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D20 extends S2 with M0 {} |
| |
| class D21 extends S2 with M1 {} |
| |
| class D22 extends S2 with M2 {} |
| // ^ |
| // [cfe] 'S2' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D23 extends S2 with M0, M1 {} |
| |
| class D24 extends S2 with M0, M2 {} |
| |
| class D25 extends S2 with M2, M0 {} |
| // ^ |
| // [cfe] 'S2' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D26 extends S2 with M1, M2 {} |
| // ^ |
| // [cfe] '_D26&S2&M1' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| class D27 extends S2 with M2, M1 {} |
| // ^ |
| // [cfe] 'S2' doesn't implement 'M0' so it can't be used with 'M2'. |
| // ^^ |
| // [analyzer] COMPILE_TIME_ERROR.MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE |
| |
| main() { |
| new C00(); |
| new C01(); |
| new C03(); |
| new C04(); |
| |
| new C10(); |
| new C11(); |
| new C13(); |
| new C14(); |
| |
| new C20(); |
| new C21(); |
| new C23(); |
| new C24(); |
| |
| new D00(); |
| new D01(); |
| new D03(); |
| new D04(); |
| |
| new D10(); |
| new D11(); |
| new D13(); |
| new D14(); |
| |
| new D20(); |
| new D21(); |
| new D23(); |
| new D24(); |
| } |