56f46b0659
This changes the CFE expectation test suites to use unsound null safety as default to avoid passing --enable-experiments=no-non-nullable to opt out old test folders. This change removes most test folders from the 'strong' tester, since this now only supports sound null safety, which requires all libraries to be opted in. Instead, the 'weak' tester now runs all test folders. Additionally the 'outline' tester is changed to use unsound null safety so that it call be used on all test folders. The 'fast_strong' tester is removed since it should just be run locally and it can be run by passing an option to the other testers. References to non-existing 'shaker' folder has been removed from testing.json. Change-Id: Ibcc306f7b27d06b9637c205238bc408194f1d062 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184787 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
326 lines
20 KiB
Plaintext
326 lines
20 KiB
Plaintext
library;
|
|
//
|
|
// Problems in library:
|
|
//
|
|
// pkg/front_end/testcases/general/hierarchy.dart:24:7: Error: The non-abstract class 'A6' is missing implementations for these members:
|
|
// - A1.extendedInterfaceMember
|
|
// Try to either
|
|
// - provide an implementation,
|
|
// - inherit an implementation from a superclass or mixin,
|
|
// - mark the class as abstract, or
|
|
// - provide a 'noSuchMethod' implementation.
|
|
//
|
|
// class A6 extends A1 implements A1 {}
|
|
// ^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:7:8: Context: 'A1.extendedInterfaceMember' is defined here.
|
|
// void extendedInterfaceMember();
|
|
// ^^^^^^^^^^^^^^^^^^^^^^^
|
|
//
|
|
// pkg/front_end/testcases/general/hierarchy.dart:41:7: Error: The non-abstract class 'B5' is missing implementations for these members:
|
|
// - B1.twiceInterfaceMember
|
|
// - B2.twiceInterfaceMember
|
|
// Try to either
|
|
// - provide an implementation,
|
|
// - inherit an implementation from a superclass or mixin,
|
|
// - mark the class as abstract, or
|
|
// - provide a 'noSuchMethod' implementation.
|
|
//
|
|
// class B5 extends B4 {}
|
|
// ^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:27:8: Context: 'B1.twiceInterfaceMember' is defined here.
|
|
// void twiceInterfaceMember() {}
|
|
// ^^^^^^^^^^^^^^^^^^^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:32:8: Context: 'B2.twiceInterfaceMember' is defined here.
|
|
// void twiceInterfaceMember() {}
|
|
// ^^^^^^^^^^^^^^^^^^^^
|
|
//
|
|
// pkg/front_end/testcases/general/hierarchy.dart:43:7: Error: The non-abstract class 'B6' is missing implementations for these members:
|
|
// - B1.twiceInterfaceMember
|
|
// - B2.twiceInterfaceMember
|
|
// Try to either
|
|
// - provide an implementation,
|
|
// - inherit an implementation from a superclass or mixin,
|
|
// - mark the class as abstract, or
|
|
// - provide a 'noSuchMethod' implementation.
|
|
//
|
|
// class B6 extends B3 implements B1, B2 {}
|
|
// ^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:27:8: Context: 'B1.twiceInterfaceMember' is defined here.
|
|
// void twiceInterfaceMember() {}
|
|
// ^^^^^^^^^^^^^^^^^^^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:32:8: Context: 'B2.twiceInterfaceMember' is defined here.
|
|
// void twiceInterfaceMember() {}
|
|
// ^^^^^^^^^^^^^^^^^^^^
|
|
//
|
|
// pkg/front_end/testcases/general/hierarchy.dart:57:7: Error: The non-abstract class 'C4' is missing implementations for these members:
|
|
// - C1.mixedInAndImplementedInterfaceMember
|
|
// - C2.mixedInAndImplementedInterfaceMember
|
|
// Try to either
|
|
// - provide an implementation,
|
|
// - inherit an implementation from a superclass or mixin,
|
|
// - mark the class as abstract, or
|
|
// - provide a 'noSuchMethod' implementation.
|
|
//
|
|
// class C4 extends C3 {}
|
|
// ^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:47:8: Context: 'C1.mixedInAndImplementedInterfaceMember' is defined here.
|
|
// void mixedInAndImplementedInterfaceMember();
|
|
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:52:8: Context: 'C2.mixedInAndImplementedInterfaceMember' is defined here.
|
|
// void mixedInAndImplementedInterfaceMember() {}
|
|
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
//
|
|
// pkg/front_end/testcases/general/hierarchy.dart:59:7: Error: The non-abstract class 'C5' is missing implementations for these members:
|
|
// - C1.mixedInAndImplementedInterfaceMember
|
|
// - C2.mixedInAndImplementedInterfaceMember
|
|
// Try to either
|
|
// - provide an implementation,
|
|
// - inherit an implementation from a superclass or mixin,
|
|
// - mark the class as abstract, or
|
|
// - provide a 'noSuchMethod' implementation.
|
|
//
|
|
// class C5 with C1 implements C2 {}
|
|
// ^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:47:8: Context: 'C1.mixedInAndImplementedInterfaceMember' is defined here.
|
|
// void mixedInAndImplementedInterfaceMember();
|
|
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// pkg/front_end/testcases/general/hierarchy.dart:52:8: Context: 'C2.mixedInAndImplementedInterfaceMember' is defined here.
|
|
// void mixedInAndImplementedInterfaceMember() {}
|
|
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
//
|
|
// pkg/front_end/testcases/general/hierarchy.dart:24:7: Error: 'A1' can't be used in both 'extends' and 'implements' clauses.
|
|
// Try removing one of the occurrences.
|
|
// class A6 extends A1 implements A1 {}
|
|
// ^
|
|
//
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
abstract class A1 extends core::Object {
|
|
synthetic constructor •() → self::A1*
|
|
: super core::Object::•()
|
|
;
|
|
method extendedClassMember() → void {}
|
|
abstract method extendedInterfaceMember() → void;
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
abstract class A2 extends core::Object {
|
|
synthetic constructor •() → self::A2*
|
|
: super core::Object::•()
|
|
;
|
|
method mixedInClassMember() → void {}
|
|
abstract method mixedInInterfaceMember() → void;
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
abstract class _A3&A1&A2 = self::A1 with self::A2 /*isAnonymousMixin*/ {
|
|
synthetic constructor •() → self::_A3&A1&A2*
|
|
: super self::A1::•()
|
|
;
|
|
mixin-super-stub method mixedInClassMember() → void
|
|
return super.{self::A2::mixedInClassMember}();
|
|
abstract mixin-stub method mixedInInterfaceMember() → void; -> self::A2::mixedInInterfaceMember
|
|
}
|
|
abstract class A3 extends self::_A3&A1&A2 {
|
|
synthetic constructor •() → self::A3*
|
|
: super self::_A3&A1&A2::•()
|
|
;
|
|
method declaredClassMember() → void {}
|
|
abstract method declaredInterfaceMember() → void;
|
|
}
|
|
abstract class A4 = self::A1 with self::A2 {
|
|
synthetic constructor •() → self::A4*
|
|
: super self::A1::•()
|
|
;
|
|
mixin-super-stub method mixedInClassMember() → void
|
|
return super.{self::A2::mixedInClassMember}();
|
|
abstract mixin-stub method mixedInInterfaceMember() → void; -> self::A2::mixedInInterfaceMember
|
|
}
|
|
abstract class A5 extends core::Object implements self::A1 {
|
|
synthetic constructor •() → self::A5*
|
|
: super core::Object::•()
|
|
;
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
class A6 extends self::A1 implements self::A1 {
|
|
synthetic constructor •() → self::A6*
|
|
: super self::A1::•()
|
|
;
|
|
}
|
|
abstract class B1 extends core::Object {
|
|
synthetic constructor •() → self::B1*
|
|
: super core::Object::•()
|
|
;
|
|
method twiceInterfaceMember() → void {}
|
|
method extendedAndImplementedMember() → void {}
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
abstract class B2 extends core::Object {
|
|
synthetic constructor •() → self::B2*
|
|
: super core::Object::•()
|
|
;
|
|
method twiceInterfaceMember() → void {}
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
abstract class B3 extends core::Object {
|
|
synthetic constructor •() → self::B3*
|
|
: super core::Object::•()
|
|
;
|
|
method extendedAndImplementedMember() → void {}
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
abstract class B4 extends self::B3 implements self::B1, self::B2 {
|
|
synthetic constructor •() → self::B4*
|
|
: super self::B3::•()
|
|
;
|
|
}
|
|
class B5 extends self::B4 {
|
|
synthetic constructor •() → self::B5*
|
|
: super self::B4::•()
|
|
;
|
|
}
|
|
class B6 extends self::B3 implements self::B1, self::B2 {
|
|
synthetic constructor •() → self::B6*
|
|
: super self::B3::•()
|
|
;
|
|
}
|
|
abstract class C1 extends core::Object {
|
|
synthetic constructor •() → self::C1*
|
|
: super core::Object::•()
|
|
;
|
|
method mixedInAndImplementedClassMember() → void {}
|
|
abstract method mixedInAndImplementedInterfaceMember() → void;
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
class C2 extends core::Object {
|
|
synthetic constructor •() → self::C2*
|
|
: super core::Object::•()
|
|
;
|
|
method mixedInAndImplementedClassMember() → void {}
|
|
method mixedInAndImplementedInterfaceMember() → void {}
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
}
|
|
abstract class _C3&Object&C1 = core::Object with self::C1 /*isAnonymousMixin,hasConstConstructor*/ {
|
|
const synthetic constructor •() → self::_C3&Object&C1*
|
|
: super core::Object::•()
|
|
;
|
|
mixin-super-stub method mixedInAndImplementedClassMember() → void
|
|
return super.{self::C1::mixedInAndImplementedClassMember}();
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
abstract mixin-stub method mixedInAndImplementedInterfaceMember() → void; -> self::C1::mixedInAndImplementedInterfaceMember
|
|
}
|
|
abstract class C3 extends self::_C3&Object&C1 implements self::C2 {
|
|
synthetic constructor •() → self::C3*
|
|
: super self::_C3&Object&C1::•()
|
|
;
|
|
}
|
|
class C4 extends self::C3 {
|
|
synthetic constructor •() → self::C4*
|
|
: super self::C3::•()
|
|
;
|
|
}
|
|
abstract class _C5&Object&C1 = core::Object with self::C1 /*isAnonymousMixin,hasConstConstructor*/ {
|
|
const synthetic constructor •() → self::_C5&Object&C1*
|
|
: super core::Object::•()
|
|
;
|
|
mixin-super-stub method mixedInAndImplementedClassMember() → void
|
|
return super.{self::C1::mixedInAndImplementedClassMember}();
|
|
abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
|
|
abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
|
|
abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
|
|
abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
|
|
abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
|
|
abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
|
|
abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
|
|
abstract member-signature method toString() → core::String*; -> core::Object::toString
|
|
abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
|
|
abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
|
|
abstract mixin-stub method mixedInAndImplementedInterfaceMember() → void; -> self::C1::mixedInAndImplementedInterfaceMember
|
|
}
|
|
class C5 extends self::_C5&Object&C1 implements self::C2 {
|
|
synthetic constructor •() → self::C5*
|
|
: super self::_C5&Object&C1::•()
|
|
;
|
|
}
|
|
static method main() → dynamic {}
|