blob: efd86c0318a7207c595b226cf68fcc6a7d3afbb5 [file] [log] [blame]
// 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.
import 'package:expect/expect.dart';
class SuperA1 {
method1(a) => 'A1.m1$a';
}
class SuperA2 {
method2(a) => 'A2.m2$a';
}
class SuperA {
method1(a) => 'A.m1$a';
method2(a) => 'A.m2$a';
}
class SuperB1 extends SuperA implements SuperA1 {
method1(a) => 'B1.m1$a';
}
class SuperB2 extends SuperB1 implements SuperA2 {
method2(a) => 'B2.m2$a';
}
mixin Mixin on SuperA1, SuperA2 {
method1(a) => super.method1('M$a');
method2(a) => super.method2('M$a');
}
class Class extends SuperB2 with Mixin {}
main() {
var c = new Class();
Expect.equals("B1.m1MC", c.method1('C'));
Expect.equals("B2.m2MC", c.method2('C'));
}