| 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); |