| Index: sdk/lib/html/dartium/html_dartium.dart
|
| diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
|
| index 8b45becf1816591139c73d7145c0387667b14187..fc4d4d07f2b07693b7eb0d6868a012d5b72d0e4f 100644
|
| --- a/sdk/lib/html/dartium/html_dartium.dart
|
| +++ b/sdk/lib/html/dartium/html_dartium.dart
|
| @@ -24515,7 +24515,7 @@ class Uint8Array extends ArrayBufferView implements List<int> {
|
|
|
|
|
| /// @domName Uint8ClampedArray
|
| -class Uint8ClampedArray extends Uint8Array {
|
| +class Uint8ClampedArray extends Uint8Array implements List<int> {
|
| Uint8ClampedArray.internal() : super.internal();
|
|
|
| factory Uint8ClampedArray(int length) =>
|
| @@ -24538,6 +24538,148 @@ class Uint8ClampedArray extends Uint8Array {
|
|
|
| /** @domName Uint8ClampedArray.numericIndexSetter */
|
| void operator[]=(int index, int value) native "Uint8ClampedArray_numericIndexSetter_Callback";
|
| + // -- start List<int> mixins.
|
| + // int is the element type.
|
| +
|
| + // From Iterable<int>:
|
| +
|
| + Iterator<int> get iterator {
|
| + // Note: NodeLists are not fixed size. And most probably length shouldn't
|
| + // be cached in both iterator _and_ forEach method. For now caching it
|
| + // for consistency.
|
| + return new FixedSizeListIterator<int>(this);
|
| + }
|
| +
|
| + dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) {
|
| + return Collections.reduce(this, initialValue, combine);
|
| + }
|
| +
|
| + bool contains(int element) => Collections.contains(this, element);
|
| +
|
| + void forEach(void f(int element)) => Collections.forEach(this, f);
|
| +
|
| + String join([String separator]) => Collections.joinList(this, separator);
|
| +
|
| + List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f);
|
| +
|
| + Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f);
|
| +
|
| + bool every(bool f(int element)) => Collections.every(this, f);
|
| +
|
| + bool any(bool f(int element)) => Collections.any(this, f);
|
| +
|
| + List<int> toList() => new List<int>.from(this);
|
| + Set<int> toSet() => new Set<int>.from(this);
|
| +
|
| + bool get isEmpty => this.length == 0;
|
| +
|
| + List<int> take(int n) => new ListView<int>(this, 0, n);
|
| +
|
| + Iterable<int> takeWhile(bool test(int value)) {
|
| + return new TakeWhileIterable<int>(this, test);
|
| + }
|
| +
|
| + List<int> skip(int n) => new ListView<int>(this, n, null);
|
| +
|
| + Iterable<int> skipWhile(bool test(int value)) {
|
| + return new SkipWhileIterable<int>(this, test);
|
| + }
|
| +
|
| + int firstMatching(bool test(int value), { int orElse() }) {
|
| + return Collections.firstMatching(this, test, orElse);
|
| + }
|
| +
|
| + int lastMatching(bool test(int value), {int orElse()}) {
|
| + return Collections.lastMatchingInList(this, test, orElse);
|
| + }
|
| +
|
| + int singleMatching(bool test(int value)) {
|
| + return Collections.singleMatching(this, test);
|
| + }
|
| +
|
| + int elementAt(int index) {
|
| + return this[index];
|
| + }
|
| +
|
| + // From Collection<int>:
|
| +
|
| + void add(int value) {
|
| + throw new UnsupportedError("Cannot add to immutable List.");
|
| + }
|
| +
|
| + void addLast(int value) {
|
| + throw new UnsupportedError("Cannot add to immutable List.");
|
| + }
|
| +
|
| + void addAll(Iterable<int> iterable) {
|
| + throw new UnsupportedError("Cannot add to immutable List.");
|
| + }
|
| +
|
| + // From List<int>:
|
| + void set length(int value) {
|
| + throw new UnsupportedError("Cannot resize immutable List.");
|
| + }
|
| +
|
| + void clear() {
|
| + throw new UnsupportedError("Cannot clear immutable List.");
|
| + }
|
| +
|
| + void sort([int compare(int a, int b)]) {
|
| + throw new UnsupportedError("Cannot sort immutable List.");
|
| + }
|
| +
|
| + int indexOf(int element, [int start = 0]) =>
|
| + Lists.indexOf(this, element, start, this.length);
|
| +
|
| + int lastIndexOf(int element, [int start]) {
|
| + if (start == null) start = length - 1;
|
| + return Lists.lastIndexOf(this, element, start);
|
| + }
|
| +
|
| + int get first {
|
| + if (this.length > 0) return this[0];
|
| + throw new StateError("No elements");
|
| + }
|
| +
|
| + int get last {
|
| + if (this.length > 0) return this[this.length - 1];
|
| + throw new StateError("No elements");
|
| + }
|
| +
|
| + int get single {
|
| + if (length == 1) return this[0];
|
| + if (length == 0) throw new StateError("No elements");
|
| + throw new StateError("More than one element");
|
| + }
|
| +
|
| + int min([int compare(int a, int b)]) => Collections.min(this, compare);
|
| +
|
| + int max([int compare(int a, int b)]) => Collections.max(this, compare);
|
| +
|
| + int removeAt(int pos) {
|
| + throw new UnsupportedError("Cannot removeAt on immutable List.");
|
| + }
|
| +
|
| + int removeLast() {
|
| + throw new UnsupportedError("Cannot removeLast on immutable List.");
|
| + }
|
| +
|
| + void setRange(int start, int rangeLength, List<int> from, [int startFrom]) {
|
| + throw new UnsupportedError("Cannot setRange on immutable List.");
|
| + }
|
| +
|
| + void removeRange(int start, int rangeLength) {
|
| + throw new UnsupportedError("Cannot removeRange on immutable List.");
|
| + }
|
| +
|
| + void insertRange(int start, int rangeLength, [int initialValue]) {
|
| + throw new UnsupportedError("Cannot insertRange on immutable List.");
|
| + }
|
| +
|
| + List<int> getRange(int start, int rangeLength) =>
|
| + Lists.getRange(this, start, rangeLength, <int>[]);
|
| +
|
| + // -- end List<int> mixins.
|
|
|
|
|
| /** @domName Uint8ClampedArray.setElements */
|
|
|