Skip to content

Commit e988c25

Browse files
scheglovCommit Queue
authored andcommitted
Always do top-merge of valid signatures.
TAP presubmit looks green. https://fusion2.corp.google.com/presubmit/752865008/OCL:752865008:BASE:753393768:1746070318725:98d23fd6 Change-Id: I8568ac955c97164ec4f3f32c187e29db1450dbda Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/425380 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 23b3450 commit e988c25

File tree

2 files changed

+3
-20
lines changed

2 files changed

+3
-20
lines changed

pkg/analyzer/lib/src/dart/element/inheritance_manager3.dart

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ class InheritanceManager3 {
9696
ExecutableElementOrMember? combineSignatures({
9797
required InterfaceFragmentImpl targetClass,
9898
required List<ExecutableElementOrMember> candidates,
99-
required bool doTopMerge,
10099
required Name name,
101100
List<Conflict>? conflicts,
102101
}) {
@@ -132,12 +131,7 @@ class InheritanceManager3 {
132131
(_combinedSignatures[targetClass] ??= {})[name] =
133132
candidates.map((e) => e.asElement2).toList();
134133

135-
if (doTopMerge) {
136-
var typeSystem = targetClass.library.typeSystem;
137-
return _topMerge(typeSystem, targetClass, validOverrides);
138-
} else {
139-
return validOverrides.first;
140-
}
134+
return _topMerge(typeSystem, targetClass, validOverrides);
141135
}
142136

143137
/// Return the result of [getInherited2] with [type] substitution.
@@ -247,7 +241,6 @@ class InheritanceManager3 {
247241
element is ExtensionTypeFragmentImpl
248242
? interface.redeclared
249243
: interface.overridden,
250-
doTopMerge: false,
251244
);
252245
}
253246
return inheritedMap;
@@ -554,9 +547,8 @@ class InheritanceManager3 {
554547
List<Conflict> _findMostSpecificFromNamedCandidates(
555548
InterfaceFragmentImpl targetClass,
556549
Map<Name, ExecutableElementOrMember> map,
557-
Map<Name, List<ExecutableElementOrMember>> namedCandidates, {
558-
required bool doTopMerge,
559-
}) {
550+
Map<Name, List<ExecutableElementOrMember>> namedCandidates,
551+
) {
560552
var conflicts = <Conflict>[];
561553

562554
for (var entry in namedCandidates.entries) {
@@ -579,7 +571,6 @@ class InheritanceManager3 {
579571
var combinedSignature = combineSignatures(
580572
targetClass: targetClass,
581573
candidates: candidates,
582-
doTopMerge: doTopMerge,
583574
name: name,
584575
conflicts: conflicts,
585576
);
@@ -682,7 +673,6 @@ class InheritanceManager3 {
682673
fragment,
683674
map,
684675
candidatesFromSuperAndMixin,
685-
doTopMerge: true,
686676
);
687677
for (var entry in map.entries) {
688678
namedCandidates[entry.key] = [entry.value];
@@ -727,7 +717,6 @@ class InheritanceManager3 {
727717
fragment,
728718
interface,
729719
namedCandidates,
730-
doTopMerge: true,
731720
);
732721

733722
var noSuchMethodForwarders = <Name>{};
@@ -940,7 +929,6 @@ class InheritanceManager3 {
940929
var combinedSignature = combineSignatures(
941930
targetClass: fragment,
942931
candidates: notPrecluded,
943-
doTopMerge: true,
944932
name: name,
945933
);
946934

@@ -1019,7 +1007,6 @@ class InheritanceManager3 {
10191007
fragment,
10201008
superInterface,
10211009
superCandidates,
1022-
doTopMerge: true,
10231010
);
10241011

10251012
var interfaceCandidates = Map.of(superCandidates);
@@ -1038,7 +1025,6 @@ class InheritanceManager3 {
10381025
fragment,
10391026
interface,
10401027
interfaceCandidates,
1041-
doTopMerge: true,
10421028
);
10431029

10441030
var implemented = <Name, ExecutableElementOrMember>{};

pkg/analyzer/lib/src/summary2/instance_member_inferrer.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@ class InstanceMemberInferrer {
135135
var combinedGetter = inheritance.combineSignatures(
136136
targetClass: currentInterfaceElement,
137137
candidates: overriddenGetters!,
138-
doTopMerge: true,
139138
name: getterName,
140139
);
141140
if (combinedGetter != null) {
@@ -148,7 +147,6 @@ class InstanceMemberInferrer {
148147
var combinedSetter = inheritance.combineSignatures(
149148
targetClass: currentInterfaceElement,
150149
candidates: overriddenSetters!,
151-
doTopMerge: true,
152150
name: setterName,
153151
);
154152
if (combinedSetter != null) {
@@ -421,7 +419,6 @@ class InstanceMemberInferrer {
421419
var combinedSignature = inheritance.combineSignatures(
422420
targetClass: currentInterfaceElement,
423421
candidates: overriddenElements,
424-
doTopMerge: true,
425422
name: name,
426423
conflicts: conflicts,
427424
);

0 commit comments

Comments
 (0)