Skip to content

Commit 65d5319

Browse files
scheglovCommit Queue
authored andcommitted
Fine. Add tests for most BaseNameMembers states and transitions.
No coverage yet for combinations with inherited constructors. This set of tests relies on the fact that we iterate over declared executables in a specific order: constructors, methods, getters, setters. Change-Id: I1631be49ea3388243819ba7a26b567662dbdc860 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/424703 Commit-Queue: Konstantin Shcheglov <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 05d1658 commit 65d5319

File tree

3 files changed

+6382
-8
lines changed

3 files changed

+6382
-8
lines changed

pkg/analyzer/lib/src/fine/library_manifest.dart

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,11 @@ class LibraryManifestBuilder {
233233
var baseName = lookupName.asBaseName;
234234
switch (executable) {
235235
case MethodElementImpl2():
236-
item.members.addInheritedMethod(baseName, id);
236+
if (lookupName.isIndexEq) {
237+
item.members.addInheritedIndexEq(baseName, id);
238+
} else {
239+
item.members.addInheritedMethod(baseName, id);
240+
}
237241
case GetterElementImpl():
238242
item.members.addInheritedGetter(baseName, id);
239243
case SetterElementImpl():
@@ -257,19 +261,19 @@ class LibraryManifestBuilder {
257261
required InstanceElementImpl2 instanceElement,
258262
required InstanceItem instanceItem,
259263
}) {
260-
for (var getter in instanceElement.getters2) {
261-
_addInstanceElementGetter(
264+
for (var method in instanceElement.methods2) {
265+
_addInstanceElementMethod(
262266
encodingContext: encodingContext,
263267
instanceItem: instanceItem,
264-
element: getter,
268+
element: method,
265269
);
266270
}
267271

268-
for (var method in instanceElement.methods2) {
269-
_addInstanceElementMethod(
272+
for (var getter in instanceElement.getters2) {
273+
_addInstanceElementGetter(
270274
encodingContext: encodingContext,
271275
instanceItem: instanceItem,
272-
element: method,
276+
element: getter,
273277
);
274278
}
275279

@@ -855,7 +859,10 @@ class _LibraryMatch {
855859
_addMatchingElementItem(executable, item, matchContext);
856860
return true;
857861
case MethodElementImpl2():
858-
var item = members[baseName]?.declaredMethod;
862+
var item =
863+
lookupName.isIndexEq
864+
? members[baseName]?.declaredIndexEq
865+
: members[baseName]?.declaredMethod;
859866
if (item is! InstanceItemMethodItem) {
860867
return false;
861868
}

0 commit comments

Comments
 (0)