| 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 |
| } |