Index: sdk/lib/html/dart2js/html_dart2js.dart |
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart |
index d69f13b1834239409949066f2a1ea35cb55f0265..1d4407bd3319bce10102472c62b0664454219acb 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -12436,7 +12436,7 @@ class _FrozenElementList<E extends Element> extends ListBase<E> |
int get length => _nodeList.length; |
- E operator [](int index) => _nodeList[index] as E; |
+ E operator [](int index) => _downcast/*<Node, E>*/(_nodeList[index]); |
void operator []=(int index, E value) { |
throw new UnsupportedError('Cannot modify list'); |
@@ -12454,11 +12454,11 @@ class _FrozenElementList<E extends Element> extends ListBase<E> |
throw new UnsupportedError('Cannot shuffle list'); |
} |
- E get first => _nodeList.first as E; |
+ E get first => _downcast/*<Node, E>*/(_nodeList.first); |
- E get last => _nodeList.last as E; |
+ E get last => _downcast/*<Node, E>*/(_nodeList.last); |
- E get single => _nodeList.single as E; |
+ E get single => _downcast/*<Node, E>*/(_nodeList.single); |
CssClassSet get classes => new _MultiElementCssClassSet(this); |
@@ -42542,13 +42542,13 @@ class _WrappedList<E extends Node> extends ListBase<E> |
// List APIs |
- E operator [](int index) => _list[index] as E; |
+ E operator [](int index) => _downcast/*<Node, E>*/(_list[index]); |
void operator []=(int index, E value) { _list[index] = value; } |
set length(int newLength) { _list.length = newLength; } |
- void sort([int compare(E a, E b)]) { _list.sort((Node a, Node b) => compare(a as E, b as E)); } |
+ void sort([int compare(E a, E b)]) { _list.sort((Node a, Node b) => compare(_downcast/*<Node, E>*/(a), _downcast/*<Node, E>*/(b))); } |
int indexOf(Object element, [int start = 0]) => _list.indexOf(element, start); |
@@ -42556,7 +42556,7 @@ class _WrappedList<E extends Node> extends ListBase<E> |
void insert(int index, E element) => _list.insert(index, element); |
- E removeAt(int index) => _list.removeAt(index) as E; |
+ E removeAt(int index) => _downcast/*<Node, E>*/(_list.removeAt(index)); |
void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) { |
_list.setRange(start, end, iterable, skipCount); |
@@ -42578,7 +42578,7 @@ class _WrappedList<E extends Node> extends ListBase<E> |
/** |
* Iterator wrapper for _WrappedList. |
*/ |
-class _WrappedIterator<E> implements Iterator<E> { |
+class _WrappedIterator<E extends Node> implements Iterator<E> { |
Iterator<Node> _iterator; |
_WrappedIterator(this._iterator); |
@@ -42587,8 +42587,11 @@ class _WrappedIterator<E> implements Iterator<E> { |
return _iterator.moveNext(); |
} |
- E get current => _iterator.current as E; |
+ E get current => _downcast/*<Node, E>*/(_iterator.current); |
} |
+ |
+// ignore: STRONG_MODE_DOWN_CAST_COMPOSITE |
+/*=To*/ _downcast/*<From, To extends From>*/(dynamic /*=From*/ x) => x; |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |