Skip to content

Commit 7b22b9a

Browse files
scheglovCommit Queue
authored andcommitted
Fine. Fix for absent BaseNameGetterSetter.setterId
Change-Id: I4d6fc330e2b0a0f7210c3a2428b4d35ec6ae1447 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/424901 Reviewed-by: Paul Berry <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent 7498555 commit 7b22b9a

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,9 @@ class BaseNameGetterSetter extends BaseNameMembers {
513513
@override
514514
ManifestItemId get getterOrMethodId => getter.id;
515515

516+
@override
517+
ManifestItemId get setterId => setter.id;
518+
516519
@override
517520
BaseNameMembers addDeclaredSetter(InstanceItemSetterItem setter) {
518521
return BaseNameConflict();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ extension type LookupName(String _it) {
5959
bool get isPrivate => _it.startsWith('_');
6060

6161
bool get isSetter {
62-
return _it.endsWith('=') && !const {'==', '<=', '>='}.contains(_it);
62+
return _it.endsWith('=') && !const {'==', '<=', '>=', '[]='}.contains(_it);
6363
}
6464

6565
void write(BufferedSink sink) {

pkg/analyzer/test/src/dart/analysis/result_printer.dart

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,38 +839,62 @@ class LibraryManifestPrinter {
839839
}
840840
}
841841

842+
void assertHasId({
843+
bool constructor = false,
844+
bool getterOrMethod = false,
845+
bool indexEq = false,
846+
bool setter = false,
847+
}) {
848+
expect(items.constructorId, constructor ? isNotNull : isNull);
849+
expect(items.getterOrMethodId, getterOrMethod ? isNotNull : isNull);
850+
expect(items.indexEqId, indexEq ? isNotNull : isNull);
851+
expect(items.setterId, setter ? isNotNull : isNull);
852+
}
853+
842854
switch (items) {
843855
case BaseNameConflict():
844856
var idStr = idProvider.manifestId(items.id);
845857
sink.writelnWithIndent('$name.conflict: $idStr');
858+
assertHasId();
846859
case BaseNameConstructor():
860+
assertHasId(constructor: true);
847861
writeConstructor(items.constructor);
848862
case BaseNameConstructorGetter():
863+
assertHasId(constructor: true, getterOrMethod: true);
849864
writeConstructor(items.constructor);
850865
writeGetter(items.getter);
851866
case BaseNameConstructorGetterSetter():
867+
assertHasId(constructor: true, getterOrMethod: true, setter: true);
852868
writeConstructor(items.constructor);
853869
writeGetter(items.getter);
854870
writeSetter(items.setter);
855871
case BaseNameConstructorMethod():
872+
assertHasId(constructor: true, getterOrMethod: true);
856873
writeConstructor(items.constructor);
857874
writeMethod(items.method);
858875
case BaseNameConstructorSetter():
876+
assertHasId(constructor: true, setter: true);
859877
writeConstructor(items.constructor);
860878
writeSetter(items.setter);
861879
case BaseNameGetter():
880+
assertHasId(getterOrMethod: true);
862881
writeGetter(items.getter);
863882
case BaseNameGetterSetter():
883+
assertHasId(getterOrMethod: true, setter: true);
864884
writeGetter(items.getter);
865885
writeSetter(items.setter);
866886
case BaseNameIndexEq():
887+
assertHasId(indexEq: true);
867888
writeIndexEq(items.indexEq);
868889
case BaseNameMethod():
890+
assertHasId(getterOrMethod: true);
869891
writeMethod(items.method);
870892
case BaseNameMethodIndexEq():
893+
assertHasId(getterOrMethod: true, indexEq: true);
871894
writeMethod(items.method);
872895
writeIndexEq(items.indexEq);
873896
case BaseNameSetter():
897+
assertHasId(setter: true);
874898
writeSetter(items.setter);
875899
}
876900
}

0 commit comments

Comments
 (0)