blob: 7e98c01dca5334b447993b8ad121315b43168891 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:9:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'Class' does not conform to its interface.
// class Class /* error */ extends LegacyClass implements SuperQ {
// ^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:9:7: Context: The method 'Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
// int optionalArgumentsMethod(int i) => i;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
// int optionalArgumentsMethod(int i, [int? j]) => i;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:34:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassQ' does not conform to its interface.
// class ClassQ /* error */ extends LegacyClassQ implements Super {
// ^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:20:8: Context: The method 'SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
// int? optionalArgumentsMethod(int? i) => i;
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
// int optionalArgumentsMethod(int i, [int? j]) => i;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:59:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedIn' does not conform to its interface.
// class ClassMixedIn /* error */ extends LegacyMixedIn implements SuperQ {
// ^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib2.dart:13:16: Context: The method 'Object with Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
// abstract class LegacyMixedIn with Super implements SuperExtra {}
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
// int optionalArgumentsMethod(int i, [int? j]) => i;
// ^
//
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:84:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedInQ' does not conform to its interface.
// class ClassMixedInQ /* error */ extends LegacyMixedInQ implements Super {
// ^^^^^^^^^^^^^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib2.dart:15:16: Context: The method 'Object with SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
// abstract class LegacyMixedInQ with SuperQ implements SuperExtra {}
// ^
// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
// int optionalArgumentsMethod(int i, [int? j]) => i;
// ^
//
import self as self;
import "in_out_in_lib2.dart" as in_;
import "in_out_in_lib1.dart" as in_2;
import "dart:core" as core;
import "org-dartlang-testcase:///in_out_in_lib1.dart";
import "org-dartlang-testcase:///in_out_in_lib2.dart";
class Class extends in_::LegacyClass implements in_2::SuperQ {
synthetic constructor •() self::Class
;
method test() dynamic
;
abstract member-signature method nullabilityMethod(core::int? i) core::int?; -> in_2::Super::nullabilityMethod
abstract member-signature get nullabilityGetter() core::int?; -> in_2::Super::nullabilityGetter
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 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 member-signature set nullabilitySetter(core::int? value) void; -> in_2::Super::nullabilitySetter
}
class ClassQ extends in_::LegacyClassQ implements in_2::Super {
synthetic constructor •() self::ClassQ
;
method test() dynamic
;
abstract member-signature method nullabilityMethod(core::int i) core::int; -> in_2::SuperQ::nullabilityMethod
abstract member-signature get nullabilityGetter() core::int; -> in_2::SuperQ::nullabilityGetter
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 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 member-signature set nullabilitySetter(core::int value) void; -> in_2::SuperQ::nullabilitySetter
}
class ClassMixedIn extends in_::LegacyMixedIn implements in_2::SuperQ {
synthetic constructor •() self::ClassMixedIn
;
method test() dynamic
;
abstract member-signature method nullabilityMethod(core::int? i) core::int?; -> in_::_LegacyMixedIn&Object&Super::nullabilityMethod
abstract member-signature get nullabilityGetter() core::int?; -> in_::_LegacyMixedIn&Object&Super::nullabilityGetter
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 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 member-signature set nullabilitySetter(core::int? value) void; -> in_::_LegacyMixedIn&Object&Super::nullabilitySetter
}
class ClassMixedInQ extends in_::LegacyMixedInQ implements in_2::Super {
synthetic constructor •() self::ClassMixedInQ
;
method test() dynamic
;
abstract member-signature method nullabilityMethod(core::int i) core::int; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod
abstract member-signature get nullabilityGetter() core::int; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilityGetter
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 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 member-signature set nullabilitySetter(core::int value) void; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilitySetter
}
static method main() dynamic
;
library /*isNonNullableByDefault*/;
import self as in_2;
import "dart:core" as core;
class Super extends core::Object {
synthetic constructor •() in_2::Super
;
method nullabilityMethod(core::int i) core::int
;
get nullabilityGetter() core::int
;
set nullabilitySetter(core::int value) void
;
method optionalArgumentsMethod(core::int i) core::int
;
}
abstract class SuperExtra extends core::Object {
synthetic constructor •() in_2::SuperExtra
;
method optionalArgumentsMethod(core::int i, [core::int? j]) core::int
;
}
abstract class SuperQ extends core::Object {
synthetic constructor •() in_2::SuperQ
;
method nullabilityMethod(core::int? i) core::int?
;
get nullabilityGetter() core::int?
;
set nullabilitySetter(core::int? value) void
;
method optionalArgumentsMethod(core::int? i) core::int?
;
}
library;
import self as in_;
import "in_out_in_lib1.dart" as in_2;
import "dart:core" as core;
import "org-dartlang-testcase:///in_out_in_lib1.dart";
abstract class LegacyClass extends in_2::Super implements in_2::SuperExtra {
synthetic constructor •() in_::LegacyClass*
;
abstract member-signature method nullabilityMethod(core::int* i) core::int*; -> in_2::Super::nullabilityMethod
abstract member-signature get nullabilityGetter() core::int*; -> in_2::Super::nullabilityGetter
abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
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 member-signature set nullabilitySetter(core::int* value) void; -> in_2::Super::nullabilitySetter
}
abstract class LegacyClassQ extends in_2::SuperQ implements in_2::SuperExtra {
synthetic constructor •() in_::LegacyClassQ*
;
abstract member-signature method nullabilityMethod(core::int* i) core::int*; -> in_2::SuperQ::nullabilityMethod
abstract member-signature get nullabilityGetter() core::int*; -> in_2::SuperQ::nullabilityGetter
abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
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 member-signature set nullabilitySetter(core::int* value) void; -> in_2::SuperQ::nullabilitySetter
}
abstract class _LegacyMixedIn&Object&Super = core::Object with in_2::Super /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() in_::_LegacyMixedIn&Object&Super*
: super core::Object::•()
;
mixin-super-stub method nullabilityMethod(core::int* i) core::int*
return super.{in_2::Super::nullabilityMethod}(i);
mixin-super-stub get nullabilityGetter() core::int*
return super.{in_2::Super::nullabilityGetter};
mixin-super-stub method optionalArgumentsMethod(core::int* i) core::int*
return super.{in_2::Super::optionalArgumentsMethod}(i);
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
mixin-super-stub set nullabilitySetter(core::int* value) void
return super.{in_2::Super::nullabilitySetter} = value;
}
abstract class LegacyMixedIn extends in_::_LegacyMixedIn&Object&Super implements in_2::SuperExtra {
synthetic constructor •() in_::LegacyMixedIn*
;
abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
}
abstract class _LegacyMixedInQ&Object&SuperQ = core::Object with in_2::SuperQ /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() in_::_LegacyMixedInQ&Object&SuperQ*
: super core::Object::•()
;
mixin-super-stub method nullabilityMethod(core::int* i) core::int*
return super.{in_2::SuperQ::nullabilityMethod}(i);
mixin-super-stub get nullabilityGetter() core::int*
return super.{in_2::SuperQ::nullabilityGetter};
mixin-super-stub method optionalArgumentsMethod(core::int* i) core::int*
return super.{in_2::SuperQ::optionalArgumentsMethod}(i);
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
mixin-super-stub set nullabilitySetter(core::int* value) void
return super.{in_2::SuperQ::nullabilitySetter} = value;
}
abstract class LegacyMixedInQ extends in_::_LegacyMixedInQ&Object&SuperQ implements in_2::SuperExtra {
synthetic constructor •() in_::LegacyMixedInQ*
;
abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
}