| Index: lib/src/pubspec.dart
|
| diff --git a/lib/src/pubspec.dart b/lib/src/pubspec.dart
|
| index 254c18844e680ca932ccbc6f8b65b5d8a8d0cd24..2186cdef17e236eccc1ade8cf444dce4273eaf95 100644
|
| --- a/lib/src/pubspec.dart
|
| +++ b/lib/src/pubspec.dart
|
| @@ -151,7 +151,7 @@ class Pubspec {
|
| fields.nodes['transformers'].span);
|
| }
|
|
|
| - _transformers = transformers.nodes.map((phase) {
|
| + _transformers = (transformers as YamlList).nodes.map((phase) {
|
| var phaseNodes = phase is YamlList ? phase.nodes : [phase];
|
| return phaseNodes.map((transformerNode) {
|
| var transformer = transformerNode.value;
|
| @@ -428,14 +428,17 @@ class Pubspec {
|
| factory Pubspec.parse(String contents, SourceRegistry sources,
|
| {String expectedName, Uri location}) {
|
| var pubspecNode = loadYamlNode(contents, sourceUrl: location);
|
| + Map pubspecMap;
|
| if (pubspecNode is YamlScalar && pubspecNode.value == null) {
|
| - pubspecNode = new YamlMap(sourceUrl: location);
|
| - } else if (pubspecNode is! YamlMap) {
|
| + pubspecMap = new YamlMap(sourceUrl: location);
|
| + } else if (pubspecNode is YamlMap) {
|
| + pubspecMap = pubspecNode;
|
| + } else {
|
| throw new PubspecException(
|
| 'The pubspec must be a YAML mapping.', pubspecNode.span);
|
| }
|
|
|
| - return new Pubspec.fromMap(pubspecNode, sources,
|
| + return new Pubspec.fromMap(pubspecMap, sources,
|
| expectedName: expectedName, location: location);
|
| }
|
|
|
|
|