Skip to content

Commit 7c783fa

Browse files
authored
update to the latest analyzer (#369)
1 parent d6370fb commit 7c783fa

File tree

12 files changed

+243
-163
lines changed

12 files changed

+243
-163
lines changed

.github/workflows/corpus.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
strategy:
2727
fail-fast: false
2828
matrix:
29-
sdk: [3.6, dev]
29+
sdk: [stable, dev]
3030
steps:
3131
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
3232
- uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c

pkgs/corpus/bin/deps.dart

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ class PackageUsageInfo {
125125
}
126126

127127
Future<PackageUsageInfo> getPackageUsageInfo(
128-
Pub pub, PackageInfo package) async {
128+
Pub pub,
129+
PackageInfo package,
130+
) async {
129131
var packageOptions = await pub.getPackageOptions(package.name);
130132
var packageScore = await pub.getPackageScore(package.name);
131133

@@ -146,13 +148,19 @@ File generateCsvReport(
146148
var score = usage.packageScore;
147149
return printDouble(score.grantedPoints * 100 / score.maxPoints);
148150
}),
149-
Column('Popularity',
150-
(usage) => printDouble(usage.packageScore.popularityScore * 100)),
151+
Column(
152+
'Popularity',
153+
(usage) => printDouble(usage.packageScore.popularityScore * 100),
154+
),
151155
Column('Likes', (usage) => '${usage.packageScore.likeCount}'),
152-
Column('Constraint',
153-
(usage) => '${usage.packageInfo.constraintFor(targetPackage.name)}'),
154-
Column('Dep Type',
155-
(usage) => '${usage.packageInfo.constraintType(targetPackage.name)}'),
156+
Column(
157+
'Constraint',
158+
(usage) => '${usage.packageInfo.constraintFor(targetPackage.name)}',
159+
),
160+
Column(
161+
'Dep Type',
162+
(usage) => '${usage.packageInfo.constraintType(targetPackage.name)}',
163+
),
156164
Column('SDK', (usage) => '${usage.packageInfo.sdkConstraint}'),
157165
Column('Repo', (usage) => '${usage.packageInfo.repo}'),
158166
];

pkgs/corpus/lib/api.dart

Lines changed: 64 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,9 @@ class ApiUsage {
7070
}
7171

7272
static ApiUsage fromFile(PackageInfo packageInfo, File file) {
73-
var json = const JsonDecoder().convert(file.readAsStringSync())
74-
as Map<String, dynamic>;
73+
var json =
74+
const JsonDecoder().convert(file.readAsStringSync())
75+
as Map<String, dynamic>;
7576
return ApiUsage(
7677
packageInfo,
7778
References.fromJson(json['packages'] as Map<String, dynamic>),
@@ -106,7 +107,7 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
106107
References referringLibraries = References();
107108

108109
ApiUseCollector(this.reportTarget, this.packageInfo, this.packageDir)
109-
: packageEntity = PackageEntity(packageInfo.name);
110+
: packageEntity = PackageEntity(packageInfo.name);
110111

111112
String get targetName => reportTarget.name;
112113
String get targetType => reportTarget.type;
@@ -143,10 +144,14 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
143144

144145
if (matches) {
145146
referringPackages.addLibraryReference(uri, packageEntity);
146-
var relativeLibraryPath =
147-
path.relative(currentFilePath, from: packageDir.path);
147+
var relativeLibraryPath = path.relative(
148+
currentFilePath,
149+
from: packageDir.path,
150+
);
148151
referringLibraries.addLibraryReference(
149-
uri, LibraryEntity(packageName, relativeLibraryPath));
152+
uri,
153+
LibraryEntity(packageName, relativeLibraryPath),
154+
);
150155
}
151156
}
152157

@@ -164,7 +169,7 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
164169
void visitSimpleIdentifier(SimpleIdentifier node) {
165170
super.visitSimpleIdentifier(node);
166171

167-
var element = node.staticElement;
172+
var element = node.element;
168173
if (element == null) {
169174
return;
170175
}
@@ -174,26 +179,38 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
174179
return;
175180
}
176181

177-
var libraryUri = library.librarySource.uri;
182+
var libraryUri = library.uri;
178183
if (libraryUri.scheme != targetType ||
179184
libraryUri.pathSegments.first != targetName) {
180185
return;
181186
}
182187

183-
var enclosingElement = element.enclosingElement3!;
188+
var enclosingElement = element.enclosingElement!;
184189

185190
if (enclosingElement.kind == ElementKind.CLASS) {
186191
final name = enclosingElement.name!;
187192
referringPackages.addClassReference(name, packageEntity);
188193
var relPath = path.relative(currentFilePath, from: packageDir.path);
189194
referringLibraries.addClassReference(
190-
name, LibraryEntity(packageName, relPath));
195+
name,
196+
LibraryEntity(packageName, relPath),
197+
);
191198
} else if (enclosingElement.kind == ElementKind.EXTENSION) {
192199
final name = enclosingElement.name!;
193200
referringPackages.addExtensionReference(name, packageEntity);
194201
var relPath = path.relative(currentFilePath, from: packageDir.path);
195202
referringLibraries.addExtensionReference(
196-
name, LibraryEntity(packageName, relPath));
203+
name,
204+
LibraryEntity(packageName, relPath),
205+
);
206+
} else if (enclosingElement.kind == ElementKind.LIBRARY) {
207+
final name = enclosingElement.name!;
208+
referringPackages.addLibraryReference(name, packageEntity);
209+
var relPath = path.relative(currentFilePath, from: packageDir.path);
210+
referringLibraries.addLibraryReference(
211+
name,
212+
LibraryEntity(packageName, relPath),
213+
);
197214
}
198215

199216
if (element.kind == ElementKind.GETTER) {
@@ -203,14 +220,26 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
203220
referringPackages.addTopLevelReference(name, packageEntity);
204221
var relPath = path.relative(currentFilePath, from: packageDir.path);
205222
referringLibraries.addTopLevelReference(
206-
name, LibraryEntity(packageName, relPath));
223+
name,
224+
LibraryEntity(packageName, relPath),
225+
);
207226
} else if (enclosingElement.kind == ElementKind.EXTENSION) {
208227
// Record extensions.
209228
final name = enclosingElement.name!;
210229
referringPackages.addExtensionReference(name, packageEntity);
211230
var relPath = path.relative(currentFilePath, from: packageDir.path);
212231
referringLibraries.addExtensionReference(
213-
name, LibraryEntity(packageName, relPath));
232+
name,
233+
LibraryEntity(packageName, relPath),
234+
);
235+
} else if (enclosingElement.kind == ElementKind.LIBRARY) {
236+
final name = element.name!;
237+
referringPackages.addTopLevelReference(name, packageEntity);
238+
var relPath = path.relative(currentFilePath, from: packageDir.path);
239+
referringLibraries.addTopLevelReference(
240+
name,
241+
LibraryEntity(packageName, relPath),
242+
);
214243
}
215244
} else if (element.kind == ElementKind.FUNCTION) {
216245
if (enclosingElement.kind == ElementKind.COMPILATION_UNIT) {
@@ -219,14 +248,26 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
219248
referringPackages.addTopLevelReference(name, packageEntity);
220249
var relPath = path.relative(currentFilePath, from: packageDir.path);
221250
referringLibraries.addTopLevelReference(
222-
name, LibraryEntity(packageName, relPath));
251+
name,
252+
LibraryEntity(packageName, relPath),
253+
);
223254
} else if (enclosingElement.kind == ElementKind.EXTENSION) {
224255
// Record extensions.
225256
final name = enclosingElement.name!;
226257
referringPackages.addExtensionReference(name, packageEntity);
227258
var relPath = path.relative(currentFilePath, from: packageDir.path);
228259
referringLibraries.addExtensionReference(
229-
name, LibraryEntity(packageName, relPath));
260+
name,
261+
LibraryEntity(packageName, relPath),
262+
);
263+
} else if (enclosingElement.kind == ElementKind.LIBRARY) {
264+
final name = element.name!;
265+
referringPackages.addTopLevelReference(name, packageEntity);
266+
var relPath = path.relative(currentFilePath, from: packageDir.path);
267+
referringLibraries.addTopLevelReference(
268+
name,
269+
LibraryEntity(packageName, relPath),
270+
);
230271
}
231272
}
232273
}
@@ -239,14 +280,16 @@ class ApiUseCollector extends RecursiveAstVisitor implements SurveyorVisitor {
239280
return;
240281
}
241282

242-
var libraryUri = library.librarySource.uri;
283+
var libraryUri = library.uri;
243284
if (libraryUri.scheme == targetType &&
244285
libraryUri.pathSegments.first == targetName) {
245286
final name = element.name!;
246287
referringPackages.addClassReference(name, packageEntity);
247288
var relPath = path.relative(currentFilePath, from: packageDir.path);
248289
referringLibraries.addClassReference(
249-
name, LibraryEntity(packageName, relPath));
290+
name,
291+
LibraryEntity(packageName, relPath),
292+
);
250293
}
251294
}
252295
}
@@ -322,8 +365,9 @@ class References {
322365

323366
refs._libraryReferences.fromJson(json['library'] as Map<String, dynamic>);
324367
refs._classReferences.fromJson(json['class'] as Map<String, dynamic>);
325-
refs._extensionReferences
326-
.fromJson(json['extension'] as Map<String, dynamic>);
368+
refs._extensionReferences.fromJson(
369+
json['extension'] as Map<String, dynamic>,
370+
);
327371
refs._topLevelReferences.fromJson(json['topLevel'] as Map<String, dynamic>);
328372

329373
return refs;
@@ -446,7 +490,7 @@ class EntityReferences {
446490
Map<String, dynamic> toJson() {
447491
return {
448492
for (var entry in _references.entries)
449-
entry.key: entry.value.map((entity) => entity.toJson()).toList()
493+
entry.key: entry.value.map((entity) => entity.toJson()).toList(),
450494
};
451495
}
452496
}

pkgs/corpus/lib/packages.dart

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ class PackageManager {
3939
return true;
4040
}
4141

42-
var progress =
43-
logger?.progress('downloading ${path.basename(archiveFile.path)}');
42+
var progress = logger?.progress(
43+
'downloading ${path.basename(archiveFile.path)}',
44+
);
4445
try {
4546
var data = await _getPackageTarGzArchive(package);
4647
archiveFile.writeAsBytesSync(data);
@@ -74,14 +75,10 @@ class PackageManager {
7475

7576
localPackage.directory.createSync(recursive: true);
7677

77-
var result = await runProcess(
78-
'tar',
79-
[
80-
'-xf',
81-
'../../archives/${path.basename(archiveFile.path)}',
82-
],
83-
workingDirectory: localPackage.directory.path,
84-
);
78+
var result = await runProcess('tar', [
79+
'-xf',
80+
'../../archives/${path.basename(archiveFile.path)}',
81+
], workingDirectory: localPackage.directory.path);
8582
if (result.exitCode != 0) {
8683
print(result.stdout);
8784
print(result.stderr);
@@ -109,10 +106,7 @@ class LocalPackage {
109106

110107
LocalPackage(this.packageInfo, this.directory);
111108

112-
Future<bool> pubGet({
113-
bool checkUpToDate = false,
114-
Logger? logger,
115-
}) async {
109+
Future<bool> pubGet({bool checkUpToDate = false, Logger? logger}) async {
116110
if (checkUpToDate) {
117111
var pubspec = File(path.join(directory.path, 'pubspec.yaml'));
118112
var lock = File(path.join(directory.path, 'pubspec.lock'));
@@ -138,10 +132,7 @@ class LocalPackage {
138132
final progress = logger?.progress('${path.basename(executable)} pub get');
139133
var result = await runProcess(
140134
executable,
141-
[
142-
'pub',
143-
'get',
144-
],
135+
['pub', 'get'],
145136
workingDirectory: directory.path,
146137
logger: logger,
147138
);

pkgs/corpus/lib/pub.dart

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,15 @@ class Pub {
2626
/// Return all the packages that depend on [packageName], sorted by package
2727
/// popularity.
2828
Stream<PackageInfo> popularDependenciesOf(String packageName) {
29-
return _packagesForSearch(
30-
query: 'dependency:$packageName',
31-
sort: 'top',
32-
);
29+
return _packagesForSearch(query: 'dependency:$packageName', sort: 'top');
3330
}
3431

3532
/// Return all the pub.dev hosted packages sorted by package popularity.
3633
///
3734
/// Note that this will be tens of thousands of packages, so the caller should
3835
/// plan to limit the number of packages they iterate through.
3936
Stream<PackageInfo> allPubPackages() {
40-
return _packagesForSearch(
41-
query: '',
42-
sort: 'top',
43-
);
37+
return _packagesForSearch(query: '', sort: 'top');
4438
}
4539

4640
Future<PackageInfo> getPackageInfo(String pkgName) async {
@@ -51,13 +45,15 @@ class Pub {
5145

5246
Future<PackageOptions> getPackageOptions(String packageName) async {
5347
final json = await _getJson(
54-
Uri.https('pub.dev', 'api/packages/$packageName/options'));
48+
Uri.https('pub.dev', 'api/packages/$packageName/options'),
49+
);
5550
return PackageOptions.from(json);
5651
}
5752

5853
Future<PackageScore> getPackageScore(String packageName) async {
59-
final json =
60-
await _getJson(Uri.https('pub.dev', 'api/packages/$packageName/score'));
54+
final json = await _getJson(
55+
Uri.https('pub.dev', 'api/packages/$packageName/score'),
56+
);
6157
return PackageScore.from(json);
6258
}
6359

@@ -69,17 +65,20 @@ class Pub {
6965
final uri = Uri.parse('https://pub.dev/api/search');
7066

7167
for (;;) {
72-
final targetUri = uri.replace(queryParameters: {
73-
'q': query,
74-
'page': page.toString(),
75-
if (sort != null) 'sort': sort,
76-
});
68+
final targetUri = uri.replace(
69+
queryParameters: {
70+
'q': query,
71+
'page': page.toString(),
72+
if (sort != null) 'sort': sort,
73+
},
74+
);
7775

7876
final map = await _getJson(targetUri);
7977

80-
for (var packageName in (map['packages'] as List)
81-
.cast<Map<String, dynamic>>()
82-
.map((e) => e['package'] as String?)) {
78+
for (var packageName
79+
in (map['packages'] as List).cast<Map<String, dynamic>>().map(
80+
(e) => e['package'] as String?,
81+
)) {
8382
var packageInfo = await getPackageInfo(packageName!);
8483

8584
yield packageInfo;

pkgs/corpus/lib/report.dart

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,21 @@ class Report {
7676
buf.writeln('## General info');
7777
buf.writeln();
7878
if (reportTarget is DartLibraryTarget) {
79-
buf.writeln('https://api.dart.dev/dart-${reportTarget.name}/'
80-
'dart-${reportTarget.name}-library.html');
79+
buf.writeln(
80+
'https://api.dart.dev/dart-${reportTarget.name}/'
81+
'dart-${reportTarget.name}-library.html',
82+
);
8183
} else if (reportTarget is PackageTarget) {
8284
buf.writeln((reportTarget as PackageTarget).description);
8385
buf.writeln();
8486
buf.writeln('- pub page: https://pub.dev/packages/${reportTarget.name}');
8587
buf.writeln(
86-
'- docs: https://pub.dev/documentation/${reportTarget.name}/latest/');
87-
buf.writeln('- dependent packages: '
88-
'https://pub.dev/packages?q=dependency%3A${reportTarget.name}&sort=top');
88+
'- docs: https://pub.dev/documentation/${reportTarget.name}/latest/',
89+
);
90+
buf.writeln(
91+
'- dependent packages: '
92+
'https://pub.dev/packages?q=dependency%3A${reportTarget.name}&sort=top',
93+
);
8994
}
9095
buf.writeln();
9196
buf.writeln(

0 commit comments

Comments
 (0)