Skip to content

Commit df1872f

Browse files
authored
Enable and fix prefer_final_in_for_each to be consistent (#8149)
1 parent a9568e4 commit df1872f

30 files changed

+50
-49
lines changed

analysis_options.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ linter:
5252
- prefer_conditional_assignment
5353
- prefer_contains
5454
- prefer_final_fields
55+
- prefer_final_in_for_each
5556
- prefer_final_locals
5657
- prefer_for_elements_to_map_fromIterable
5758
- prefer_generic_function_type_aliases

app/lib/account/backend.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ class AccountBackend {
241241
/// Uses in-memory cache to store entries locally for up to 10 minutes.
242242
Future<List<String?>> getEmailsOfUserIds(List<String> userIds) async {
243243
final result = <String?>[];
244-
for (String userId in userIds) {
244+
for (final userId in userIds) {
245245
result.add(await getEmailOfUserId(userId));
246246
}
247247
return result;

app/lib/account/consent_backend.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ class ConsentBackend {
231231
Future<void> deleteObsoleteConsents() async {
232232
final query = _db.query<Consent>()
233233
..filter('expires <', clock.now().toUtc());
234-
await for (var entry in query.run()) {
234+
await for (final entry in query.run()) {
235235
try {
236236
await _delete(entry, (a) => a.onExpire(entry));
237237
} catch (e) {

app/lib/admin/tools/delete_all_staging.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Future<void> _batchedQuery<T extends Model>(
9292
budget = _defaultBudget;
9393
}
9494

95-
await for (Model m in query.run()) {
95+
await for (final m in query.run()) {
9696
final size = _estimateSize(m);
9797
if (size * 4 >= _defaultBudget) {
9898
flush();

app/lib/frontend/static_files.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ class StaticFileCache {
122122
'/static/css/style.css',
123123
'/static/js/script.dart.js',
124124
};
125-
for (String path in paths) {
125+
for (final path in paths) {
126126
final file = StaticFile(path, 'text/mock', [], clock.now(),
127127
'mocked_hash_${path.hashCode.abs()}');
128128
cache.addFile(file);
@@ -279,7 +279,7 @@ class StaticUrls {
279279

280280
Future<DateTime> _detectLastModified(Directory dir) async {
281281
DateTime? lastModified;
282-
await for (FileSystemEntity fse in dir.list(recursive: true)) {
282+
await for (final fse in dir.list(recursive: true)) {
283283
if (fse is File) {
284284
final lm = await fse.lastModified();
285285
if (lastModified == null || lastModified.isBefore(lm)) {

app/lib/frontend/templates/detail_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ d.Node renderDetailPage({
4545
d.Node? footerNode,
4646
}) {
4747
// active: the first one with content
48-
for (Tab tab in tabs) {
48+
for (final tab in tabs) {
4949
if (tab.contentNode != null) {
5050
tab.isActive = true;
5151
break;

app/lib/frontend/templates/views/pkg/info_box.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ d.Node packageInfoBoxNode({
6161
if (screenshots != null && screenshots.isNotEmpty) {
6262
thumbnailUrl = imageStorage.getImageUrl(
6363
package.name!, version.version!, screenshots.first.webp190Thumbnail);
64-
for (ProcessedScreenshot s in screenshots) {
64+
for (final screenshot in screenshots) {
6565
screenshotUrls.add(imageStorage.getImageUrl(
66-
package.name!, version.version!, s.webpImage));
67-
screenshotDescriptions.add(s.description);
66+
package.name!, version.version!, screenshot.webpImage));
67+
screenshotDescriptions.add(screenshot.description);
6868
}
6969
}
7070
return d.fragment([

app/lib/frontend/templates/views/pkg/package_list.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'package:_pub_shared/format/x_ago_format.dart';
66
import 'package:_pub_shared/search/search_form.dart';
77
import 'package:_pub_shared/search/tags.dart';
88
import 'package:clock/clock.dart';
9-
import 'package:pana/pana.dart';
109

1110
import '../../../../package/models.dart';
1211
import '../../../../package/screenshots/backend.dart';
@@ -148,10 +147,10 @@ d.Node _packageItem(
148147
thumbnailUrl = imageStorage.getImageUrl(
149148
view.name, releases.stable.version, screenshots.first.webp100Thumbnail);
150149

151-
for (ProcessedScreenshot s in screenshots) {
150+
for (final screenshot in screenshots) {
152151
screenshotUrls.add(imageStorage.getImageUrl(
153-
view.name, releases.stable.version, s.webpImage));
154-
screenshotDescriptions.add(s.description);
152+
view.name, releases.stable.version, screenshot.webpImage));
153+
screenshotDescriptions.add(screenshot.description);
155154
}
156155
}
157156

app/lib/search/mem_index.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ class InMemoryPackageIndex {
7575
_descrIndex.add(doc.package, doc.description);
7676
_readmeIndex.add(doc.package, doc.readme);
7777

78-
for (ApiDocPage page in doc.apiDocPages ?? const []) {
78+
for (final ApiDocPage page in doc.apiDocPages ?? const []) {
7979
final pageId = _apiDocPageId(doc.package, page);
8080
if (page.symbols != null && page.symbols!.isNotEmpty) {
8181
_apiSymbolIndex.add(pageId, page.symbols!.join(' '));
@@ -108,10 +108,10 @@ class InMemoryPackageIndex {
108108
packages.removeWhere((package) {
109109
final doc = _packages[package]!;
110110
if (doc.dependencies.isEmpty) return true;
111-
for (String dependency in query.parsedQuery.allDependencies) {
111+
for (final dependency in query.parsedQuery.allDependencies) {
112112
if (!doc.dependencies.containsKey(dependency)) return true;
113113
}
114-
for (String dependency in query.parsedQuery.refDependencies) {
114+
for (final dependency in query.parsedQuery.refDependencies) {
115115
final type = doc.dependencies[dependency];
116116
if (type == null || type == DependencyTypes.transitive) return true;
117117
}
@@ -315,7 +315,7 @@ class InMemoryPackageIndex {
315315
final phrases = extractExactPhrases(text);
316316
if (!aborted && phrases.isNotEmpty) {
317317
final matched = <String, double>{};
318-
for (String package in score.getKeys()) {
318+
for (final package in score.getKeys()) {
319319
final doc = _packages[package]!;
320320
final bool matchedAllPhrases = phrases.every((phrase) =>
321321
doc.package.contains(phrase) ||

app/lib/search/text_utils.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Map<String, double>? tokenize(String? originalText, {bool isSplit = false}) {
9595
final tokens = <String, double>{};
9696

9797
final words = isSplit ? [originalText] : splitForIndexing(originalText);
98-
for (String word in words) {
98+
for (final word in words) {
9999
if (word.length > _maxWordLength) {
100100
continue;
101101
}

0 commit comments

Comments
 (0)