blob: 1e175f4b243b6427dc50f8f0f98d8e3f34a82b08 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:7:16: Error: The type variable 'T' can't be used as supertype.
// abstract class A<T> extends T {}
// ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:9:16: Error: The type variable 'T' can't be used as supertype.
// abstract class B<T> extends T {
// ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:13:7: Error: The type variable 'T' can't be used as supertype.
// class C<T> extends T {}
// ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:16:7: Error: The class 'A' is abstract and can't be instantiated.
// new A();
// ^
//
// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:17:7: Error: The class 'B' is abstract and can't be instantiated.
// new B();
// ^
//
import self as self;
import "dart:core" as core;
abstract class A<T extends core::Object* = dynamic> extends core::Object {
synthetic constructor •() self::A<self::A::T*>*
: super core::Object::•()
;
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
abstract class B<T extends core::Object* = dynamic> extends core::Object {
constructor •() self::B<self::B::T*>*
: super core::Object::•()
;
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
class C<T extends core::Object* = dynamic> extends core::Object {
synthetic constructor •() self::C<self::C::T*>*
: super core::Object::•()
;
abstract member-signature get _identityHashCode() core::int*;
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOf(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfTrue(dynamic type) core::bool*;
abstract member-signature method _simpleInstanceOfFalse(dynamic type) core::bool*;
abstract member-signature operator ==(dynamic other) core::bool*;
abstract member-signature get hashCode() core::int*;
abstract member-signature method toString() core::String*;
abstract member-signature method noSuchMethod(core::Invocation* invocation) dynamic;
abstract member-signature get runtimeType() core::Type*;
}
static method main() dynamic {
throw new core::AbstractClassInstantiationError::•("A");
throw new core::AbstractClassInstantiationError::•("B");
new self::C::•<dynamic>();
}