blob: 2697e8e71ef3fe084f29245ff1f8ebdb0b6b3b59 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:5:7: Error: The non-abstract class 'ConcreteSuper' is missing implementations for these members:
// - ConcreteSuper.declaredAbstractExtendsAbstractField
// - ConcreteSuper.declaredAbstractExtendsAbstractField=
// - ConcreteSuper.declaredConcreteExtendsAbstractField
// - ConcreteSuper.declaredConcreteExtendsAbstractField=
// - ConcreteSuper.extendedAbstractField
// - ConcreteSuper.extendedAbstractField=
// 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 ConcreteSuper {
// ^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:16:16: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractField' is defined here.
// abstract int declaredAbstractExtendsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:16:16: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractField=' is defined here.
// abstract int declaredAbstractExtendsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:14:16: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractField' is defined here.
// abstract int declaredConcreteExtendsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:14:16: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractField=' is defined here.
// abstract int declaredConcreteExtendsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField' is defined here.
// abstract int extendedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField=' is defined here.
// abstract int extendedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
// - ConcreteClass.declaredAbstractExtendsAbstractField
// - ConcreteClass.declaredAbstractExtendsAbstractField=
// - ConcreteClass.declaredAbstractField
// - ConcreteClass.declaredAbstractField=
// - ConcreteSuper.extendedAbstractField
// - ConcreteSuper.extendedAbstractField=
// 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 extends ConcreteSuper {
// ^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractExtendsAbstractField' is defined here.
// abstract int declaredAbstractExtendsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractExtendsAbstractField=' is defined here.
// abstract int declaredAbstractExtendsAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField' is defined here.
// abstract int declaredAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField=' is defined here.
// abstract int declaredAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField' is defined here.
// abstract int extendedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField=' is defined here.
// abstract int extendedAbstractField;
// ^^^^^^^^^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
class ConcreteSuper extends core::Object {
field core::int extendedConcreteField = 0;
field core::int declaredConcreteExtendsConcreteField = 0;
field core::int declaredAbstractExtendsConcreteField = 0;
synthetic constructor •() self::ConcreteSuper
: super core::Object::•()
;
abstract get extendedAbstractField() core::int;
abstract set extendedAbstractField(core::int #externalFieldValue) → void;
abstract get declaredConcreteExtendsAbstractField() core::int;
abstract set declaredConcreteExtendsAbstractField(core::int #externalFieldValue) → void;
abstract get declaredAbstractExtendsAbstractField() core::int;
abstract set declaredAbstractExtendsAbstractField(core::int #externalFieldValue) → void;
}
class ConcreteClass extends self::ConcreteSuper {
field core::int declaredConcreteField = 0;
field core::int declaredConcreteExtendsConcreteField = 0;
field core::int declaredConcreteExtendsAbstractField = 0;
synthetic constructor •() self::ConcreteClass
: super self::ConcreteSuper::•()
;
abstract get declaredAbstractField() core::int;
abstract set declaredAbstractField(core::int #externalFieldValue) → void;
abstract get declaredAbstractExtendsConcreteField() core::int;
abstract set declaredAbstractExtendsConcreteField(core::int #externalFieldValue) → void;
abstract get declaredAbstractExtendsAbstractField() core::int;
abstract set declaredAbstractExtendsAbstractField(core::int #externalFieldValue) → void;
}
static method main() dynamic {}