blob: 82a41bb48415fe58fb7bdde4aaec10afea3c597c [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:5:16: Error: 'A' is a supertype of itself.
// extension type A(int it) implements B {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:7:16: Error: 'B' is a supertype of itself.
// extension type B(int it) implements A {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:9:16: Error: 'C' is a supertype of itself.
// extension type C(int it) implements D {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:11:16: Error: 'D' is a supertype of itself.
// extension type D(int it) implements E {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:13:16: Error: 'E' is a supertype of itself.
// extension type E(int it) implements F {}
// ^
//
// pkg/front_end/testcases/extension_types/cyclic_extension_types.dart:15:16: Error: 'F' is a supertype of itself.
// extension type F(int it) implements D {}
// ^
//
import self as self;
import "dart:core" as core;
extension type A(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::A|constructor#;
constructor tearoff = self::A|constructor#_#new#tearOff;
}
extension type B(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::B|constructor#;
constructor tearoff = self::B|constructor#_#new#tearOff;
}
extension type C(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::C|constructor#;
constructor tearoff = self::C|constructor#_#new#tearOff;
}
extension type D(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::D|constructor#;
constructor tearoff = self::D|constructor#_#new#tearOff;
}
extension type E(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::E|constructor#;
constructor tearoff = self::E|constructor#_#new#tearOff;
}
extension type F(core::int it) {
abstract extension-type-member representation-field get it() core::int;
constructor = self::F|constructor#;
constructor tearoff = self::F|constructor#_#new#tearOff;
}
static extension-type-member method A|constructor#(core::int it) → self::A% /* erasure=core::int, declared=! */ {
lowered final self::A% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method A|constructor#_#new#tearOff(core::int it) → self::A% /* erasure=core::int, declared=! */
return self::A|constructor#(it);
static extension-type-member method B|constructor#(core::int it) → self::B% /* erasure=core::int, declared=! */ {
lowered final self::B% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method B|constructor#_#new#tearOff(core::int it) → self::B% /* erasure=core::int, declared=! */
return self::B|constructor#(it);
static extension-type-member method C|constructor#(core::int it) → self::C% /* erasure=core::int, declared=! */ {
lowered final self::C% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method C|constructor#_#new#tearOff(core::int it) → self::C% /* erasure=core::int, declared=! */
return self::C|constructor#(it);
static extension-type-member method D|constructor#(core::int it) → self::D% /* erasure=core::int, declared=! */ {
lowered final self::D% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method D|constructor#_#new#tearOff(core::int it) → self::D% /* erasure=core::int, declared=! */
return self::D|constructor#(it);
static extension-type-member method E|constructor#(core::int it) → self::E% /* erasure=core::int, declared=! */ {
lowered final self::E% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(core::int it) → self::E% /* erasure=core::int, declared=! */
return self::E|constructor#(it);
static extension-type-member method F|constructor#(core::int it) → self::F% /* erasure=core::int, declared=! */ {
lowered final self::F% /* erasure=core::int, declared=! */ #this = it;
return #this;
}
static extension-type-member method F|constructor#_#new#tearOff(core::int it) → self::F% /* erasure=core::int, declared=! */
return self::F|constructor#(it);