Fix busted type parameters in yaml. R=rnystrom@google.com Review URL: https://codereview.chromium.org//354653003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/yaml@37668 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/yaml/CHANGELOG.md b/pkgs/yaml/CHANGELOG.md index 186cfab..e4f532c 100644 --- a/pkgs/yaml/CHANGELOG.md +++ b/pkgs/yaml/CHANGELOG.md
@@ -1,3 +1,9 @@ +## 1.1.1 + +* Fix broken type arguments that caused breakage on dart2js. + +* Fix an analyzer warning in `yaml_node_wrapper.dart`. + ## 1.1.0 * Add new publicly-accessible constructors for `YamlNode` subclasses. These
diff --git a/pkgs/yaml/lib/src/yaml_node_wrapper.dart b/pkgs/yaml/lib/src/yaml_node_wrapper.dart index 8ea084e..2dcaa23 100644 --- a/pkgs/yaml/lib/src/yaml_node_wrapper.dart +++ b/pkgs/yaml/lib/src/yaml_node_wrapper.dart
@@ -14,7 +14,7 @@ /// A wrapper that makes a normal Dart map behave like a [YamlMap]. class YamlMapWrapper extends MapBase - with pkg_collection.UnmodifiableMapMixin<dynamic, YamlNode> + with pkg_collection.UnmodifiableMapMixin implements YamlMap { final Map _dartMap; @@ -61,7 +61,8 @@ _YamlMapNodes(this._dartMap, this._span); YamlNode operator [](Object key) { - if (key is YamlScalar) key = key.value; + // Use "as" here because key being assigned to invalidates type propagation. + if (key is YamlScalar) key = (key as YamlScalar).value; if (!_dartMap.containsKey(key)) return null; return _nodeForValue(_dartMap[key], _span); }
diff --git a/pkgs/yaml/pubspec.yaml b/pkgs/yaml/pubspec.yaml index 5589695..c160482 100644 --- a/pkgs/yaml/pubspec.yaml +++ b/pkgs/yaml/pubspec.yaml
@@ -1,5 +1,5 @@ name: yaml -version: 1.1.0 +version: 1.1.1 author: "Dart Team <misc@dartlang.org>" homepage: http://www.dartlang.org description: A parser for YAML.