library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/abstract_tear_off.dart:15:9: Error: Constructors on abstract classes can't be torn off.
//   Class.new; // Error
//         ^^^
//
// pkg/front_end/testcases/general/abstract_tear_off.dart:17:5: Error: Constructors on abstract classes can't be torn off.
//   F.new; // Error
//     ^^^
//
import self as self;
import "dart:core" as core;

typedef F<unrelated T extends core::Object? = dynamic> = self::Class;
abstract class Class extends core::Object {
  constructor •() → self::Class
    : super core::Object::•()
    ;
  static factory redirect() → self::Class /* redirection-target: self::ClassImpl::• */
    return new self::ClassImpl::•();
}
class ClassImpl extends core::Object implements self::Class {
  synthetic constructor •() → self::ClassImpl
    : super core::Object::•()
    ;
}
static method test() → dynamic {
  invalid-expression "pkg/front_end/testcases/general/abstract_tear_off.dart:15:9: Error: Constructors on abstract classes can't be torn off.
  Class.new; // Error
        ^^^";
  #C1;
  invalid-expression "pkg/front_end/testcases/general/abstract_tear_off.dart:17:5: Error: Constructors on abstract classes can't be torn off.
  F.new; // Error
    ^^^";
  #C2;
}
static method _#F#redirect#tearOff<unrelated T extends core::Object? = dynamic>() → self::Class
  return self::Class::redirect();

constants  {
  #C1 = redirecting-factory-tearoff self::Class::redirect
  #C2 = static-tearoff self::_#F#redirect#tearOff
}
