Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Unified Diff: lib/src/lock_file.dart

Issue 2184303002: Make pub strong-mode clean. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Code review changes Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/src/io.dart ('k') | lib/src/log.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/lock_file.dart
diff --git a/lib/src/lock_file.dart b/lib/src/lock_file.dart
index b00bfdb6f9947f409af2473d0b88a7a2ff5a6d5b..3a19c2fccd6e69200db9072337894b9e5d8f74f2 100644
--- a/lib/src/lock_file.dart
+++ b/lib/src/lock_file.dart
@@ -76,32 +76,33 @@ class LockFile {
var parsed = loadYamlNode(contents, sourceUrl: sourceUrl);
_validate(parsed is Map, 'The lockfile must be a YAML mapping.', parsed);
+ var parsedMap = parsed as YamlMap;
var dartSdkConstraint = VersionConstraint.any;
VersionConstraint flutterSdkConstraint;
- var sdkNode = parsed.nodes['sdk'];
+ var sdkNode = parsedMap.nodes['sdk'];
if (sdkNode != null) {
// Lockfiles produced by pub versions from 1.14.0 through 1.18.0 included
// a top-level "sdk" field which encoded the unified constraint on the
// Dart SDK. They had no way of specifying constraints on other SDKs.
dartSdkConstraint = _parseVersionConstraint(sdkNode);
- } else if ((parsed as Map).containsKey('sdks')) {
- var sdksField = parsed['sdks'];
+ } else if (parsedMap.containsKey('sdks')) {
+ var sdksField = parsedMap['sdks'];
_validate(
sdksField is Map,
'The "sdks" field must be a mapping.',
- parsed.nodes['sdks']);
+ parsedMap.nodes['sdks']);
dartSdkConstraint = _parseVersionConstraint(sdksField.nodes['dart']);
flutterSdkConstraint =
_parseVersionConstraint(sdksField.nodes['flutter']);
}
- var packages = {};
- var packageEntries = parsed['packages'];
+ var packages = <String, PackageId>{};
+ var packageEntries = parsedMap['packages'];
if (packageEntries != null) {
_validate(packageEntries is Map, 'The "packages" field must be a map.',
- parsed.nodes['packages']);
+ parsedMap.nodes['packages']);
packageEntries.forEach((name, spec) {
// Parse the version.
@@ -182,7 +183,7 @@ class LockFile {
LockFile setPackage(PackageId id) {
if (id.isRoot) return this;
- var packages = new Map.from(this.packages);
+ var packages = new Map<String, PackageId>.from(this.packages);
packages[id.name] = id;
return new LockFile._(packages, dartSdkConstraint, flutterSdkConstraint);
}
@@ -193,7 +194,7 @@ class LockFile {
LockFile removePackage(String name) {
if (!this.packages.containsKey(name)) return this;
- var packages = new Map.from(this.packages);
+ var packages = new Map<String, PackageId>.from(this.packages);
packages.remove(name);
return new LockFile._(packages, dartSdkConstraint, flutterSdkConstraint);
}
@@ -205,7 +206,8 @@ class LockFile {
String packagesFile(SystemCache cache, [String entrypoint]) {
var header = "Generated by pub on ${new DateTime.now()}.";
- var map = new Map.fromIterable(ordered(packages.keys), value: (name) {
+ var map = new Map<String, Uri>.fromIterable(ordered(packages.keys),
+ value: (name) {
var id = packages[name];
var source = cache.source(id.source);
return p.toUri(p.join(source.getDirectory(id), "lib"));
« no previous file with comments | « lib/src/io.dart ('k') | lib/src/log.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698