blob: 3c9afcdd3162d6d2ddebe9b35ecb75dc22e29f8e [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:5:7: Error: The non-abstract class 'Interface' is missing implementations for these members:
// - Interface.declaredAbstractImplementsAbstractField
// - Interface.declaredAbstractImplementsAbstractField=
// - Interface.declaredConcreteImplementsAbstractField
// - Interface.declaredConcreteImplementsAbstractField=
// - Interface.implementedAbstractField
// - Interface.implementedAbstractField=
// 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 Interface {
// ^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:16:16: Context: 'Interface.declaredAbstractImplementsAbstractField' is defined here.
// abstract int declaredAbstractImplementsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:16:16: Context: 'Interface.declaredAbstractImplementsAbstractField=' is defined here.
// abstract int declaredAbstractImplementsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:14:16: Context: 'Interface.declaredConcreteImplementsAbstractField' is defined here.
// abstract int declaredConcreteImplementsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:14:16: Context: 'Interface.declaredConcreteImplementsAbstractField=' is defined here.
// abstract int declaredConcreteImplementsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField' is defined here.
// abstract int implementedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField=' is defined here.
// abstract int implementedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
// - ConcreteClass.declaredAbstractField
// - ConcreteClass.declaredAbstractField=
// - ConcreteClass.declaredAbstractImplementsAbstractField
// - ConcreteClass.declaredAbstractImplementsAbstractField=
// - ConcreteClass.declaredAbstractImplementsConcreteField
// - ConcreteClass.declaredAbstractImplementsConcreteField=
// - Interface.implementedAbstractField
// - Interface.implementedAbstractField=
// - Interface.implementedConcreteField
// 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 ConcreteClass implements Interface {
// ^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField' is defined here.
// abstract int declaredAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField=' is defined here.
// abstract int declaredAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractImplementsAbstractField' is defined here.
// abstract int declaredAbstractImplementsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractImplementsAbstractField=' is defined here.
// abstract int declaredAbstractImplementsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:26:16: Context: 'ConcreteClass.declaredAbstractImplementsConcreteField' is defined here.
// abstract int declaredAbstractImplementsConcreteField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:26:16: Context: 'ConcreteClass.declaredAbstractImplementsConcreteField=' is defined here.
// abstract int declaredAbstractImplementsConcreteField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField' is defined here.
// abstract int implementedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField=' is defined here.
// abstract int implementedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:6:7: Context: 'Interface.implementedConcreteField' is defined here.
// int implementedConcreteField = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
class Interface extends core::Object {
field core::int implementedConcreteField = 0;
field core::int declaredConcreteImplementsConcreteField = 0;
field core::int declaredAbstractImplementsConcreteField = 0;
synthetic constructor •() self::Interface
: super core::Object::•()
;
abstract get implementedAbstractField() core::int;
abstract set implementedAbstractField(core::int #externalFieldValue) → void;
abstract get declaredConcreteImplementsAbstractField() core::int;
abstract set declaredConcreteImplementsAbstractField(core::int #externalFieldValue) → void;
abstract get declaredAbstractImplementsAbstractField() core::int;
abstract set declaredAbstractImplementsAbstractField(core::int #externalFieldValue) → void;
}
class ConcreteClass extends core::Object implements self::Interface {
field core::int declaredConcreteField = 0;
field core::int declaredConcreteImplementsConcreteField = 0;
field core::int declaredConcreteImplementsAbstractField = 0;
synthetic constructor •() self::ConcreteClass
: super core::Object::•()
;
abstract get declaredAbstractField() core::int;
abstract set declaredAbstractField(core::int #externalFieldValue) → void;
abstract get declaredAbstractImplementsConcreteField() core::int;
abstract set declaredAbstractImplementsConcreteField(core::int #externalFieldValue) → void;
abstract get declaredAbstractImplementsAbstractField() core::int;
abstract set declaredAbstractImplementsAbstractField(core::int #externalFieldValue) → void;
}
static method main() dynamic {}