| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/issue32971.dart:16:24: Error: The class 'M' can't be used as a mixin because it isn't a mixin class nor a mixin. |
| // class A extends B with M {} |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| import "package:expect/expect.dart" as exp; |
| |
| import "package:expect/expect.dart"; |
| |
| abstract class _A&B&M = self::B with self::M /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_A&B&M |
| : super self::B::•() |
| ; |
| mixin-super-stub method g() → core::bool |
| return super.{self::M::g}(); |
| } |
| class A extends self::_A&B&M { |
| synthetic constructor •() → self::A |
| : super self::_A&B&M::•() |
| ; |
| } |
| class B extends core::Object { |
| synthetic constructor •() → self::B |
| : super core::Object::•() |
| ; |
| method f() → core::bool { |
| #L1: |
| switch(true) /* core::bool */ { |
| #L2: |
| default: |
| { |
| return true; |
| } |
| } |
| return false; |
| } |
| } |
| class M extends core::Object { |
| synthetic constructor •() → self::M |
| : super core::Object::•() |
| ; |
| method g() → core::bool { |
| #L3: |
| switch(true) /* core::bool */ { |
| #L4: |
| default: |
| { |
| return true; |
| } |
| } |
| return false; |
| } |
| } |
| static method main() → void { |
| final self::A o = new self::A::•(); |
| exp::Expect::isTrue(o.{self::B::f}(){() → core::bool}); |
| exp::Expect::isTrue(o.{self::_A&B&M::g}(){() → core::bool}); |
| } |