blob: 1c32e506b699852619045fbca2546b8506b17609 [file] [log] [blame]
// 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 */ {}