| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/extend_with_type_variable.dart:13:7: Error: The type 'M' can't be mixed in. |
| // class Class2<T, M extends Mixin<T>> extends SuperClass with M {} |
| // ^ |
| // |
| // pkg/front_end/testcases/general/extend_with_type_variable.dart:11:47: Error: The type variable 'S' can't be used as supertype. |
| // class Class1<T, S extends SuperClass> extends S with Mixin<T> {} |
| // ^ |
| // |
| // pkg/front_end/testcases/general/extend_with_type_variable.dart:13:61: Error: The type variable 'M' can't be used as supertype. |
| // class Class2<T, M extends Mixin<T>> extends SuperClass with M {} |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class SuperClass extends core::Object { |
| synthetic constructor •() → self::SuperClass |
| : super core::Object::•() |
| ; |
| } |
| abstract class Mixin<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/ { |
| } |
| abstract class _Class1&S&Mixin<T extends core::Object? = dynamic, S extends self::SuperClass> extends core::Object implements self::Mixin<self::_Class1&S&Mixin::T%> /*isAnonymousMixin,isEliminatedMixin*/ { |
| synthetic constructor •() → self::_Class1&S&Mixin<self::_Class1&S&Mixin::T%, self::_Class1&S&Mixin::S> |
| : super core::Object::•() |
| ; |
| } |
| class Class1<T extends core::Object? = dynamic, S extends self::SuperClass> extends self::_Class1&S&Mixin<self::Class1::T%, self::Class1::S> { |
| synthetic constructor •() → self::Class1<self::Class1::T%, self::Class1::S> |
| : super self::_Class1&S&Mixin::•() |
| ; |
| } |
| abstract class _Class2&SuperClass&M<T extends core::Object? = dynamic, M extends self::Mixin<self::_Class2&SuperClass&M::T%> = self::Mixin<dynamic>> extends self::SuperClass /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_Class2&SuperClass&M<self::_Class2&SuperClass&M::T%, self::_Class2&SuperClass&M::M> |
| : super self::SuperClass::•() |
| ; |
| } |
| class Class2<T extends core::Object? = dynamic, M extends self::Mixin<self::Class2::T%> = self::Mixin<dynamic>> extends self::_Class2&SuperClass&M<self::Class2::T%, self::Class2::M> { |
| synthetic constructor •() → self::Class2<self::Class2::T%, self::Class2::M> |
| : super self::_Class2&SuperClass&M::•() |
| ; |
| } |
| static method main() → dynamic {} |