|  | // Copyright (c) 2022, 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. | 
|  |  | 
|  | import 'main_lib.dart'; | 
|  |  | 
|  | mixin Mixin1 on Super1, Super2 { | 
|  | late int field1 = () { | 
|  | return super.field1 = super.field1 + 1; | 
|  | }(); | 
|  |  | 
|  | late int field2 = () { | 
|  | return 88; | 
|  | }(); | 
|  |  | 
|  | void method1() { | 
|  | super.method1(); | 
|  | } | 
|  |  | 
|  | void method2() {} | 
|  |  | 
|  | int get property1 { | 
|  | return super.property1; | 
|  | } | 
|  |  | 
|  | void set property1(int value) { | 
|  | super.property1 = value; | 
|  | } | 
|  |  | 
|  | int get property2 { | 
|  | return 42; | 
|  | } | 
|  |  | 
|  | void set property2(int value) {} | 
|  | } | 
|  |  | 
|  | abstract class Class1a extends Super1 implements Super2 {} | 
|  |  | 
|  | class Class1b extends Class1a with Mixin1 /* Ok */ {} | 
|  |  | 
|  | abstract class Class2a extends Super2 implements Super1 {} | 
|  |  | 
|  | class Class2b extends Class2a with Mixin1 /* Error */ {} | 
|  |  | 
|  | abstract class Class3a implements Super1, Super2 {} | 
|  |  | 
|  | class Class3b extends Class3a with Mixin1 /* Error */ {} | 
|  |  | 
|  | abstract class Class4a extends Super1 implements Super2 {} | 
|  |  | 
|  | class Class4b extends Class4a with Mixin2 /* Ok */ {} | 
|  |  | 
|  | abstract class Class5a extends Super2 implements Super1 {} | 
|  |  | 
|  | class Class5b extends Class5a with Mixin2 /* Error */ {} | 
|  |  | 
|  | abstract class Class6a implements Super1, Super2 {} | 
|  |  | 
|  | class Class6b extends Class6a with Mixin2 /* Error */ {} |