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

Unified Diff: sdk/lib/html/html_common/filtered_element_list.dart

Issue 794953002: Fix a couple type bugs in dart html and what seems like strange type choices in dart:core (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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 | « sdk/lib/html/html_common/css_class_set.dart ('k') | sdk/lib/internal/iterable.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/html/html_common/filtered_element_list.dart
diff --git a/sdk/lib/html/html_common/filtered_element_list.dart b/sdk/lib/html/html_common/filtered_element_list.dart
index c44ad567ad77dcd8d546818ff4be72c15f0db6bb..3514cdc654135ce42502eb59c6f95fe81e9a0355 100644
--- a/sdk/lib/html/html_common/filtered_element_list.dart
+++ b/sdk/lib/html/html_common/filtered_element_list.dart
@@ -28,14 +28,14 @@ class FilteredElementList<T extends Element> extends ListBase<T>
//
// TODO(nweiz): we don't always need to create a new list. For example
// forEach, every, any, ... could directly work on the _childNodes.
- List<Element> get _filtered =>
- new List<Element>.from(_childNodes.where((n) => n is Element));
+ List<T> get _filtered =>
+ new List<T>.from(_childNodes.where((n) => n is Element));
- void forEach(void f(Element element)) {
+ void forEach(void f(T element)) {
_filtered.forEach(f);
}
- void operator []=(int index, Element value) {
+ void operator []=(int index, T value) {
this[index].replaceWith(value);
}
@@ -50,38 +50,38 @@ class FilteredElementList<T extends Element> extends ListBase<T>
removeRange(newLength, len);
}
- void add(Element value) {
+ void add(T value) {
_childNodes.add(value);
}
- void addAll(Iterable<Element> iterable) {
- for (Element element in iterable) {
+ void addAll(Iterable<T> iterable) {
+ for (T element in iterable) {
add(element);
}
}
bool contains(Object needle) {
if (needle is! Element) return false;
- Element element = needle;
+ T element = needle;
return element.parentNode == _node;
}
- Iterable<Element> get reversed => _filtered.reversed;
+ Iterable<T> get reversed => _filtered.reversed;
- void sort([int compare(Element a, Element b)]) {
+ void sort([int compare(T a, T b)]) {
throw new UnsupportedError('Cannot sort filtered list');
}
- void setRange(int start, int end, Iterable<Element> iterable,
+ void setRange(int start, int end, Iterable<T> iterable,
[int skipCount = 0]) {
throw new UnsupportedError('Cannot setRange on filtered list');
}
- void fillRange(int start, int end, [Element fillValue]) {
+ void fillRange(int start, int end, [T fillValue]) {
throw new UnsupportedError('Cannot fillRange on filtered list');
}
- void replaceRange(int start, int end, Iterable<Element> iterable) {
+ void replaceRange(int start, int end, Iterable<T> iterable) {
throw new UnsupportedError('Cannot replaceRange on filtered list');
}
@@ -95,7 +95,7 @@ class FilteredElementList<T extends Element> extends ListBase<T>
_childNodes.clear();
}
- Element removeLast() {
+ T removeLast() {
final result = this.last;
if (result != null) {
result.remove();
@@ -103,15 +103,15 @@ class FilteredElementList<T extends Element> extends ListBase<T>
return result;
}
- void insert(int index, Element value) {
+ void insert(int index, T value) {
_childNodes.insert(index, value);
}
- void insertAll(int index, Iterable<Element> iterable) {
+ void insertAll(int index, Iterable<T> iterable) {
_childNodes.insertAll(index, iterable);
}
- Element removeAt(int index) {
+ T removeAt(int index) {
final result = this[index];
result.remove();
return result;
@@ -120,7 +120,7 @@ class FilteredElementList<T extends Element> extends ListBase<T>
bool remove(Object element) {
if (element is! Element) return false;
for (int i = 0; i < length; i++) {
- Element indexElement = this[i];
+ T indexElement = this[i];
if (identical(indexElement, element)) {
indexElement.remove();
return true;
@@ -130,8 +130,8 @@ class FilteredElementList<T extends Element> extends ListBase<T>
}
int get length => _filtered.length;
- Element operator [](int index) => _filtered[index];
- Iterator<Element> get iterator => _filtered.iterator;
+ T operator [](int index) => _filtered[index];
+ Iterator<T> get iterator => _filtered.iterator;
List<Node> get rawList => _node.childNodes;
}
« no previous file with comments | « sdk/lib/html/html_common/css_class_set.dart ('k') | sdk/lib/internal/iterable.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698