Skip to content

Commit 34391c3

Browse files
scheglovCommit Queue
authored andcommitted
Fine. Add toString() to RequirementFailure subclasses.
Also reorder fields so that expected is before actual. Change-Id: I0be1fe063688ec8ea64caf05b9e9e415736dd18d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/443626 Reviewed-by: Johnni Winther <[email protected]> Commit-Queue: Konstantin Shcheglov <[email protected]>
1 parent b3260e6 commit 34391c3

File tree

4 files changed

+90
-8
lines changed

4 files changed

+90
-8
lines changed

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

Lines changed: 87 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,40 +8,61 @@ import 'package:analyzer/src/fine/manifest_id.dart';
88
final class ExportCountMismatch extends ExportFailure {
99
final Uri fragmentUri;
1010
final Uri exportedUri;
11+
final int expectedCount;
1112
final int actualCount;
12-
final int requiredCount;
1313

1414
ExportCountMismatch({
1515
required this.fragmentUri,
1616
required this.exportedUri,
17+
required this.expectedCount,
1718
required this.actualCount,
18-
required this.requiredCount,
1919
});
20+
21+
@override
22+
String toString() {
23+
return 'ExportCountMismatch(fragmentUri: $fragmentUri, '
24+
'exportedUri: $exportedUri, '
25+
'expectedCount: $expectedCount, '
26+
'actualCount: $actualCount)';
27+
}
2028
}
2129

22-
// TODO(scheglov): break down
2330
sealed class ExportFailure extends RequirementFailure {}
2431

2532
final class ExportIdMismatch extends ExportFailure {
2633
final Uri fragmentUri;
2734
final Uri exportedUri;
2835
final LookupName name;
29-
final ManifestItemId actualId;
3036
final ManifestItemId? expectedId;
37+
final ManifestItemId actualId;
3138

3239
ExportIdMismatch({
3340
required this.fragmentUri,
3441
required this.exportedUri,
3542
required this.name,
36-
required this.actualId,
3743
required this.expectedId,
44+
required this.actualId,
3845
});
46+
47+
@override
48+
String toString() {
49+
return 'ExportIdMismatch(fragmentUri: $fragmentUri, '
50+
'exportedUri: $exportedUri, '
51+
'name: ${name.asString}, '
52+
'expectedId: $expectedId, '
53+
'actualId: $actualId)';
54+
}
3955
}
4056

4157
final class ExportLibraryMissing extends ExportFailure {
4258
final Uri uri;
4359

4460
ExportLibraryMissing({required this.uri});
61+
62+
@override
63+
String toString() {
64+
return 'ExportLibraryMissing(uri: $uri)';
65+
}
4566
}
4667

4768
class InstanceChildrenIdsMismatch extends RequirementFailure {
@@ -58,6 +79,14 @@ class InstanceChildrenIdsMismatch extends RequirementFailure {
5879
required this.expectedIds,
5980
required this.actualIds,
6081
});
82+
83+
@override
84+
String toString() {
85+
return 'InstanceChildrenIdsMismatch(libraryUri: $libraryUri, '
86+
'instanceName: ${instanceName.asString}, '
87+
'childrenPropertyName: $childrenPropertyName, '
88+
'expectedIds: $expectedIds, actualIds: $actualIds)';
89+
}
6190
}
6291

6392
class InstanceFieldIdMismatch extends RequirementFailure {
@@ -74,6 +103,15 @@ class InstanceFieldIdMismatch extends RequirementFailure {
74103
required this.expectedId,
75104
required this.actualId,
76105
});
106+
107+
@override
108+
String toString() {
109+
return 'InstanceFieldIdMismatch(libraryUri: $libraryUri, '
110+
'interfaceName: ${interfaceName.asString}, '
111+
'fieldName: ${fieldName.asString}, '
112+
'expectedId: $expectedId, '
113+
'actualId: $actualId)';
114+
}
77115
}
78116

79117
class InstanceMethodIdMismatch extends RequirementFailure {
@@ -90,6 +128,14 @@ class InstanceMethodIdMismatch extends RequirementFailure {
90128
required this.expectedId,
91129
required this.actualId,
92130
});
131+
132+
@override
133+
String toString() {
134+
return 'InstanceMethodIdMismatch(libraryUri: $libraryUri, '
135+
'interfaceName: ${interfaceName.asString}, '
136+
'methodName: ${methodName.asString}, '
137+
'expectedId: $expectedId, actualId: $actualId)';
138+
}
93139
}
94140

95141
class InterfaceConstructorIdMismatch extends RequirementFailure {
@@ -106,6 +152,15 @@ class InterfaceConstructorIdMismatch extends RequirementFailure {
106152
required this.expectedId,
107153
required this.actualId,
108154
});
155+
156+
@override
157+
String toString() {
158+
return 'InterfaceConstructorIdMismatch(libraryUri: $libraryUri, '
159+
'interfaceName: ${interfaceName.asString}, '
160+
'constructorName: ${constructorName.asString}, '
161+
'expectedId: $expectedId, '
162+
'actualId: $actualId)';
163+
}
109164
}
110165

111166
class InterfaceIdMismatch extends RequirementFailure {
@@ -120,12 +175,25 @@ class InterfaceIdMismatch extends RequirementFailure {
120175
required this.expectedId,
121176
required this.actualId,
122177
});
178+
179+
@override
180+
String toString() {
181+
return 'InterfaceIdMismatch(libraryUri: $libraryUri, '
182+
'interfaceName: ${interfaceName.asString}, '
183+
'expectedId: $expectedId, '
184+
'actualId: $actualId)';
185+
}
123186
}
124187

125188
class LibraryMissing extends RequirementFailure {
126189
final Uri uri;
127190

128191
LibraryMissing({required this.uri});
192+
193+
@override
194+
String toString() {
195+
return 'LibraryMissing(uri: $uri)';
196+
}
129197
}
130198

131199
sealed class RequirementFailure {}
@@ -147,8 +215,22 @@ class TopLevelIdMismatch extends TopLevelFailure {
147215
required this.expectedId,
148216
required this.actualId,
149217
});
218+
219+
@override
220+
String toString() {
221+
return 'TopLevelIdMismatch(libraryUri: $libraryUri, '
222+
'name: ${name.asString}, '
223+
'expectedId: $expectedId, '
224+
'actualId: $actualId)';
225+
}
150226
}
151227

152228
class TopLevelNotInterface extends TopLevelFailure {
153229
TopLevelNotInterface({required super.libraryUri, required super.name});
230+
231+
@override
232+
String toString() {
233+
return 'TopLevelNotInterface(libraryUri: $libraryUri, '
234+
'name: ${name.asString})';
235+
}
154236
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ class ExportRequirement {
9393
return ExportCountMismatch(
9494
fragmentUri: fragmentUri,
9595
exportedUri: exportedUri,
96+
expectedCount: exportedIds.length,
9697
actualCount: actualCount,
97-
requiredCount: exportedIds.length,
9898
);
9999
}
100100

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14942,8 +14942,8 @@ final a = 0;
1494214942
exportCountMismatch
1494314943
fragmentUri: package:test/test.dart
1494414944
exportedUri: package:test/a.dart
14945+
expected: 2
1494514946
actual: 1
14946-
required: 2
1494714947
[operation] linkLibraryCycle
1494814948
package:test/test.dart
1494914949
reExportMap

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,8 +483,8 @@ class DriverEventsPrinter {
483483
sink.writeProperties({
484484
'fragmentUri': failure.fragmentUri,
485485
'exportedUri': failure.exportedUri,
486+
'expected': failure.expectedCount,
486487
'actual': failure.actualCount,
487-
'required': failure.requiredCount,
488488
});
489489
case ExportIdMismatch():
490490
sink.writelnWithIndent('exportIdMismatch');

0 commit comments

Comments
 (0)