Skip to content

Commit 6c0ae60

Browse files
srawlinsCommit Queue
authored andcommitted
analyzer: use displayName in nonAbstractClassInheritsAbstractMember args
Fixes #62224 `displayName` is a much better choice when joining an enclosing element's "name" with a child element, via a period. Change-Id: Ib79e31abf352c60903754326b6ed6686ec3d7824 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467721 Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]> Reviewed-by: Paul Berry <[email protected]>
1 parent 089da15 commit 6c0ae60

File tree

2 files changed

+73
-10
lines changed

2 files changed

+73
-10
lines changed

pkg/analyzer/lib/src/error/inheritance_override.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -835,7 +835,7 @@ class _ClassVerifier {
835835

836836
var elementName = element.displayName;
837837
var enclosingElement = element.enclosingElement!;
838-
var enclosingName = enclosingElement.displayString();
838+
var enclosingName = enclosingElement.displayName;
839839
var description = "$prefix$enclosingName.$elementName";
840840

841841
descriptions.add(description);

pkg/analyzer/test/src/diagnostics/non_abstract_class_inherits_abstract_member_test.dart

Lines changed: 72 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,14 @@ abstract class A {
3535
}
3636
class B implements A {}
3737
''',
38-
[error(diag.nonAbstractClassInheritsAbstractMemberOne, 51, 1)],
38+
[
39+
error(
40+
diag.nonAbstractClassInheritsAbstractMemberOne,
41+
51,
42+
1,
43+
messageContains: ["'getter A.x'"],
44+
),
45+
],
3946
);
4047
}
4148

@@ -73,7 +80,14 @@ abstract class A {
7380
}
7481
class B implements A {}
7582
''',
76-
[error(diag.nonAbstractClassInheritsAbstractMemberTwo, 45, 1)],
83+
[
84+
error(
85+
diag.nonAbstractClassInheritsAbstractMemberTwo,
86+
45,
87+
1,
88+
messageContains: ["'getter A.x' and 'setter A.x'"],
89+
),
90+
],
7791
);
7892
}
7993

@@ -87,7 +101,14 @@ class B implements A {
87101
void set x(int value) {}
88102
}
89103
''',
90-
[error(diag.nonAbstractClassInheritsAbstractMemberOne, 45, 1)],
104+
[
105+
error(
106+
diag.nonAbstractClassInheritsAbstractMemberOne,
107+
45,
108+
1,
109+
messageContains: ["'getter A.x'"],
110+
),
111+
],
91112
);
92113
}
93114

@@ -328,7 +349,14 @@ class A {
328349
}
329350
class B implements A {}
330351
''',
331-
[error(diag.nonAbstractClassInheritsAbstractMemberTwo, 36, 1)],
352+
[
353+
error(
354+
diag.nonAbstractClassInheritsAbstractMemberTwo,
355+
36,
356+
1,
357+
messageContains: ["'getter A.x' and 'setter A.x'"],
358+
),
359+
],
332360
);
333361
}
334362

@@ -359,7 +387,14 @@ abstract class A {
359387
class C extends A {
360388
}
361389
''',
362-
[error(diag.nonAbstractClassInheritsAbstractMemberFivePlus, 62, 1)],
390+
[
391+
error(
392+
diag.nonAbstractClassInheritsAbstractMemberFivePlus,
393+
62,
394+
1,
395+
messageContains: ["'A.m', 'A.n', 'A.o', 'A.p'"],
396+
),
397+
],
363398
);
364399
}
365400

@@ -375,7 +410,14 @@ abstract class A {
375410
class C extends A {
376411
}
377412
''',
378-
[error(diag.nonAbstractClassInheritsAbstractMemberFour, 55, 1)],
413+
[
414+
error(
415+
diag.nonAbstractClassInheritsAbstractMemberFour,
416+
55,
417+
1,
418+
messageContains: ["'A.m', 'A.n', 'A.o', and 'A.p'"],
419+
),
420+
],
379421
);
380422
}
381423

@@ -793,7 +835,14 @@ abstract class A {
793835
class C extends A {
794836
}
795837
''',
796-
[error(diag.nonAbstractClassInheritsAbstractMemberThree, 48, 1)],
838+
[
839+
error(
840+
diag.nonAbstractClassInheritsAbstractMemberThree,
841+
48,
842+
1,
843+
messageContains: ["'A.m', 'A.n', and 'A.o'"],
844+
),
845+
],
797846
);
798847
}
799848

@@ -807,7 +856,14 @@ abstract class A {
807856
class C extends A {
808857
}
809858
''',
810-
[error(diag.nonAbstractClassInheritsAbstractMemberTwo, 41, 1)],
859+
[
860+
error(
861+
diag.nonAbstractClassInheritsAbstractMemberTwo,
862+
41,
863+
1,
864+
messageContains: ["'A.m' and 'A.n'"],
865+
),
866+
],
811867
);
812868
}
813869

@@ -821,7 +877,14 @@ class I {
821877
class C implements I {
822878
}
823879
''',
824-
[error(diag.nonAbstractClassInheritsAbstractMemberTwo, 27, 1)],
880+
[
881+
error(
882+
diag.nonAbstractClassInheritsAbstractMemberTwo,
883+
27,
884+
1,
885+
messageContains: ["'getter I.v' and 'setter I.v'."],
886+
),
887+
],
825888
);
826889
}
827890
}

0 commit comments

Comments
 (0)