blob: 5e6cfd3212b9bad1adc0c4b7f541c3aee3bd8345 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/issue54241.dart:6:18: Error: An extension type can't depend on itself through its representation type.
// extension type E(Function<Y extends A>() it) {}
// ^
//
import self as self;
import "dart:core" as core;
class A<X extends self::E% /* erasure=invalid-type, declared=! */> extends core::Object {
synthetic constructor •() self::A<self::A::X%>
: super core::Object::•()
;
}
extension type E(invalid-type it) {
abstract extension-type-member representation-field get it() <Y extends self::A<self::E% /* erasure=invalid-type, declared=! */> = dynamic>() dynamic;
constructor = self::E|constructor#;
constructor tearoff = self::E|constructor#_#new#tearOff;
}
static extension-type-member method E|constructor#(<Y extends self::A<self::E% /* erasure=invalid-type, declared=! */> = dynamic>() → dynamic it) → self::E% /* erasure=invalid-type, declared=! */ {
lowered final self::E% /* erasure=invalid-type, declared=! */ #this = it;
return #this;
}
static extension-type-member method E|constructor#_#new#tearOff(<Y extends self::A<self::E% /* erasure=invalid-type, declared=! */> = dynamic>() → dynamic it) → self::E% /* erasure=invalid-type, declared=! */
return self::E|constructor#(it);