blob: 74d138ede3b927953acb1d4b9119080105fb6594 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/inline_class/extension_types/supertype_conflict.dart:9:16: Error: 'C' is a supertype of itself.
// extension type C<T>(A<T> it) implements C<T> {}
// ^
//
// pkg/front_end/testcases/inline_class/extension_types/supertype_conflict.dart:13:16: Error: 'E' is a supertype of itself.
// extension type E(A<Never> it) implements B<int>, C<String> {}
// ^
//
import self as self;
import "dart:core" as core;
class A<T extends core::Object? = dynamic> extends core::Object {
synthetic constructor •() self::A<self::A::T%>
: super core::Object::•()
;
}
extension type B<T extends core::Object? = dynamic>(self::A<T%> it) implements self::A<T%> {
constructor = self::B|;
tearoff = self::B|_#new#tearOff;
}
extension type C<T extends core::Object? = dynamic>(self::A<T%> it) {
constructor = self::C|;
tearoff = self::C|_#new#tearOff;
}
extension type D(self::A<Never> it) implements self::A<core::int>, self::B<core::String> /* = self::A<core::String> */ {
constructor = self::D|;
tearoff = self::D|_#new#tearOff;
}
extension type E(self::A<Never> it) {
constructor = self::E|;
tearoff = self::E|_#new#tearOff;
}
static inline-class-member method B|<T extends core::Object? = dynamic>(self::A<self::B|::T%> it) self::B<self::B|::T%> /* = self::A<self::B|::T%> */ {
lowered final self::B<self::B|::T%> /* = self::A<self::B|::T%> */ #this = it;
return #this;
}
static inline-class-member method B|_#new#tearOff<T extends core::Object? = dynamic>(self::A<self::B|_#new#tearOff::T%> it) → self::B<self::B|_#new#tearOff::T%> /* = self::A<self::B|_#new#tearOff::T%> */
return self::B|<self::B|_#new#tearOff::T%>(it);
static inline-class-member method C|<T extends core::Object? = dynamic>(self::A<self::C|::T%> it) self::C<self::C|::T%> /* = self::A<self::C|::T%> */ {
lowered final self::C<self::C|::T%> /* = self::A<self::C|::T%> */ #this = it;
return #this;
}
static inline-class-member method C|_#new#tearOff<T extends core::Object? = dynamic>(self::A<self::C|_#new#tearOff::T%> it) → self::C<self::C|_#new#tearOff::T%> /* = self::A<self::C|_#new#tearOff::T%> */
return self::C|<self::C|_#new#tearOff::T%>(it);
static inline-class-member method D|(self::A<Never> it) self::D /* = self::A<Never> */ {
lowered final self::D /* = self::A<Never> */ #this = it;
return #this;
}
static inline-class-member method D|_#new#tearOff(self::A<Never> it) → self::D /* = self::A<Never> */
return self::D|(it);
static inline-class-member method E|(self::A<Never> it) self::E /* = self::A<Never> */ {
lowered final self::E /* = self::A<Never> */ #this = it;
return #this;
}
static inline-class-member method E|_#new#tearOff(self::A<Never> it) → self::E /* = self::A<Never> */
return self::E|(it);