| // 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 A mixin declaration defines an interface. The interface for this |
| /// mixin declaration is equivalent to the interface of the class declared as: |
| /// abstract class A<X extends S, Y extends T> extends A$super<X, Y> |
| /// implements D, E { body' } |
| /// where body' contains abstract declarations corresponding to the instance |
| /// members of body of the mixin A. |
| /// It is a compile time error for the mixin declaration if this class |
| /// declarations would not be valid. |
| /// |
| /// @description Checks that mixin declaration may have no implementation of all |
| /// declared methods and properties |
| /// @author sgrekhov@unipro.ru |
| |
| |
| abstract class I { |
| int get i1; |
| void i2(); |
| void set i3(int); |
| } |
| abstract class J { |
| int get j1; |
| void j2(); |
| void set j3(int); |
| } |
| |
| abstract class B { |
| int get b1; |
| void b2(); |
| void set b3(int); |
| } |
| abstract class C { |
| int get c1; |
| void c2(); |
| void set c3(int); |
| } |
| |
| mixin M on B, C implements I, J {} |
| |
| main() { |
| } |