blob: f784b14490e449d88fe19a31e6ae928fe22b0934 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:87:16: Error: Applying the mixin 'Mixin' to 'Super' introduces an erroneous override of 'extendedGetterMixedInField'.
// abstract class Class extends Super
// ^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:28:7: Context: The return type of the method 'Mixin.extendedGetterMixedInField' is 'int', which does not match the return type, 'String', of the overridden method, 'Super.extendedGetterMixedInField'.
// Change to a subtype of 'String'.
// int extendedGetterMixedInField = 0;
// ^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:7:14: Context: This is the overridden method ('extendedGetterMixedInField').
// String get extendedGetterMixedInField => '';
// ^
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:90:7: Error: The return type of the method 'Class.extendedGetterDeclaredField' is 'int', which does not match the return type, 'String', of the overridden method, 'Super.extendedGetterDeclaredField'.
// Change to a subtype of 'String'.
// int extendedGetterDeclaredField = 0;
// ^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:6:14: Context: This is the overridden method ('extendedGetterDeclaredField').
// String get extendedGetterDeclaredField => '';
// ^
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:96:7: Error: The return type of the method 'Class.mixedInGetterDeclaredField' is 'int', which does not match the return type, 'String', of the overridden method, 'Super with Mixin.mixedInGetterDeclaredField'.
// Change to a subtype of 'String'.
// int mixedInGetterDeclaredField = 0;
// ^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:87:16: Context: This is the overridden method ('mixedInGetterDeclaredField').
// abstract class Class extends Super
// ^
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:102:7: Error: The return type of the method 'Class.implementedGetterDeclaredField' is 'int', which does not match the return type, 'String', of the overridden method, 'Interface1.implementedGetterDeclaredField'.
// Change to a subtype of 'String'.
// int implementedGetterDeclaredField = 0;
// ^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:63:14: Context: This is the overridden method ('implementedGetterDeclaredField').
// String get implementedGetterDeclaredField => '';
// ^
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:87:16: Error: Class 'Class' inherits multiple members named 'Mixin.mixedInGetterImplementedField' with incompatible signatures.
// Try adding a declaration of 'Mixin.mixedInGetterImplementedField' to 'Class'.
// abstract class Class extends Super
// ^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:35:14: Context: This is one of the overridden members.
// String get mixedInGetterImplementedField => '';
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:57:7: Context: This is one of the overridden members.
// int mixedInGetterImplementedField = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:87:16: Error: Class 'Class' inherits multiple members named 'extendedGetterImplementedField' with incompatible signatures.
// Try adding a declaration of 'extendedGetterImplementedField' to 'Class'.
// abstract class Class extends Super
// ^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:8:14: Context: This is one of the overridden members.
// String get extendedGetterImplementedField => '';
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:51:7: Context: This is one of the overridden members.
// int extendedGetterImplementedField = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:87:16: Error: Class 'Class' inherits multiple members named 'implementedGetterImplementedField' with incompatible signatures.
// Try adding a declaration of 'implementedGetterImplementedField' to 'Class'.
// abstract class Class extends Super
// ^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:64:14: Context: This is one of the overridden members.
// String get implementedGetterImplementedField => '';
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy/getter_setter.dart:80:7: Context: This is one of the overridden members.
// int implementedGetterImplementedField = 0;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
abstract class Super extends core::Object {
final field core::String extendedFieldDeclaredSetter;
final field core::String extendedFieldMixedInSetter;
final field core::String extendedFieldImplementedSetter;
synthetic constructor •() self::Super
;
get extendedGetterDeclaredField() core::String
;
get extendedGetterMixedInField() core::String
;
get extendedGetterImplementedField() core::String
;
get extendedGetterDeclaredSetter() core::String
;
get extendedGetterMixedInSetter() core::String
;
get extendedGetterImplementedSetter() core::String
;
set extendedSetterDeclaredField(core::int value) void
;
set extendedSetterMixedInField(core::int value) void
;
set extendedSetterImplementedField(core::int value) void
;
set extendedSetterDeclaredGetter(core::int value) void
;
set extendedSetterMixedInGetter(core::int value) void
;
set extendedSetterImplementedGetter(core::int value) void
;
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
field core::int extendedGetterMixedInField;
final field core::String extendedSetterMixedInField;
final field core::String mixedInFieldDeclaredSetter;
final field core::String mixedInFieldImplementedSetter;
set extendedGetterMixedInSetter(core::int value) void
;
set extendedFieldMixedInSetter(core::int value) void
;
get extendedSetterMixedInGetter() core::String
;
get mixedInGetterDeclaredField() core::String
;
get mixedInGetterImplementedField() core::String
;
get mixedInGetterDeclaredSetter() core::String
;
get mixedInGetterImplementedSetter() core::String
;
set mixedInSetterDeclaredField(core::int value) void
;
set mixedInSetterImplementedField(core::int value) void
;
set mixedInSetterDeclaredGetter(core::int value) void
;
set mixedInSetterImplementedGetter(core::int value) void
;
}
abstract class Interface1 extends core::Object {
field core::int extendedGetterImplementedField;
final field core::String extendedSetterImplementedField;
field core::int mixedInGetterImplementedField;
final field core::String mixedInSetterImplementedField;
final field core::String implementedFieldDeclaredSetter;
final field core::String implementedFieldImplementedSetter;
synthetic constructor •() self::Interface1
;
set extendedGetterImplementedSetter(core::int value) void
;
set extendedFieldImplementedSetter(core::int value) void
;
get extendedSetterImplementedGetter() core::String
;
set mixedInGetterImplementedSetter(core::int value) void
;
set mixedInFieldImplementedSetter(core::int value) void
;
get mixedInSetterImplementedGetter() core::String
;
get implementedGetterDeclaredField() core::String
;
get implementedGetterImplementedField() core::String
;
get implementedGetterDeclaredSetter() core::String
;
get implementedGetterImplementedSetter() core::String
;
set implementedSetterDeclaredField(core::int value) void
;
set implementedSetterImplementedField(core::int value) void
;
set implementedSetterDeclaredGetter(core::int value) void
;
set implementedSetterImplementedGetter(core::int value) void
;
}
abstract class Interface2 extends core::Object {
field core::int implementedGetterImplementedField;
final field core::String implementedSetterImplementedField;
synthetic constructor •() self::Interface2
;
set implementedGetterImplementedSetter(core::int value) void
;
set implementedFieldImplementedSetter(core::int value) void
;
get implementedSetterImplementedGetter() core::String
;
}
abstract class Class extends self::_Class&Super&Mixin implements self::Interface1, self::Interface2 {
erroneous field core::int extendedGetterDeclaredField;
final field core::String extendedSetterDeclaredField;
erroneous field core::int mixedInGetterDeclaredField;
final field core::String mixedInSetterDeclaredField;
erroneous field core::int implementedGetterDeclaredField;
final field core::String implementedSetterDeclaredField;
final field core::String declaredFieldDeclaredSetter;
synthetic constructor •() self::Class
;
set extendedGetterDeclaredSetter(core::int value) void
;
set extendedFieldDeclaredSetter(core::int value) void
;
get extendedSetterDeclaredGetter() core::String
;
set mixedInGetterDeclaredSetter(core::int value) void
;
set mixedInFieldDeclaredSetter(core::int value) void
;
get mixedInSetterDeclaredGetter() core::String
;
set implementedGetterDeclaredSetter(core::int value) void
;
set implementedFieldDeclaredSetter(core::int value) void
;
get implementedSetterDeclaredGetter() core::String
;
get declaredGetterDeclaredSetter() core::String
;
set declaredGetterDeclaredSetter(core::int value) void
;
set declaredFieldDeclaredSetter(core::int value) void
;
}
abstract class _Class&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ {
synthetic constructor •() self::_Class&Super&Mixin
: super self::Super::•()
;
synthetic mixin-super-stub get mixedInGetterDeclaredField() core::String
return super.{self::Mixin::mixedInGetterDeclaredField};
synthetic mixin-super-stub set mixedInSetterDeclaredField(core::int value) void
return super.{self::Mixin::mixedInSetterDeclaredField} = value;
synthetic mixin-super-stub set mixedInSetterDeclaredGetter(core::int value) void
return super.{self::Mixin::mixedInSetterDeclaredGetter} = value;
synthetic mixin-super-stub get mixedInGetterDeclaredSetter() core::String
return super.{self::Mixin::mixedInGetterDeclaredSetter};
synthetic mixin-super-stub get mixedInFieldDeclaredSetter() core::String
return super.{self::Mixin::mixedInFieldDeclaredSetter};
synthetic erroneous mixin-super-stub get extendedGetterMixedInField() core::int
return super.{self::Mixin::extendedGetterMixedInField};
synthetic erroneous mixin-super-stub set extendedGetterMixedInField(core::int value) void
return super.{self::Mixin::extendedGetterMixedInField} = value;
synthetic mixin-super-stub get extendedSetterMixedInField() core::String
return super.{self::Mixin::extendedSetterMixedInField};
synthetic mixin-super-stub get extendedSetterMixedInGetter() core::String
return super.{self::Mixin::extendedSetterMixedInGetter};
synthetic mixin-super-stub get mixedInGetterImplementedField() core::String
return super.{self::Mixin::mixedInGetterImplementedField};
synthetic mixin-super-stub get mixedInGetterImplementedSetter() core::String
return super.{self::Mixin::mixedInGetterImplementedSetter};
synthetic mixin-super-stub get mixedInFieldImplementedSetter() core::String
return super.{self::Mixin::mixedInFieldImplementedSetter};
synthetic mixin-super-stub set extendedGetterMixedInSetter(core::int value) void
return super.{self::Mixin::extendedGetterMixedInSetter} = value;
synthetic mixin-super-stub set extendedFieldMixedInSetter(core::int value) void
return super.{self::Mixin::extendedFieldMixedInSetter} = value;
synthetic mixin-super-stub set mixedInSetterImplementedField(core::int value) void
return super.{self::Mixin::mixedInSetterImplementedField} = value;
synthetic mixin-super-stub set mixedInSetterImplementedGetter(core::int value) void
return super.{self::Mixin::mixedInSetterImplementedGetter} = value;
}
static method main() dynamic
;