library;
//
// Problems in library:
//
// pkg/front_end/testcases/extension_types/unresolved_type_extension_type_this.dart:5:26: Error: Type 'Unresolved' not found.
// extension type Extension(Unresolved it) {}
//                          ^^^^^^^^^^
//
// pkg/front_end/testcases/extension_types/unresolved_type_extension_type_this.dart:5:26: Error: 'Unresolved' isn't a type.
// extension type Extension(Unresolved it) {}
//                          ^^^^^^^^^^
//
import self as self;

extension type Extension(invalid-type it) {
  abstract extension-type-member representation-field get it() → invalid-type;
  constructor • = self::Extension|constructor#;
  constructor tearoff • = self::Extension|constructor#_#new#tearOff;
}
static extension-type-member method Extension|constructor#(invalid-type it) → self::Extension% /* erasure=invalid-type, declared=! */ {
  lowered final self::Extension% /* erasure=invalid-type, declared=! */ #this = it;
  return #this;
}
static extension-type-member method Extension|constructor#_#new#tearOff(invalid-type it) → self::Extension% /* erasure=invalid-type, declared=! */
  return self::Extension|constructor#(it);
