4e1c79d86b
Change-Id: I8e92b95ae29f8cec16f69f59cc52c203bba5ea6f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186140 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
322 lines
19 KiB
Plaintext
322 lines
19 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 extends self::A1 implements self::A2 /*isAnonymousMixin,isEliminatedMixin*/ {
|
|
synthetic constructor •() → self::_A3&A1&A2*
|
|
: super self::A1::•()
|
|
;
|
|
method mixedInClassMember() → void {}
|
|
abstract method mixedInInterfaceMember() → void;
|
|
}
|
|
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 extends self::A1 implements self::A2 /*isEliminatedMixin*/ {
|
|
synthetic constructor •() → self::A4*
|
|
: super self::A1::•()
|
|
;
|
|
method mixedInClassMember() → void {}
|
|
abstract method mixedInInterfaceMember() → void;
|
|
}
|
|
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 extends core::Object implements self::C1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
|
const synthetic constructor •() → self::_C3&Object&C1*
|
|
: super core::Object::•()
|
|
;
|
|
method mixedInAndImplementedClassMember() → 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 method mixedInAndImplementedInterfaceMember() → void;
|
|
}
|
|
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 extends core::Object implements self::C1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/ {
|
|
const synthetic constructor •() → self::_C5&Object&C1*
|
|
: super core::Object::•()
|
|
;
|
|
method mixedInAndImplementedClassMember() → 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 method mixedInAndImplementedInterfaceMember() → void;
|
|
}
|
|
class C5 extends self::_C5&Object&C1 implements self::C2 {
|
|
synthetic constructor •() → self::C5*
|
|
: super self::_C5&Object&C1::•()
|
|
;
|
|
}
|
|
static method main() → dynamic {}
|