From f867dc7600be1d28ce58d7f265f77a82d6a4fb97 Mon Sep 17 00:00:00 2001 From: Johnni Winther Date: Wed, 30 Apr 2025 03:42:10 -0700 Subject: [PATCH] [cfe] Don't create ClassMember for internal implementation Internal implementation members, like those used for the late lowering, are not real instance members on should not be part of the hierarchy member computation. These members are only called directly from within the members for which these are generated, so we don't need to add forwarders and stubs to handle calls from the outside. Closes #49339 Change-Id: I4d87477243d4e015265c7bb200e1fb5431ae21f9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/424943 Reviewed-by: Chloe Stefantsova Commit-Queue: Johnni Winther --- .../lib/src/builder/member_builder.dart | 4 -- .../lib/src/dill/dill_builder_mixins.dart | 27 +++++--- .../lib/src/dill/dill_member_builder.dart | 12 ++-- .../lib/src/fragment/enum_element.dart | 4 -- .../lib/src/fragment/field/class_member.dart | 23 +------ .../lib/src/fragment/field/encoding.dart | 63 ++++++------------- .../src/kernel/hierarchy/class_member.dart | 10 --- .../src/kernel/hierarchy/members_node.dart | 31 +-------- .../lib/src/source/source_enum_builder.dart | 4 -- .../lib/src/source/source_method_builder.dart | 3 - .../src/source/source_property_builder.dart | 6 -- .../test/coverage_suite_expected.dart | 16 ++--- .../mixin_super/main.dart.strong.expect | 24 ------- .../main.dart.strong.transformed.expect | 24 ------- .../issue52452.dart.strong.expect | 24 ------- .../issue52452.dart.strong.expect | 24 ------- .../issue52452.dart.strong.modular.expect | 24 ------- .../issue52452.dart.strong.outline.expect | 26 +------- .../issue52452.dart.strong.transformed.expect | 24 ------- .../mixin_super/main.dart.strong.expect | 48 -------------- .../main.dart.strong.modular.expect | 48 -------------- .../main.dart.strong.outline.expect | 48 -------------- .../main.dart.strong.transformed.expect | 48 -------------- ...ge_but_changed_type_02.yaml.world.1.expect | 11 ---- ...ge_but_changed_type_02.yaml.world.2.expect | 11 ---- .../issue41436c.dart.strong.expect | 13 ---- .../issue41436c.dart.strong.modular.expect | 13 ---- .../issue41436c.dart.strong.outline.expect | 16 ----- ...issue41436c.dart.strong.transformed.expect | 13 ---- pkg/front_end/testcases/strong.status | 1 - 30 files changed, 56 insertions(+), 587 deletions(-) diff --git a/pkg/front_end/lib/src/builder/member_builder.dart b/pkg/front_end/lib/src/builder/member_builder.dart index 8b5cab5f2ad..684cc17a5ac 100644 --- a/pkg/front_end/lib/src/builder/member_builder.dart +++ b/pkg/front_end/lib/src/builder/member_builder.dart @@ -212,10 +212,6 @@ abstract class BuilderClassMember implements ClassMember { // Coverage-ignore(suite): Not run. bool get isSynthesized => false; - @override - // Coverage-ignore(suite): Not run. - bool get isInternalImplementation => false; - @override // Coverage-ignore(suite): Not run. bool get isNoSuchMethodForwarder => false; diff --git a/pkg/front_end/lib/src/dill/dill_builder_mixins.dart b/pkg/front_end/lib/src/dill/dill_builder_mixins.dart index 84bb4eb4af0..ae100ef6bfe 100644 --- a/pkg/front_end/lib/src/dill/dill_builder_mixins.dart +++ b/pkg/front_end/lib/src/dill/dill_builder_mixins.dart @@ -98,12 +98,15 @@ mixin DillFieldBuilderMixin implements DillMemberBuilder, PropertyBuilder { @override List get localMembers => - _localMembers ??= [new DillClassMember(this, ClassMemberKind.Getter)]; + _localMembers ??= !member.isInternalImplementation + ? [new DillClassMember(this, ClassMemberKind.Getter)] + : const []; @override - List get localSetters => _localSetters ??= hasSetter - ? [new DillClassMember(this, ClassMemberKind.Setter)] - : const []; + List get localSetters => + _localSetters ??= hasSetter && !member.isInternalImplementation + ? [new DillClassMember(this, ClassMemberKind.Setter)] + : const []; } mixin DillGetterBuilderMixin implements DillMemberBuilder, PropertyBuilder { @@ -136,7 +139,9 @@ mixin DillGetterBuilderMixin implements DillMemberBuilder, PropertyBuilder { @override List get localMembers => - _localMembers ??= [new DillClassMember(this, ClassMemberKind.Getter)]; + _localMembers ??= !member.isInternalImplementation + ? [new DillClassMember(this, ClassMemberKind.Getter)] + : const []; @override List get localSetters => const []; @@ -179,7 +184,9 @@ mixin DillSetterBuilderMixin implements DillMemberBuilder, PropertyBuilder { @override List get localSetters => - _localSetters ??= [new DillClassMember(this, ClassMemberKind.Setter)]; + _localSetters ??= !member.isInternalImplementation + ? [new DillClassMember(this, ClassMemberKind.Setter)] + : const []; } mixin DillMethodBuilderMixin implements DillMemberBuilder, MethodBuilder { @@ -207,7 +214,9 @@ mixin DillMethodBuilderMixin implements DillMemberBuilder, MethodBuilder { @override List get localMembers => - _localMembers ??= [new DillClassMember(this, ClassMemberKind.Method)]; + _localMembers ??= !member.isInternalImplementation + ? [new DillClassMember(this, ClassMemberKind.Method)] + : const []; @override List get localSetters => const []; @@ -247,7 +256,9 @@ mixin DillOperatorBuilderMixin implements DillMemberBuilder, MethodBuilder { @override List get localMembers => - _localMembers ??= [new DillClassMember(this, ClassMemberKind.Method)]; + _localMembers ??= !member.isInternalImplementation + ? [new DillClassMember(this, ClassMemberKind.Method)] + : const []; @override List get localSetters => const []; diff --git a/pkg/front_end/lib/src/dill/dill_member_builder.dart b/pkg/front_end/lib/src/dill/dill_member_builder.dart index 88d953692ee..ca21a4d5e93 100644 --- a/pkg/front_end/lib/src/dill/dill_member_builder.dart +++ b/pkg/front_end/lib/src/dill/dill_member_builder.dart @@ -322,7 +322,11 @@ class DillClassMember extends BuilderClassMember { @override final ClassMemberKind memberKind; - DillClassMember(this.memberBuilder, this.memberKind); + DillClassMember(this.memberBuilder, this.memberKind) + : assert( + !memberBuilder.member.isInternalImplementation, + "ClassMember should not be created for internal implementation " + "member $memberBuilder."); @override bool get isSourceDeclaration => false; @@ -333,12 +337,6 @@ class DillClassMember extends BuilderClassMember { return member.isExtensionTypeMember; } - @override - bool get isInternalImplementation { - Member member = memberBuilder.member; - return member.isInternalImplementation; - } - @override bool get isNoSuchMethodForwarder { Member member = memberBuilder.member; diff --git a/pkg/front_end/lib/src/fragment/enum_element.dart b/pkg/front_end/lib/src/fragment/enum_element.dart index ee7eb685b1b..744f2d733eb 100644 --- a/pkg/front_end/lib/src/fragment/enum_element.dart +++ b/pkg/front_end/lib/src/fragment/enum_element.dart @@ -163,10 +163,6 @@ class _EnumElementClassMember implements ClassMember { // Coverage-ignore(suite): Not run. bool get isExtensionTypeMember => _builder.isExtensionTypeMember; - @override - // Coverage-ignore(suite): Not run. - bool get isInternalImplementation => false; - @override // Coverage-ignore(suite): Not run. bool get isNoSuchMethodForwarder => false; diff --git a/pkg/front_end/lib/src/fragment/field/class_member.dart b/pkg/front_end/lib/src/fragment/field/class_member.dart index c3a5ebb5456..e42a4a3c2e0 100644 --- a/pkg/front_end/lib/src/fragment/field/class_member.dart +++ b/pkg/front_end/lib/src/fragment/field/class_member.dart @@ -103,9 +103,6 @@ class _FieldClassMember implements ClassMember { @override bool get isExtensionTypeMember => _builder.isExtensionTypeMember; - @override - bool get isInternalImplementation => false; - @override bool get isNoSuchMethodForwarder => false; @@ -174,9 +171,6 @@ class _SynthesizedFieldClassMember implements ClassMember { _SynthesizedFieldClassMember( this._builder, this._member, this._name, this._kind, this.memberKind); - @override - bool get isInternalImplementation => _kind.isInternalImplementation; - @override Member getMember(ClassMembersBuilder membersBuilder) { inferType(membersBuilder); @@ -307,23 +301,12 @@ class _SynthesizedFieldClassMember implements ClassMember { } enum _SynthesizedFieldMemberKind { - /// A `isSet` field used for late lowering. - LateIsSet(isInternalImplementation: true), - - /// A field used for the value of a late lowered field. - LateField(isInternalImplementation: true), - /// A getter or setter used for late lowering. - LateGetterSetter(isInternalImplementation: false), + LateGetterSetter, /// A getter or setter used for abstract or external fields. - AbstractExternalGetterSetter(isInternalImplementation: false), + AbstractExternalGetterSetter, /// A getter for an extension type declaration representation field. - RepresentationField(isInternalImplementation: false), - ; - - final bool isInternalImplementation; - - const _SynthesizedFieldMemberKind({required this.isInternalImplementation}); + RepresentationField, } diff --git a/pkg/front_end/lib/src/fragment/field/encoding.dart b/pkg/front_end/lib/src/fragment/field/encoding.dart index b14502a426b..b3ebc92c1b4 100644 --- a/pkg/front_end/lib/src/fragment/field/encoding.dart +++ b/pkg/front_end/lib/src/fragment/field/encoding.dart @@ -475,6 +475,7 @@ abstract class AbstractLateFieldEncoding implements FieldEncoding { } @override + // Coverage-ignore(suite): Not run. Field get field => _field!; @override @@ -635,52 +636,26 @@ abstract class AbstractLateFieldEncoding implements FieldEncoding { } @override - List get localMembers { - List list = [ - new _SynthesizedFieldClassMember(_fragment.builder, field, field.name, - _SynthesizedFieldMemberKind.LateField, ClassMemberKind.Getter), - new _SynthesizedFieldClassMember( - _fragment.builder, - _lateGetter!, - _fragment.builder.memberName, - _SynthesizedFieldMemberKind.LateGetterSetter, - ClassMemberKind.Getter) - ]; - if (_lateIsSetField != null) { - list.add(new _SynthesizedFieldClassMember( - _fragment.builder, - _lateIsSetField!, - _lateIsSetField!.name, - _SynthesizedFieldMemberKind.LateIsSet, - ClassMemberKind.Getter)); - } - return list; - } + List get localMembers => [ + new _SynthesizedFieldClassMember( + _fragment.builder, + _lateGetter!, + _fragment.builder.memberName, + _SynthesizedFieldMemberKind.LateGetterSetter, + ClassMemberKind.Getter) + ]; @override - List get localSetters { - List list = [ - new _SynthesizedFieldClassMember(_fragment.builder, field, field.name, - _SynthesizedFieldMemberKind.LateField, ClassMemberKind.Setter), - ]; - if (_lateIsSetField != null) { - list.add(new _SynthesizedFieldClassMember( - _fragment.builder, - _lateIsSetField!, - _lateIsSetField!.name, - _SynthesizedFieldMemberKind.LateIsSet, - ClassMemberKind.Setter)); - } - if (_lateSetter != null) { - list.add(new _SynthesizedFieldClassMember( - _fragment.builder, - _lateSetter!, - _fragment.builder.memberName, - _SynthesizedFieldMemberKind.LateGetterSetter, - ClassMemberKind.Setter)); - } - return list; - } + List get localSetters => _lateSetter != null + ? [ + new _SynthesizedFieldClassMember( + _fragment.builder, + _lateSetter!, + _fragment.builder.memberName, + _SynthesizedFieldMemberKind.LateGetterSetter, + ClassMemberKind.Setter) + ] + : const []; @override void registerSuperCall() { diff --git a/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart b/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart index aa8d2596b3d..01be4edd059 100644 --- a/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart +++ b/pkg/front_end/lib/src/kernel/hierarchy/class_member.dart @@ -266,13 +266,6 @@ abstract class ClassMember { /// source code. bool get isSynthesized; - /// If `true` this member is not part of the interface but only part of the - /// class members. - /// - /// This is `true` for instance for synthesized fields added for the late - /// lowering. - bool get isInternalImplementation; - /// Returns `true` if this member is a noSuchMethod forwarder. bool get isNoSuchMethodForwarder; @@ -375,9 +368,6 @@ abstract class SynthesizedMember extends ClassMember { @override bool get isDuplicate => false; - @override - bool get isInternalImplementation => false; - @override bool get isSetter => forSetter; diff --git a/pkg/front_end/lib/src/kernel/hierarchy/members_node.dart b/pkg/front_end/lib/src/kernel/hierarchy/members_node.dart index bd1269e6742..381212bfebc 100644 --- a/pkg/front_end/lib/src/kernel/hierarchy/members_node.dart +++ b/pkg/front_end/lib/src/kernel/hierarchy/members_node.dart @@ -559,36 +559,7 @@ class ClassMembersNodeBuilder extends MembersNodeBuilder { /// void registerAbstractMember( List abstractMembers, ClassMember abstractMember) { - if (!abstractMember.isInternalImplementation) { - /// If `isInternalImplementation` is `true`, the member is synthesized - /// implementation that does not require implementation in other - /// classes. - /// - /// This is for instance used for late lowering where - /// - /// class Interface { - /// late int? field; - /// } - /// class Class implements Interface { - /// int? field; - /// } - /// - /// is encoded as - /// - /// class Interface { - /// bool _#field#isSet = false; - /// int? _#field = null; - /// int? get field => _#field#isSet ? _#field : throw ...; - /// void set field(int? value) { ... } - /// } - /// class Class implements Interface { - /// int? field; - /// } - /// - /// and `Class` should not be required to implement - /// `Interface._#field#isSet` and `Interface._#field`. - abstractMembers.add(abstractMember); - } + abstractMembers.add(abstractMember); } /// Set to `true` during [build] if the class needs interfaces, that is, if it diff --git a/pkg/front_end/lib/src/source/source_enum_builder.dart b/pkg/front_end/lib/src/source/source_enum_builder.dart index 5dcf9b5c852..41cbc76e102 100644 --- a/pkg/front_end/lib/src/source/source_enum_builder.dart +++ b/pkg/front_end/lib/src/source/source_enum_builder.dart @@ -873,10 +873,6 @@ class _EnumValuesClassMember implements ClassMember { // Coverage-ignore(suite): Not run. bool get isExtensionTypeMember => _builder.isExtensionTypeMember; - @override - // Coverage-ignore(suite): Not run. - bool get isInternalImplementation => false; - @override // Coverage-ignore(suite): Not run. bool get isNoSuchMethodForwarder => false; diff --git a/pkg/front_end/lib/src/source/source_method_builder.dart b/pkg/front_end/lib/src/source/source_method_builder.dart index 109272c4ff7..830341bd0d9 100644 --- a/pkg/front_end/lib/src/source/source_method_builder.dart +++ b/pkg/front_end/lib/src/source/source_method_builder.dart @@ -364,9 +364,6 @@ class _MethodClassMember implements ClassMember { @override bool get isExtensionTypeMember => _builder.isExtensionTypeMember; - @override - bool get isInternalImplementation => false; - @override bool get isNoSuchMethodForwarder => false; diff --git a/pkg/front_end/lib/src/source/source_property_builder.dart b/pkg/front_end/lib/src/source/source_property_builder.dart index 61306ddbb89..997edbcbcb9 100644 --- a/pkg/front_end/lib/src/source/source_property_builder.dart +++ b/pkg/front_end/lib/src/source/source_property_builder.dart @@ -692,9 +692,6 @@ class _GetterClassMember implements ClassMember { @override bool get isExtensionTypeMember => _builder.isExtensionTypeMember; - @override - bool get isInternalImplementation => false; - @override bool get isNoSuchMethodForwarder => false; @@ -829,9 +826,6 @@ class _SetterClassMember implements ClassMember { @override bool get isExtensionTypeMember => _builder.isExtensionTypeMember; - @override - bool get isInternalImplementation => false; - @override bool get isNoSuchMethodForwarder => false; diff --git a/pkg/front_end/test/coverage_suite_expected.dart b/pkg/front_end/test/coverage_suite_expected.dart index 09613618e99..543daf3ba6f 100644 --- a/pkg/front_end/test/coverage_suite_expected.dart +++ b/pkg/front_end/test/coverage_suite_expected.dart @@ -425,7 +425,7 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/dill/dill_builder_mixins.dart": ( - hitCount: 68, + hitCount: 80, missCount: 0, ), // 100.0%. @@ -465,7 +465,7 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/dill/dill_member_builder.dart": ( - hitCount: 201, + hitCount: 200, missCount: 0, ), // 100.0%. @@ -565,7 +565,7 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/fragment/field/class_member.dart": ( - hitCount: 149, + hitCount: 145, missCount: 0, ), // 100.0%. @@ -575,7 +575,7 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/fragment/field/encoding.dart": ( - hitCount: 996, + hitCount: 965, missCount: 0, ), // 100.0%. @@ -755,7 +755,7 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/kernel/hierarchy/class_member.dart": ( - hitCount: 396, + hitCount: 395, missCount: 0, ), // 100.0%. @@ -785,7 +785,7 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/kernel/hierarchy/members_node.dart": ( - hitCount: 1122, + hitCount: 1121, missCount: 0, ), // 100.0%. @@ -996,12 +996,12 @@ const Map _expect = { ), // 100.0%. "package:front_end/src/source/source_method_builder.dart": ( - hitCount: 190, + hitCount: 189, missCount: 0, ), // 100.0%. "package:front_end/src/source/source_property_builder.dart": ( - hitCount: 656, + hitCount: 654, missCount: 0, ), // 100.0%. diff --git a/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.expect b/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.expect index 6f4c27a107c..d27d125ec0b 100644 --- a/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.expect +++ b/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.expect @@ -346,14 +346,6 @@ abstract class _Class4b&Class4a&Mixin2 = self::Class4a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::field2}; synthetic mixin-super-stub set field2(core::int value) → void return super.{mai::Mixin2::field2} = value; - synthetic mixin-super-stub get _#Mixin2#field1#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field1#AI}; - synthetic mixin-super-stub set _#Mixin2#field1#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field1#AI} = value; - synthetic mixin-super-stub get _#Mixin2#field2#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field2#AI}; - synthetic mixin-super-stub set _#Mixin2#field2#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field2#AI} = value; } abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class5b&Class5a&Mixin2 @@ -379,14 +371,6 @@ abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::field2}; synthetic mixin-super-stub set field2(core::int value) → void return super.{mai::Mixin2::field2} = value; - synthetic mixin-super-stub get _#Mixin2#field1#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field1#AI}; - synthetic mixin-super-stub set _#Mixin2#field1#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field1#AI} = value; - synthetic mixin-super-stub get _#Mixin2#field2#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field2#AI}; - synthetic mixin-super-stub set _#Mixin2#field2#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field2#AI} = value; } abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class6b&Class6a&Mixin2 @@ -412,14 +396,6 @@ abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::field2}; synthetic mixin-super-stub set field2(core::int value) → void return super.{mai::Mixin2::field2} = value; - synthetic mixin-super-stub get _#Mixin2#field1#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field1#AI}; - synthetic mixin-super-stub set _#Mixin2#field1#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field1#AI} = value; - synthetic mixin-super-stub get _#Mixin2#field2#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field2#AI}; - synthetic mixin-super-stub set _#Mixin2#field2#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field2#AI} = value; } library; diff --git a/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.transformed.expect b/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.transformed.expect index 5610297cb4b..f7a9f4c6766 100644 --- a/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/dart2js/mixin_super/main.dart.strong.transformed.expect @@ -363,14 +363,6 @@ abstract class _Class4b&Class4a&Mixin2 = self::Class4a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::field2}; synthetic mixin-super-stub set field2(core::int value) → void return super.{mai::Mixin2::field2} = value; - synthetic mixin-super-stub get _#Mixin2#field1#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field1#AI}; - synthetic mixin-super-stub set _#Mixin2#field1#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field1#AI} = value; - synthetic mixin-super-stub get _#Mixin2#field2#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field2#AI}; - synthetic mixin-super-stub set _#Mixin2#field2#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field2#AI} = value; } abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class5b&Class5a&Mixin2 @@ -396,14 +388,6 @@ abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::field2}; synthetic mixin-super-stub set field2(core::int value) → void return super.{mai::Mixin2::field2} = value; - synthetic mixin-super-stub get _#Mixin2#field1#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field1#AI}; - synthetic mixin-super-stub set _#Mixin2#field1#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field1#AI} = value; - synthetic mixin-super-stub get _#Mixin2#field2#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field2#AI}; - synthetic mixin-super-stub set _#Mixin2#field2#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field2#AI} = value; } abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class6b&Class6a&Mixin2 @@ -429,14 +413,6 @@ abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::field2}; synthetic mixin-super-stub set field2(core::int value) → void return super.{mai::Mixin2::field2} = value; - synthetic mixin-super-stub get _#Mixin2#field1#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field1#AI}; - synthetic mixin-super-stub set _#Mixin2#field1#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field1#AI} = value; - synthetic mixin-super-stub get _#Mixin2#field2#AI() → core::int - return super.{mai::Mixin2::_#Mixin2#field2#AI}; - synthetic mixin-super-stub set _#Mixin2#field2#AI(core::int value) → void - return super.{mai::Mixin2::_#Mixin2#field2#AI} = value; } library; diff --git a/pkg/front_end/testcases/dart2wasm/inference_update_2/issue52452.dart.strong.expect b/pkg/front_end/testcases/dart2wasm/inference_update_2/issue52452.dart.strong.expect index a66c15a1aa9..31a66862b20 100644 --- a/pkg/front_end/testcases/dart2wasm/inference_update_2/issue52452.dart.strong.expect +++ b/pkg/front_end/testcases/dart2wasm/inference_update_2/issue52452.dart.strong.expect @@ -87,40 +87,16 @@ abstract class _E&B&M1 = self::B with self::M1 /*isAnonymousMixin*/ { synthetic constructor •(core::int? i) → self::_E&B&M1 : super self::B::•(i) ; - synthetic mixin-super-stub get _#M1#_f2() → core::int? - return super.{self::M1::_#M1#_f2}; - synthetic mixin-super-stub set _#M1#_f2(core::int? value) → void - return super.{self::M1::_#M1#_f2} = value; synthetic mixin-super-stub get _f2() → core::int? return super.{self::M1::_f2}; synthetic mixin-super-stub set _f2(core::int? _f2#param) → void return super.{self::M1::_f2} = _f2#param; - synthetic mixin-super-stub get _#M1#_f2#isSet() → core::bool - return super.{self::M1::_#M1#_f2#isSet}; - synthetic mixin-super-stub set _#M1#_f2#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f2#isSet} = value; - synthetic mixin-super-stub get _#M1#_f3() → core::int? - return super.{self::M1::_#M1#_f3}; - synthetic mixin-super-stub set _#M1#_f3(core::int? value) → void - return super.{self::M1::_#M1#_f3} = value; synthetic mixin-super-stub get _f3() → core::int? return super.{self::M1::_f3}; synthetic mixin-super-stub set _f3(core::int? _f3#param) → void return super.{self::M1::_f3} = _f3#param; - synthetic mixin-super-stub get _#M1#_f3#isSet() → core::bool - return super.{self::M1::_#M1#_f3#isSet}; - synthetic mixin-super-stub set _#M1#_f3#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f3#isSet} = value; - synthetic mixin-super-stub get _#M1#_f4() → core::int? - return super.{self::M1::_#M1#_f4}; - synthetic mixin-super-stub set _#M1#_f4(core::int? value) → void - return super.{self::M1::_#M1#_f4} = value; synthetic mixin-super-stub get _f4() → core::int? return super.{self::M1::_f4}; - synthetic mixin-super-stub get _#M1#_f4#isSet() → core::bool - return super.{self::M1::_#M1#_f4#isSet}; - synthetic mixin-super-stub set _#M1#_f4#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f4#isSet} = value; } static method acceptsInt(core::int x) → void {} static method testConflictWithNoSuchMethodForwarderIfImplementedInMixin(self::C c) → void { diff --git a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.expect b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.expect index a66c15a1aa9..31a66862b20 100644 --- a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.expect +++ b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.expect @@ -87,40 +87,16 @@ abstract class _E&B&M1 = self::B with self::M1 /*isAnonymousMixin*/ { synthetic constructor •(core::int? i) → self::_E&B&M1 : super self::B::•(i) ; - synthetic mixin-super-stub get _#M1#_f2() → core::int? - return super.{self::M1::_#M1#_f2}; - synthetic mixin-super-stub set _#M1#_f2(core::int? value) → void - return super.{self::M1::_#M1#_f2} = value; synthetic mixin-super-stub get _f2() → core::int? return super.{self::M1::_f2}; synthetic mixin-super-stub set _f2(core::int? _f2#param) → void return super.{self::M1::_f2} = _f2#param; - synthetic mixin-super-stub get _#M1#_f2#isSet() → core::bool - return super.{self::M1::_#M1#_f2#isSet}; - synthetic mixin-super-stub set _#M1#_f2#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f2#isSet} = value; - synthetic mixin-super-stub get _#M1#_f3() → core::int? - return super.{self::M1::_#M1#_f3}; - synthetic mixin-super-stub set _#M1#_f3(core::int? value) → void - return super.{self::M1::_#M1#_f3} = value; synthetic mixin-super-stub get _f3() → core::int? return super.{self::M1::_f3}; synthetic mixin-super-stub set _f3(core::int? _f3#param) → void return super.{self::M1::_f3} = _f3#param; - synthetic mixin-super-stub get _#M1#_f3#isSet() → core::bool - return super.{self::M1::_#M1#_f3#isSet}; - synthetic mixin-super-stub set _#M1#_f3#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f3#isSet} = value; - synthetic mixin-super-stub get _#M1#_f4() → core::int? - return super.{self::M1::_#M1#_f4}; - synthetic mixin-super-stub set _#M1#_f4(core::int? value) → void - return super.{self::M1::_#M1#_f4} = value; synthetic mixin-super-stub get _f4() → core::int? return super.{self::M1::_f4}; - synthetic mixin-super-stub get _#M1#_f4#isSet() → core::bool - return super.{self::M1::_#M1#_f4#isSet}; - synthetic mixin-super-stub set _#M1#_f4#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f4#isSet} = value; } static method acceptsInt(core::int x) → void {} static method testConflictWithNoSuchMethodForwarderIfImplementedInMixin(self::C c) → void { diff --git a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.modular.expect b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.modular.expect index a66c15a1aa9..31a66862b20 100644 --- a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.modular.expect +++ b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.modular.expect @@ -87,40 +87,16 @@ abstract class _E&B&M1 = self::B with self::M1 /*isAnonymousMixin*/ { synthetic constructor •(core::int? i) → self::_E&B&M1 : super self::B::•(i) ; - synthetic mixin-super-stub get _#M1#_f2() → core::int? - return super.{self::M1::_#M1#_f2}; - synthetic mixin-super-stub set _#M1#_f2(core::int? value) → void - return super.{self::M1::_#M1#_f2} = value; synthetic mixin-super-stub get _f2() → core::int? return super.{self::M1::_f2}; synthetic mixin-super-stub set _f2(core::int? _f2#param) → void return super.{self::M1::_f2} = _f2#param; - synthetic mixin-super-stub get _#M1#_f2#isSet() → core::bool - return super.{self::M1::_#M1#_f2#isSet}; - synthetic mixin-super-stub set _#M1#_f2#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f2#isSet} = value; - synthetic mixin-super-stub get _#M1#_f3() → core::int? - return super.{self::M1::_#M1#_f3}; - synthetic mixin-super-stub set _#M1#_f3(core::int? value) → void - return super.{self::M1::_#M1#_f3} = value; synthetic mixin-super-stub get _f3() → core::int? return super.{self::M1::_f3}; synthetic mixin-super-stub set _f3(core::int? _f3#param) → void return super.{self::M1::_f3} = _f3#param; - synthetic mixin-super-stub get _#M1#_f3#isSet() → core::bool - return super.{self::M1::_#M1#_f3#isSet}; - synthetic mixin-super-stub set _#M1#_f3#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f3#isSet} = value; - synthetic mixin-super-stub get _#M1#_f4() → core::int? - return super.{self::M1::_#M1#_f4}; - synthetic mixin-super-stub set _#M1#_f4(core::int? value) → void - return super.{self::M1::_#M1#_f4} = value; synthetic mixin-super-stub get _f4() → core::int? return super.{self::M1::_f4}; - synthetic mixin-super-stub get _#M1#_f4#isSet() → core::bool - return super.{self::M1::_#M1#_f4#isSet}; - synthetic mixin-super-stub set _#M1#_f4#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f4#isSet} = value; } static method acceptsInt(core::int x) → void {} static method testConflictWithNoSuchMethodForwarderIfImplementedInMixin(self::C c) → void { diff --git a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.outline.expect b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.outline.expect index 2b6fd4aa077..a6d9a040c75 100644 --- a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.outline.expect +++ b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.outline.expect @@ -61,40 +61,16 @@ abstract class _E&B&M1 = self::B with self::M1 /*isAnonymousMixin*/ { synthetic constructor •(core::int? i) → self::_E&B&M1 : super self::B::•(i) ; - synthetic mixin-super-stub get _#M1#_f2() → core::int? - return super.{self::M1::_#M1#_f2}; - synthetic mixin-super-stub set _#M1#_f2(core::int? value) → void - return super.{self::M1::_#M1#_f2} = value; synthetic mixin-super-stub get _f2() → core::int? return super.{self::M1::_f2}; synthetic mixin-super-stub set _f2(core::int? _f2#param) → void return super.{self::M1::_f2} = _f2#param; - synthetic mixin-super-stub get _#M1#_f2#isSet() → core::bool - return super.{self::M1::_#M1#_f2#isSet}; - synthetic mixin-super-stub set _#M1#_f2#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f2#isSet} = value; - synthetic mixin-super-stub get _#M1#_f3() → core::int? - return super.{self::M1::_#M1#_f3}; - synthetic mixin-super-stub set _#M1#_f3(core::int? value) → void - return super.{self::M1::_#M1#_f3} = value; synthetic mixin-super-stub get _f3() → core::int? return super.{self::M1::_f3}; synthetic mixin-super-stub set _f3(core::int? _f3#param) → void return super.{self::M1::_f3} = _f3#param; - synthetic mixin-super-stub get _#M1#_f3#isSet() → core::bool - return super.{self::M1::_#M1#_f3#isSet}; - synthetic mixin-super-stub set _#M1#_f3#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f3#isSet} = value; - synthetic mixin-super-stub get _#M1#_f4() → core::int? - return super.{self::M1::_#M1#_f4}; - synthetic mixin-super-stub set _#M1#_f4(core::int? value) → void - return super.{self::M1::_#M1#_f4} = value; synthetic mixin-super-stub get _f4() → core::int? return super.{self::M1::_f4}; - synthetic mixin-super-stub get _#M1#_f4#isSet() → core::bool - return super.{self::M1::_#M1#_f4#isSet}; - synthetic mixin-super-stub set _#M1#_f4#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f4#isSet} = value; } static method acceptsInt(core::int x) → void ; @@ -110,4 +86,4 @@ static method main() → dynamic Extra constant evaluation status: Evaluated: StaticGet @ org-dartlang-testcase:///issue52452.dart:47:4 -> InstanceConstant(const _Override{}) -Extra constant evaluation: evaluated: 36, effectively constant: 1 +Extra constant evaluation: evaluated: 18, effectively constant: 1 diff --git a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.transformed.expect b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.transformed.expect index a66c15a1aa9..31a66862b20 100644 --- a/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/dartdevc/inference_update_2/issue52452.dart.strong.transformed.expect @@ -87,40 +87,16 @@ abstract class _E&B&M1 = self::B with self::M1 /*isAnonymousMixin*/ { synthetic constructor •(core::int? i) → self::_E&B&M1 : super self::B::•(i) ; - synthetic mixin-super-stub get _#M1#_f2() → core::int? - return super.{self::M1::_#M1#_f2}; - synthetic mixin-super-stub set _#M1#_f2(core::int? value) → void - return super.{self::M1::_#M1#_f2} = value; synthetic mixin-super-stub get _f2() → core::int? return super.{self::M1::_f2}; synthetic mixin-super-stub set _f2(core::int? _f2#param) → void return super.{self::M1::_f2} = _f2#param; - synthetic mixin-super-stub get _#M1#_f2#isSet() → core::bool - return super.{self::M1::_#M1#_f2#isSet}; - synthetic mixin-super-stub set _#M1#_f2#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f2#isSet} = value; - synthetic mixin-super-stub get _#M1#_f3() → core::int? - return super.{self::M1::_#M1#_f3}; - synthetic mixin-super-stub set _#M1#_f3(core::int? value) → void - return super.{self::M1::_#M1#_f3} = value; synthetic mixin-super-stub get _f3() → core::int? return super.{self::M1::_f3}; synthetic mixin-super-stub set _f3(core::int? _f3#param) → void return super.{self::M1::_f3} = _f3#param; - synthetic mixin-super-stub get _#M1#_f3#isSet() → core::bool - return super.{self::M1::_#M1#_f3#isSet}; - synthetic mixin-super-stub set _#M1#_f3#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f3#isSet} = value; - synthetic mixin-super-stub get _#M1#_f4() → core::int? - return super.{self::M1::_#M1#_f4}; - synthetic mixin-super-stub set _#M1#_f4(core::int? value) → void - return super.{self::M1::_#M1#_f4} = value; synthetic mixin-super-stub get _f4() → core::int? return super.{self::M1::_f4}; - synthetic mixin-super-stub get _#M1#_f4#isSet() → core::bool - return super.{self::M1::_#M1#_f4#isSet}; - synthetic mixin-super-stub set _#M1#_f4#isSet(core::bool value) → void - return super.{self::M1::_#M1#_f4#isSet} = value; } static method acceptsInt(core::int x) → void {} static method testConflictWithNoSuchMethodForwarderIfImplementedInMixin(self::C c) → void { diff --git a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.expect b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.expect index 3613b52306e..68b10758089 100644 --- a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.expect +++ b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.expect @@ -259,18 +259,10 @@ abstract class _Class1b&Class1a&Mixin1 = self::Class1a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class1b&Class1a&Mixin1 : super self::Class1a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -292,18 +284,10 @@ abstract class _Class2b&Class2a&Mixin1 = self::Class2a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class2b&Class2a&Mixin1 : super self::Class2a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -325,18 +309,10 @@ abstract class _Class3b&Class3a&Mixin1 = self::Class3a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class3b&Class3a&Mixin1 : super self::Class3a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -378,14 +354,6 @@ abstract class _Class4b&Class4a&Mixin2 = self::Class4a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class5b&Class5a&Mixin2 @@ -411,14 +379,6 @@ abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class6b&Class6a&Mixin2 @@ -444,14 +404,6 @@ abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } library; diff --git a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.modular.expect b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.modular.expect index 331cbb9192d..7add453b883 100644 --- a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.modular.expect +++ b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.modular.expect @@ -189,18 +189,10 @@ abstract class _Class1b&Class1a&Mixin1 = self::Class1a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class1b&Class1a&Mixin1 : super self::Class1a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -222,18 +214,10 @@ abstract class _Class2b&Class2a&Mixin1 = self::Class2a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class2b&Class2a&Mixin1 : super self::Class2a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -255,18 +239,10 @@ abstract class _Class3b&Class3a&Mixin1 = self::Class3a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class3b&Class3a&Mixin1 : super self::Class3a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -308,14 +284,6 @@ abstract class _Class4b&Class4a&Mixin2 = self::Class4a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class5b&Class5a&Mixin2 @@ -341,14 +309,6 @@ abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class6b&Class6a&Mixin2 @@ -374,12 +334,4 @@ abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } diff --git a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.outline.expect b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.outline.expect index 91b0ca21124..d99f4f828fd 100644 --- a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.outline.expect +++ b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.outline.expect @@ -93,18 +93,10 @@ abstract class _Class1b&Class1a&Mixin1 = self::Class1a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class1b&Class1a&Mixin1 : super self::Class1a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -126,18 +118,10 @@ abstract class _Class2b&Class2a&Mixin1 = self::Class2a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class2b&Class2a&Mixin1 : super self::Class2a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -159,18 +143,10 @@ abstract class _Class3b&Class3a&Mixin1 = self::Class3a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class3b&Class3a&Mixin1 : super self::Class3a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -212,14 +188,6 @@ abstract class _Class4b&Class4a&Mixin2 = self::Class4a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class5b&Class5a&Mixin2 @@ -245,14 +213,6 @@ abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class6b&Class6a&Mixin2 @@ -278,14 +238,6 @@ abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } library; diff --git a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.transformed.expect b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.transformed.expect index 3613b52306e..68b10758089 100644 --- a/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/dartdevc/mixin_super/main.dart.strong.transformed.expect @@ -259,18 +259,10 @@ abstract class _Class1b&Class1a&Mixin1 = self::Class1a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class1b&Class1a&Mixin1 : super self::Class1a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -292,18 +284,10 @@ abstract class _Class2b&Class2a&Mixin1 = self::Class2a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class2b&Class2a&Mixin1 : super self::Class2a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -325,18 +309,10 @@ abstract class _Class3b&Class3a&Mixin1 = self::Class3a with self::Mixin1 /*isAno synthetic constructor •() → self::_Class3b&Class3a&Mixin1 : super self::Class3a::•() ; - synthetic mixin-super-stub get _#Mixin1#field1() → core::int? - return super.{self::Mixin1::_#Mixin1#field1}; - synthetic mixin-super-stub set _#Mixin1#field1(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field1} = value; synthetic mixin-super-stub get field1() → core::int return super.{self::Mixin1::field1}; synthetic mixin-super-stub set field1(core::int field1#param) → void return super.{self::Mixin1::field1} = field1#param; - synthetic mixin-super-stub get _#Mixin1#field2() → core::int? - return super.{self::Mixin1::_#Mixin1#field2}; - synthetic mixin-super-stub set _#Mixin1#field2(core::int? value) → void - return super.{self::Mixin1::_#Mixin1#field2} = value; synthetic mixin-super-stub get field2() → core::int return super.{self::Mixin1::field2}; synthetic mixin-super-stub set field2(core::int field2#param) → void @@ -378,14 +354,6 @@ abstract class _Class4b&Class4a&Mixin2 = self::Class4a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class5b&Class5a&Mixin2 @@ -411,14 +379,6 @@ abstract class _Class5b&Class5a&Mixin2 = self::Class5a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnonymousMixin*/ { synthetic constructor •() → self::_Class6b&Class6a&Mixin2 @@ -444,14 +404,6 @@ abstract class _Class6b&Class6a&Mixin2 = self::Class6a with mai::Mixin2 /*isAnon return super.{mai::Mixin2::property2}; synthetic mixin-super-stub set property2(core::int value) → void return super.{mai::Mixin2::property2} = value; - synthetic mixin-super-stub get _#Mixin2#field1() → core::int? - return super.{mai::Mixin2::_#Mixin2#field1}; - synthetic mixin-super-stub set _#Mixin2#field1(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field1} = value; - synthetic mixin-super-stub get _#Mixin2#field2() → core::int? - return super.{mai::Mixin2::_#Mixin2#field2}; - synthetic mixin-super-stub set _#Mixin2#field2(core::int? value) → void - return super.{mai::Mixin2::_#Mixin2#field2} = value; } library; diff --git a/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.1.expect index 2820b185d25..2f84b5f43f6 100644 --- a/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.1.expect +++ b/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.1.expect @@ -21,16 +21,5 @@ library from "org-dartlang-test:///main.dart" as main { synthetic constructor •() → main::B : super dart.core::Object::•() ; - synthetic no-such-method-forwarder get _#A#x() → dart.core::int? - return throw{for-error-handling} dart.core::NoSuchMethodError::withInvocation(this, new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable(#C4))); - synthetic no-such-method-forwarder set _#A#x(dart.core::int? value) → void - return throw{for-error-handling} dart.core::NoSuchMethodError::withInvocation(this, new dart.core::_InvocationMirror::_withType(#C5, 2, #C2, dart.core::List::unmodifiable(dart.core::_GrowableList::_literal1(value)), dart.core::Map::unmodifiable(#C4))); } } -constants { - #C1 = #org-dartlang-test:///main.dart::_#A#x - #C2 = [] - #C3 = [] - #C4 = {} - #C5 = #org-dartlang-test:///main.dart::_#A#x= -} diff --git a/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.2.expect index 2820b185d25..2f84b5f43f6 100644 --- a/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.2.expect +++ b/pkg/front_end/testcases/incremental/no_change_but_changed_type_02.yaml.world.2.expect @@ -21,16 +21,5 @@ library from "org-dartlang-test:///main.dart" as main { synthetic constructor •() → main::B : super dart.core::Object::•() ; - synthetic no-such-method-forwarder get _#A#x() → dart.core::int? - return throw{for-error-handling} dart.core::NoSuchMethodError::withInvocation(this, new dart.core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, dart.core::Map::unmodifiable(#C4))); - synthetic no-such-method-forwarder set _#A#x(dart.core::int? value) → void - return throw{for-error-handling} dart.core::NoSuchMethodError::withInvocation(this, new dart.core::_InvocationMirror::_withType(#C5, 2, #C2, dart.core::List::unmodifiable(dart.core::_GrowableList::_literal1(value)), dart.core::Map::unmodifiable(#C4))); } } -constants { - #C1 = #org-dartlang-test:///main.dart::_#A#x - #C2 = [] - #C3 = [] - #C4 = {} - #C5 = #org-dartlang-test:///main.dart::_#A#x= -} diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect index ba6af1f0e8a..b311e55fac9 100644 --- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect +++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect @@ -1,7 +1,6 @@ library; import self as self; import "issue41436c_lib.dart" as iss; -import "dart:core" as core; import "org-dartlang-testcase:///issue41436c_lib.dart"; @@ -9,10 +8,6 @@ class C extends iss::B { synthetic constructor •() → self::C : super iss::B::•() ; - synthetic no-such-method-forwarder get _#A#x() → core::int? - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable(#C4))); - synthetic no-such-method-forwarder set _#A#x(core::int? value) → void - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable([value]), core::Map::unmodifiable(#C4))); } static method main() → dynamic { new self::C::•(); @@ -39,11 +34,3 @@ class B extends core::Object implements iss::A { : super core::Object::•() ; } - -constants { - #C1 = #org-dartlang-testcase:///issue41436c.dart::_#A#x - #C2 = [] - #C3 = [] - #C4 = {} - #C5 = #org-dartlang-testcase:///issue41436c.dart::_#A#x= -} diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.modular.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.modular.expect index c3214fdb862..30cb9813e03 100644 --- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.modular.expect +++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.modular.expect @@ -1,7 +1,6 @@ library; import self as self; import "issue41436c_lib.dart" as iss; -import "dart:core" as core; import "org-dartlang-testcase:///issue41436c_lib.dart"; @@ -9,19 +8,7 @@ class C extends iss::B { synthetic constructor •() → self::C : super iss::B::•() ; - synthetic no-such-method-forwarder get _#A#x() → core::int? - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable(#C4))); - synthetic no-such-method-forwarder set _#A#x(core::int? value) → void - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable([value]), core::Map::unmodifiable(#C4))); } static method main() → dynamic { new self::C::•(); } - -constants { - #C1 = #org-dartlang-testcase:///issue41436c.dart::_#A#x - #C2 = [] - #C3 = [] - #C4 = {} - #C5 = #org-dartlang-testcase:///issue41436c.dart::_#A#x= -} diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.outline.expect index d8c90d765d2..7c0fee08a4c 100644 --- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.outline.expect +++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.outline.expect @@ -1,17 +1,12 @@ library; import self as self; import "issue41436c_lib.dart" as iss; -import "dart:core" as core; import "org-dartlang-testcase:///issue41436c_lib.dart"; class C extends iss::B { synthetic constructor •() → self::C ; - synthetic no-such-method-forwarder get _#A#x() → core::int? - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#_#A#x, 1, const [], const [], core::Map::unmodifiable(const {}))); - synthetic no-such-method-forwarder set _#A#x(core::int? value) → void - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#_#A#x=, 2, const [], core::List::unmodifiable([value]), core::Map::unmodifiable(const {}))); } static method main() → dynamic ; @@ -32,14 +27,3 @@ class B extends core::Object implements iss::A { synthetic constructor •() → iss::B ; } - - -Extra constant evaluation status: -Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> SymbolConstant(#_#A#x) -Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> ListConstant(const []) -Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> ListConstant(const []) -Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> MapConstant(const {}) -Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> SymbolConstant(#_#A#x=) -Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> ListConstant(const []) -Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c.dart:7:7 -> MapConstant(const {}) -Extra constant evaluation: evaluated: 20, effectively constant: 7 diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect index 068fdbf6b83..b311e55fac9 100644 --- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect @@ -1,7 +1,6 @@ library; import self as self; import "issue41436c_lib.dart" as iss; -import "dart:core" as core; import "org-dartlang-testcase:///issue41436c_lib.dart"; @@ -9,10 +8,6 @@ class C extends iss::B { synthetic constructor •() → self::C : super iss::B::•() ; - synthetic no-such-method-forwarder get _#A#x() → core::int? - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable(#C4))); - synthetic no-such-method-forwarder set _#A#x(core::int? value) → void - return throw{for-error-handling} core::NoSuchMethodError::withInvocation(this, new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable(core::_GrowableList::_literal1(value)), core::Map::unmodifiable(#C4))); } static method main() → dynamic { new self::C::•(); @@ -39,11 +34,3 @@ class B extends core::Object implements iss::A { : super core::Object::•() ; } - -constants { - #C1 = #org-dartlang-testcase:///issue41436c.dart::_#A#x - #C2 = [] - #C3 = [] - #C4 = {} - #C5 = #org-dartlang-testcase:///issue41436c.dart::_#A#x= -} diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status index 3b179cfc1ad..791fb84890f 100644 --- a/pkg/front_end/testcases/strong.status +++ b/pkg/front_end/testcases/strong.status @@ -139,7 +139,6 @@ dart2js/flutter_issue94561/main: SemiFuzzFailure dart2js/flutter_issue94561/main.no_link: SemiFuzzFailure static_field_lowering/opt_in: SemiFuzzFailure -dart2js/mixin_super/main: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49339 macros/augment_concrete: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49414 macros/duplicate_augment: semiFuzzFailureOnForceRebuildBodies macros/extend_augmented: semiFuzzFailureOnForceRebuildBodies # probably augment imports that isn't split correctly. Previously was: SemiFuzzFailure # Similar to https://github.com/dart-lang/sdk/issues/49414