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/CHANGELOG.md b/CHANGELOG.md
index 186cfab..e4f532c 100644
--- a/CHANGELOG.md
+++ b/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/lib/src/yaml_node_wrapper.dart b/lib/src/yaml_node_wrapper.dart
index 8ea084e..2dcaa23 100644
--- a/lib/src/yaml_node_wrapper.dart
+++ b/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/pubspec.yaml b/pubspec.yaml
index 5589695..c160482 100644
--- a/pubspec.yaml
+++ b/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.