OLD | NEW |
1 library html; | 1 library html; |
2 | 2 |
| 3 import 'dart:async'; |
3 import 'dart:collection'; | 4 import 'dart:collection'; |
4 import 'dart:html_common'; | 5 import 'dart:html_common'; |
5 import 'dart:indexed_db'; | 6 import 'dart:indexed_db'; |
6 import 'dart:isolate'; | 7 import 'dart:isolate'; |
7 import 'dart:json'; | 8 import 'dart:json' as json; |
8 import 'dart:math'; | 9 import 'dart:math'; |
9 import 'dart:svg' as svg; | 10 import 'dart:svg' as svg; |
10 import 'dart:web_audio' as web_audio; | 11 import 'dart:web_audio' as web_audio; |
11 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 12 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
12 // for details. All rights reserved. Use of this source code is governed by a | 13 // for details. All rights reserved. Use of this source code is governed by a |
13 // BSD-style license that can be found in the LICENSE file. | 14 // BSD-style license that can be found in the LICENSE file. |
14 | 15 |
15 // DO NOT EDIT | 16 // DO NOT EDIT |
16 // Auto-generated dart:html library. | 17 // Auto-generated dart:html library. |
17 | 18 |
(...skipping 5974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5992 * var items = document.queryAll('.itemClassName'); | 5993 * var items = document.queryAll('.itemClassName'); |
5993 * | 5994 * |
5994 * For details about CSS selector syntax, see the | 5995 * For details about CSS selector syntax, see the |
5995 * [CSS selector specification](http://www.w3.org/TR/css3-selectors/). | 5996 * [CSS selector specification](http://www.w3.org/TR/css3-selectors/). |
5996 */ | 5997 */ |
5997 List<Element> queryAll(String selectors) { | 5998 List<Element> queryAll(String selectors) { |
5998 if (new RegExp("""^\\[name=["'][^'"]+['"]\\]\$""").hasMatch(selectors)) { | 5999 if (new RegExp("""^\\[name=["'][^'"]+['"]\\]\$""").hasMatch(selectors)) { |
5999 final mutableMatches = $dom_getElementsByName( | 6000 final mutableMatches = $dom_getElementsByName( |
6000 selectors.substring(7,selectors.length - 2)); | 6001 selectors.substring(7,selectors.length - 2)); |
6001 int len = mutableMatches.length; | 6002 int len = mutableMatches.length; |
6002 final copyOfMatches = new List<Element>(len); | 6003 final copyOfMatches = new List<Element>.fixedLength(len); |
6003 for (int i = 0; i < len; ++i) { | 6004 for (int i = 0; i < len; ++i) { |
6004 copyOfMatches[i] = mutableMatches[i]; | 6005 copyOfMatches[i] = mutableMatches[i]; |
6005 } | 6006 } |
6006 return new _FrozenElementList._wrap(copyOfMatches); | 6007 return new _FrozenElementList._wrap(copyOfMatches); |
6007 } else if (new RegExp("^[*a-zA-Z0-9]+\$").hasMatch(selectors)) { | 6008 } else if (new RegExp("^[*a-zA-Z0-9]+\$").hasMatch(selectors)) { |
6008 final mutableMatches = $dom_getElementsByTagName(selectors); | 6009 final mutableMatches = $dom_getElementsByTagName(selectors); |
6009 int len = mutableMatches.length; | 6010 int len = mutableMatches.length; |
6010 final copyOfMatches = new List<Element>(len); | 6011 final copyOfMatches = new List<Element>.fixedLength(len); |
6011 for (int i = 0; i < len; ++i) { | 6012 for (int i = 0; i < len; ++i) { |
6012 copyOfMatches[i] = mutableMatches[i]; | 6013 copyOfMatches[i] = mutableMatches[i]; |
6013 } | 6014 } |
6014 return new _FrozenElementList._wrap(copyOfMatches); | 6015 return new _FrozenElementList._wrap(copyOfMatches); |
6015 } else { | 6016 } else { |
6016 return new _FrozenElementList._wrap($dom_querySelectorAll(selectors)); | 6017 return new _FrozenElementList._wrap($dom_querySelectorAll(selectors)); |
6017 } | 6018 } |
6018 } | 6019 } |
6019 } | 6020 } |
6020 | 6021 |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6487 DomMimeType operator[](int index) => JS("DomMimeType", "#[#]", this, index); | 6488 DomMimeType operator[](int index) => JS("DomMimeType", "#[#]", this, index); |
6488 | 6489 |
6489 void operator[]=(int index, DomMimeType value) { | 6490 void operator[]=(int index, DomMimeType value) { |
6490 throw new UnsupportedError("Cannot assign element of immutable List."); | 6491 throw new UnsupportedError("Cannot assign element of immutable List."); |
6491 } | 6492 } |
6492 // -- start List<DomMimeType> mixins. | 6493 // -- start List<DomMimeType> mixins. |
6493 // DomMimeType is the element type. | 6494 // DomMimeType is the element type. |
6494 | 6495 |
6495 // From Iterable<DomMimeType>: | 6496 // From Iterable<DomMimeType>: |
6496 | 6497 |
6497 Iterator<DomMimeType> iterator() { | 6498 Iterator<DomMimeType> get iterator { |
6498 // Note: NodeLists are not fixed size. And most probably length shouldn't | 6499 // Note: NodeLists are not fixed size. And most probably length shouldn't |
6499 // be cached in both iterator _and_ forEach method. For now caching it | 6500 // be cached in both iterator _and_ forEach method. For now caching it |
6500 // for consistency. | 6501 // for consistency. |
6501 return new FixedSizeListIterator<DomMimeType>(this); | 6502 return new FixedSizeListIterator<DomMimeType>(this); |
6502 } | 6503 } |
6503 | 6504 |
6504 // From Collection<DomMimeType>: | |
6505 | |
6506 void add(DomMimeType value) { | |
6507 throw new UnsupportedError("Cannot add to immutable List."); | |
6508 } | |
6509 | |
6510 void addLast(DomMimeType value) { | |
6511 throw new UnsupportedError("Cannot add to immutable List."); | |
6512 } | |
6513 | |
6514 void addAll(Collection<DomMimeType> collection) { | |
6515 throw new UnsupportedError("Cannot add to immutable List."); | |
6516 } | |
6517 | |
6518 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, DomMimeType)) { | 6505 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, DomMimeType)) { |
6519 return Collections.reduce(this, initialValue, combine); | 6506 return Collections.reduce(this, initialValue, combine); |
6520 } | 6507 } |
6521 | 6508 |
6522 bool contains(DomMimeType element) => Collections.contains(this, element); | 6509 bool contains(DomMimeType element) => Collections.contains(this, element); |
6523 | 6510 |
6524 void forEach(void f(DomMimeType element)) => Collections.forEach(this, f); | 6511 void forEach(void f(DomMimeType element)) => Collections.forEach(this, f); |
6525 | 6512 |
6526 Collection map(f(DomMimeType element)) => Collections.map(this, [], f); | 6513 String join([String separator]) => Collections.joinList(this, separator); |
6527 | 6514 |
6528 Collection<DomMimeType> filter(bool f(DomMimeType element)) => | 6515 List mappedBy(f(DomMimeType element)) => new MappedList<DomMimeType, dynamic>(
this, f); |
6529 Collections.filter(this, <DomMimeType>[], f); | 6516 |
| 6517 Iterable<DomMimeType> where(bool f(DomMimeType element)) => new WhereIterable<
DomMimeType>(this, f); |
6530 | 6518 |
6531 bool every(bool f(DomMimeType element)) => Collections.every(this, f); | 6519 bool every(bool f(DomMimeType element)) => Collections.every(this, f); |
6532 | 6520 |
6533 bool some(bool f(DomMimeType element)) => Collections.some(this, f); | 6521 bool any(bool f(DomMimeType element)) => Collections.any(this, f); |
6534 | 6522 |
6535 bool get isEmpty => this.length == 0; | 6523 bool get isEmpty => this.length == 0; |
6536 | 6524 |
| 6525 List<DomMimeType> take(int n) => new ListView<DomMimeType>(this, 0, n); |
| 6526 |
| 6527 Iterable<DomMimeType> takeWhile(bool test(DomMimeType value)) { |
| 6528 return new TakeWhileIterable<DomMimeType>(this, test); |
| 6529 } |
| 6530 |
| 6531 List<DomMimeType> skip(int n) => new ListView<DomMimeType>(this, n, null); |
| 6532 |
| 6533 Iterable<DomMimeType> skipWhile(bool test(DomMimeType value)) { |
| 6534 return new SkipWhileIterable<DomMimeType>(this, test); |
| 6535 } |
| 6536 |
| 6537 DomMimeType firstMatching(bool test(DomMimeType value), { DomMimeType orElse()
}) { |
| 6538 return Collections.firstMatching(this, test, orElse); |
| 6539 } |
| 6540 |
| 6541 DomMimeType lastMatching(bool test(DomMimeType value), {DomMimeType orElse()})
{ |
| 6542 return Collections.lastMatchingInList(this, test, orElse); |
| 6543 } |
| 6544 |
| 6545 DomMimeType singleMatching(bool test(DomMimeType value)) { |
| 6546 return Collections.singleMatching(this, test); |
| 6547 } |
| 6548 |
| 6549 DomMimeType elementAt(int index) { |
| 6550 return this[index]; |
| 6551 } |
| 6552 |
| 6553 // From Collection<DomMimeType>: |
| 6554 |
| 6555 void add(DomMimeType value) { |
| 6556 throw new UnsupportedError("Cannot add to immutable List."); |
| 6557 } |
| 6558 |
| 6559 void addLast(DomMimeType value) { |
| 6560 throw new UnsupportedError("Cannot add to immutable List."); |
| 6561 } |
| 6562 |
| 6563 void addAll(Iterable<DomMimeType> iterable) { |
| 6564 throw new UnsupportedError("Cannot add to immutable List."); |
| 6565 } |
| 6566 |
6537 // From List<DomMimeType>: | 6567 // From List<DomMimeType>: |
6538 void set length(int value) { | 6568 void set length(int value) { |
6539 throw new UnsupportedError("Cannot resize immutable List."); | 6569 throw new UnsupportedError("Cannot resize immutable List."); |
6540 } | 6570 } |
6541 | 6571 |
6542 void clear() { | 6572 void clear() { |
6543 throw new UnsupportedError("Cannot clear immutable List."); | 6573 throw new UnsupportedError("Cannot clear immutable List."); |
6544 } | 6574 } |
6545 | 6575 |
6546 void sort([int compare(DomMimeType a, DomMimeType b)]) { | 6576 void sort([int compare(DomMimeType a, DomMimeType b)]) { |
6547 throw new UnsupportedError("Cannot sort immutable List."); | 6577 throw new UnsupportedError("Cannot sort immutable List."); |
6548 } | 6578 } |
6549 | 6579 |
6550 int indexOf(DomMimeType element, [int start = 0]) => | 6580 int indexOf(DomMimeType element, [int start = 0]) => |
6551 Lists.indexOf(this, element, start, this.length); | 6581 Lists.indexOf(this, element, start, this.length); |
6552 | 6582 |
6553 int lastIndexOf(DomMimeType element, [int start]) { | 6583 int lastIndexOf(DomMimeType element, [int start]) { |
6554 if (start == null) start = length - 1; | 6584 if (start == null) start = length - 1; |
6555 return Lists.lastIndexOf(this, element, start); | 6585 return Lists.lastIndexOf(this, element, start); |
6556 } | 6586 } |
6557 | 6587 |
6558 DomMimeType get first => this[0]; | 6588 DomMimeType get first { |
| 6589 if (this.length > 0) return this[0]; |
| 6590 throw new StateError("No elements"); |
| 6591 } |
6559 | 6592 |
6560 DomMimeType get last => this[length - 1]; | 6593 DomMimeType get last { |
| 6594 if (this.length > 0) return this[this.length - 1]; |
| 6595 throw new StateError("No elements"); |
| 6596 } |
| 6597 |
| 6598 DomMimeType get single { |
| 6599 if (length == 1) return this[0]; |
| 6600 if (length == 0) throw new StateError("No elements"); |
| 6601 throw new StateError("More than one element"); |
| 6602 } |
| 6603 |
| 6604 DomMimeType min([int compare(DomMimeType a, DomMimeType b)]) => _Collections.m
inInList(this, compare); |
| 6605 |
| 6606 DomMimeType max([int compare(DomMimeType a, DomMimeType b)]) => _Collections.m
axInList(this, compare); |
6561 | 6607 |
6562 DomMimeType removeAt(int pos) { | 6608 DomMimeType removeAt(int pos) { |
6563 throw new UnsupportedError("Cannot removeAt on immutable List."); | 6609 throw new UnsupportedError("Cannot removeAt on immutable List."); |
6564 } | 6610 } |
6565 | 6611 |
6566 DomMimeType removeLast() { | 6612 DomMimeType removeLast() { |
6567 throw new UnsupportedError("Cannot removeLast on immutable List."); | 6613 throw new UnsupportedError("Cannot removeLast on immutable List."); |
6568 } | 6614 } |
6569 | 6615 |
6570 void setRange(int start, int rangeLength, List<DomMimeType> from, [int startFr
om]) { | 6616 void setRange(int start, int rangeLength, List<DomMimeType> from, [int startFr
om]) { |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6645 DomPlugin operator[](int index) => JS("DomPlugin", "#[#]", this, index); | 6691 DomPlugin operator[](int index) => JS("DomPlugin", "#[#]", this, index); |
6646 | 6692 |
6647 void operator[]=(int index, DomPlugin value) { | 6693 void operator[]=(int index, DomPlugin value) { |
6648 throw new UnsupportedError("Cannot assign element of immutable List."); | 6694 throw new UnsupportedError("Cannot assign element of immutable List."); |
6649 } | 6695 } |
6650 // -- start List<DomPlugin> mixins. | 6696 // -- start List<DomPlugin> mixins. |
6651 // DomPlugin is the element type. | 6697 // DomPlugin is the element type. |
6652 | 6698 |
6653 // From Iterable<DomPlugin>: | 6699 // From Iterable<DomPlugin>: |
6654 | 6700 |
6655 Iterator<DomPlugin> iterator() { | 6701 Iterator<DomPlugin> get iterator { |
6656 // Note: NodeLists are not fixed size. And most probably length shouldn't | 6702 // Note: NodeLists are not fixed size. And most probably length shouldn't |
6657 // be cached in both iterator _and_ forEach method. For now caching it | 6703 // be cached in both iterator _and_ forEach method. For now caching it |
6658 // for consistency. | 6704 // for consistency. |
6659 return new FixedSizeListIterator<DomPlugin>(this); | 6705 return new FixedSizeListIterator<DomPlugin>(this); |
6660 } | 6706 } |
6661 | 6707 |
6662 // From Collection<DomPlugin>: | |
6663 | |
6664 void add(DomPlugin value) { | |
6665 throw new UnsupportedError("Cannot add to immutable List."); | |
6666 } | |
6667 | |
6668 void addLast(DomPlugin value) { | |
6669 throw new UnsupportedError("Cannot add to immutable List."); | |
6670 } | |
6671 | |
6672 void addAll(Collection<DomPlugin> collection) { | |
6673 throw new UnsupportedError("Cannot add to immutable List."); | |
6674 } | |
6675 | |
6676 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, DomPlugin)) { | 6708 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, DomPlugin)) { |
6677 return Collections.reduce(this, initialValue, combine); | 6709 return Collections.reduce(this, initialValue, combine); |
6678 } | 6710 } |
6679 | 6711 |
6680 bool contains(DomPlugin element) => Collections.contains(this, element); | 6712 bool contains(DomPlugin element) => Collections.contains(this, element); |
6681 | 6713 |
6682 void forEach(void f(DomPlugin element)) => Collections.forEach(this, f); | 6714 void forEach(void f(DomPlugin element)) => Collections.forEach(this, f); |
6683 | 6715 |
6684 Collection map(f(DomPlugin element)) => Collections.map(this, [], f); | 6716 String join([String separator]) => Collections.joinList(this, separator); |
6685 | 6717 |
6686 Collection<DomPlugin> filter(bool f(DomPlugin element)) => | 6718 List mappedBy(f(DomPlugin element)) => new MappedList<DomPlugin, dynamic>(this
, f); |
6687 Collections.filter(this, <DomPlugin>[], f); | 6719 |
| 6720 Iterable<DomPlugin> where(bool f(DomPlugin element)) => new WhereIterable<DomP
lugin>(this, f); |
6688 | 6721 |
6689 bool every(bool f(DomPlugin element)) => Collections.every(this, f); | 6722 bool every(bool f(DomPlugin element)) => Collections.every(this, f); |
6690 | 6723 |
6691 bool some(bool f(DomPlugin element)) => Collections.some(this, f); | 6724 bool any(bool f(DomPlugin element)) => Collections.any(this, f); |
6692 | 6725 |
6693 bool get isEmpty => this.length == 0; | 6726 bool get isEmpty => this.length == 0; |
6694 | 6727 |
| 6728 List<DomPlugin> take(int n) => new ListView<DomPlugin>(this, 0, n); |
| 6729 |
| 6730 Iterable<DomPlugin> takeWhile(bool test(DomPlugin value)) { |
| 6731 return new TakeWhileIterable<DomPlugin>(this, test); |
| 6732 } |
| 6733 |
| 6734 List<DomPlugin> skip(int n) => new ListView<DomPlugin>(this, n, null); |
| 6735 |
| 6736 Iterable<DomPlugin> skipWhile(bool test(DomPlugin value)) { |
| 6737 return new SkipWhileIterable<DomPlugin>(this, test); |
| 6738 } |
| 6739 |
| 6740 DomPlugin firstMatching(bool test(DomPlugin value), { DomPlugin orElse() }) { |
| 6741 return Collections.firstMatching(this, test, orElse); |
| 6742 } |
| 6743 |
| 6744 DomPlugin lastMatching(bool test(DomPlugin value), {DomPlugin orElse()}) { |
| 6745 return Collections.lastMatchingInList(this, test, orElse); |
| 6746 } |
| 6747 |
| 6748 DomPlugin singleMatching(bool test(DomPlugin value)) { |
| 6749 return Collections.singleMatching(this, test); |
| 6750 } |
| 6751 |
| 6752 DomPlugin elementAt(int index) { |
| 6753 return this[index]; |
| 6754 } |
| 6755 |
| 6756 // From Collection<DomPlugin>: |
| 6757 |
| 6758 void add(DomPlugin value) { |
| 6759 throw new UnsupportedError("Cannot add to immutable List."); |
| 6760 } |
| 6761 |
| 6762 void addLast(DomPlugin value) { |
| 6763 throw new UnsupportedError("Cannot add to immutable List."); |
| 6764 } |
| 6765 |
| 6766 void addAll(Iterable<DomPlugin> iterable) { |
| 6767 throw new UnsupportedError("Cannot add to immutable List."); |
| 6768 } |
| 6769 |
6695 // From List<DomPlugin>: | 6770 // From List<DomPlugin>: |
6696 void set length(int value) { | 6771 void set length(int value) { |
6697 throw new UnsupportedError("Cannot resize immutable List."); | 6772 throw new UnsupportedError("Cannot resize immutable List."); |
6698 } | 6773 } |
6699 | 6774 |
6700 void clear() { | 6775 void clear() { |
6701 throw new UnsupportedError("Cannot clear immutable List."); | 6776 throw new UnsupportedError("Cannot clear immutable List."); |
6702 } | 6777 } |
6703 | 6778 |
6704 void sort([int compare(DomPlugin a, DomPlugin b)]) { | 6779 void sort([int compare(DomPlugin a, DomPlugin b)]) { |
6705 throw new UnsupportedError("Cannot sort immutable List."); | 6780 throw new UnsupportedError("Cannot sort immutable List."); |
6706 } | 6781 } |
6707 | 6782 |
6708 int indexOf(DomPlugin element, [int start = 0]) => | 6783 int indexOf(DomPlugin element, [int start = 0]) => |
6709 Lists.indexOf(this, element, start, this.length); | 6784 Lists.indexOf(this, element, start, this.length); |
6710 | 6785 |
6711 int lastIndexOf(DomPlugin element, [int start]) { | 6786 int lastIndexOf(DomPlugin element, [int start]) { |
6712 if (start == null) start = length - 1; | 6787 if (start == null) start = length - 1; |
6713 return Lists.lastIndexOf(this, element, start); | 6788 return Lists.lastIndexOf(this, element, start); |
6714 } | 6789 } |
6715 | 6790 |
6716 DomPlugin get first => this[0]; | 6791 DomPlugin get first { |
| 6792 if (this.length > 0) return this[0]; |
| 6793 throw new StateError("No elements"); |
| 6794 } |
6717 | 6795 |
6718 DomPlugin get last => this[length - 1]; | 6796 DomPlugin get last { |
| 6797 if (this.length > 0) return this[this.length - 1]; |
| 6798 throw new StateError("No elements"); |
| 6799 } |
| 6800 |
| 6801 DomPlugin get single { |
| 6802 if (length == 1) return this[0]; |
| 6803 if (length == 0) throw new StateError("No elements"); |
| 6804 throw new StateError("More than one element"); |
| 6805 } |
| 6806 |
| 6807 DomPlugin min([int compare(DomPlugin a, DomPlugin b)]) => _Collections.minInLi
st(this, compare); |
| 6808 |
| 6809 DomPlugin max([int compare(DomPlugin a, DomPlugin b)]) => _Collections.maxInLi
st(this, compare); |
6719 | 6810 |
6720 DomPlugin removeAt(int pos) { | 6811 DomPlugin removeAt(int pos) { |
6721 throw new UnsupportedError("Cannot removeAt on immutable List."); | 6812 throw new UnsupportedError("Cannot removeAt on immutable List."); |
6722 } | 6813 } |
6723 | 6814 |
6724 DomPlugin removeLast() { | 6815 DomPlugin removeLast() { |
6725 throw new UnsupportedError("Cannot removeLast on immutable List."); | 6816 throw new UnsupportedError("Cannot removeLast on immutable List."); |
6726 } | 6817 } |
6727 | 6818 |
6728 void setRange(int start, int rangeLength, List<DomPlugin> from, [int startFrom
]) { | 6819 void setRange(int start, int rangeLength, List<DomPlugin> from, [int startFrom
]) { |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6862 String operator[](int index) => JS("String", "#[#]", this, index); | 6953 String operator[](int index) => JS("String", "#[#]", this, index); |
6863 | 6954 |
6864 void operator[]=(int index, String value) { | 6955 void operator[]=(int index, String value) { |
6865 throw new UnsupportedError("Cannot assign element of immutable List."); | 6956 throw new UnsupportedError("Cannot assign element of immutable List."); |
6866 } | 6957 } |
6867 // -- start List<String> mixins. | 6958 // -- start List<String> mixins. |
6868 // String is the element type. | 6959 // String is the element type. |
6869 | 6960 |
6870 // From Iterable<String>: | 6961 // From Iterable<String>: |
6871 | 6962 |
6872 Iterator<String> iterator() { | 6963 Iterator<String> get iterator { |
6873 // Note: NodeLists are not fixed size. And most probably length shouldn't | 6964 // Note: NodeLists are not fixed size. And most probably length shouldn't |
6874 // be cached in both iterator _and_ forEach method. For now caching it | 6965 // be cached in both iterator _and_ forEach method. For now caching it |
6875 // for consistency. | 6966 // for consistency. |
6876 return new FixedSizeListIterator<String>(this); | 6967 return new FixedSizeListIterator<String>(this); |
6877 } | 6968 } |
6878 | 6969 |
6879 // From Collection<String>: | |
6880 | |
6881 void add(String value) { | |
6882 throw new UnsupportedError("Cannot add to immutable List."); | |
6883 } | |
6884 | |
6885 void addLast(String value) { | |
6886 throw new UnsupportedError("Cannot add to immutable List."); | |
6887 } | |
6888 | |
6889 void addAll(Collection<String> collection) { | |
6890 throw new UnsupportedError("Cannot add to immutable List."); | |
6891 } | |
6892 | |
6893 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, String)) { | 6970 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, String)) { |
6894 return Collections.reduce(this, initialValue, combine); | 6971 return Collections.reduce(this, initialValue, combine); |
6895 } | 6972 } |
6896 | 6973 |
6897 // contains() defined by IDL. | 6974 // contains() defined by IDL. |
6898 | 6975 |
6899 void forEach(void f(String element)) => Collections.forEach(this, f); | 6976 void forEach(void f(String element)) => Collections.forEach(this, f); |
6900 | 6977 |
6901 Collection map(f(String element)) => Collections.map(this, [], f); | 6978 String join([String separator]) => Collections.joinList(this, separator); |
6902 | 6979 |
6903 Collection<String> filter(bool f(String element)) => | 6980 List mappedBy(f(String element)) => new MappedList<String, dynamic>(this, f); |
6904 Collections.filter(this, <String>[], f); | 6981 |
| 6982 Iterable<String> where(bool f(String element)) => new WhereIterable<String>(th
is, f); |
6905 | 6983 |
6906 bool every(bool f(String element)) => Collections.every(this, f); | 6984 bool every(bool f(String element)) => Collections.every(this, f); |
6907 | 6985 |
6908 bool some(bool f(String element)) => Collections.some(this, f); | 6986 bool any(bool f(String element)) => Collections.any(this, f); |
6909 | 6987 |
6910 bool get isEmpty => this.length == 0; | 6988 bool get isEmpty => this.length == 0; |
6911 | 6989 |
| 6990 List<String> take(int n) => new ListView<String>(this, 0, n); |
| 6991 |
| 6992 Iterable<String> takeWhile(bool test(String value)) { |
| 6993 return new TakeWhileIterable<String>(this, test); |
| 6994 } |
| 6995 |
| 6996 List<String> skip(int n) => new ListView<String>(this, n, null); |
| 6997 |
| 6998 Iterable<String> skipWhile(bool test(String value)) { |
| 6999 return new SkipWhileIterable<String>(this, test); |
| 7000 } |
| 7001 |
| 7002 String firstMatching(bool test(String value), { String orElse() }) { |
| 7003 return Collections.firstMatching(this, test, orElse); |
| 7004 } |
| 7005 |
| 7006 String lastMatching(bool test(String value), {String orElse()}) { |
| 7007 return Collections.lastMatchingInList(this, test, orElse); |
| 7008 } |
| 7009 |
| 7010 String singleMatching(bool test(String value)) { |
| 7011 return Collections.singleMatching(this, test); |
| 7012 } |
| 7013 |
| 7014 String elementAt(int index) { |
| 7015 return this[index]; |
| 7016 } |
| 7017 |
| 7018 // From Collection<String>: |
| 7019 |
| 7020 void add(String value) { |
| 7021 throw new UnsupportedError("Cannot add to immutable List."); |
| 7022 } |
| 7023 |
| 7024 void addLast(String value) { |
| 7025 throw new UnsupportedError("Cannot add to immutable List."); |
| 7026 } |
| 7027 |
| 7028 void addAll(Iterable<String> iterable) { |
| 7029 throw new UnsupportedError("Cannot add to immutable List."); |
| 7030 } |
| 7031 |
6912 // From List<String>: | 7032 // From List<String>: |
6913 void set length(int value) { | 7033 void set length(int value) { |
6914 throw new UnsupportedError("Cannot resize immutable List."); | 7034 throw new UnsupportedError("Cannot resize immutable List."); |
6915 } | 7035 } |
6916 | 7036 |
6917 void clear() { | 7037 void clear() { |
6918 throw new UnsupportedError("Cannot clear immutable List."); | 7038 throw new UnsupportedError("Cannot clear immutable List."); |
6919 } | 7039 } |
6920 | 7040 |
6921 void sort([int compare(String a, String b)]) { | 7041 void sort([int compare(String a, String b)]) { |
6922 throw new UnsupportedError("Cannot sort immutable List."); | 7042 throw new UnsupportedError("Cannot sort immutable List."); |
6923 } | 7043 } |
6924 | 7044 |
6925 int indexOf(String element, [int start = 0]) => | 7045 int indexOf(String element, [int start = 0]) => |
6926 Lists.indexOf(this, element, start, this.length); | 7046 Lists.indexOf(this, element, start, this.length); |
6927 | 7047 |
6928 int lastIndexOf(String element, [int start]) { | 7048 int lastIndexOf(String element, [int start]) { |
6929 if (start == null) start = length - 1; | 7049 if (start == null) start = length - 1; |
6930 return Lists.lastIndexOf(this, element, start); | 7050 return Lists.lastIndexOf(this, element, start); |
6931 } | 7051 } |
6932 | 7052 |
6933 String get first => this[0]; | 7053 String get first { |
| 7054 if (this.length > 0) return this[0]; |
| 7055 throw new StateError("No elements"); |
| 7056 } |
6934 | 7057 |
6935 String get last => this[length - 1]; | 7058 String get last { |
| 7059 if (this.length > 0) return this[this.length - 1]; |
| 7060 throw new StateError("No elements"); |
| 7061 } |
| 7062 |
| 7063 String get single { |
| 7064 if (length == 1) return this[0]; |
| 7065 if (length == 0) throw new StateError("No elements"); |
| 7066 throw new StateError("More than one element"); |
| 7067 } |
| 7068 |
| 7069 String min([int compare(String a, String b)]) => _Collections.minInList(this,
compare); |
| 7070 |
| 7071 String max([int compare(String a, String b)]) => _Collections.maxInList(this,
compare); |
6936 | 7072 |
6937 String removeAt(int pos) { | 7073 String removeAt(int pos) { |
6938 throw new UnsupportedError("Cannot removeAt on immutable List."); | 7074 throw new UnsupportedError("Cannot removeAt on immutable List."); |
6939 } | 7075 } |
6940 | 7076 |
6941 String removeLast() { | 7077 String removeLast() { |
6942 throw new UnsupportedError("Cannot removeLast on immutable List."); | 7078 throw new UnsupportedError("Cannot removeLast on immutable List."); |
6943 } | 7079 } |
6944 | 7080 |
6945 void setRange(int start, int rangeLength, List<String> from, [int startFrom])
{ | 7081 void setRange(int start, int rangeLength, List<String> from, [int startFrom])
{ |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7005 // functionality. | 7141 // functionality. |
7006 class _ChildrenElementList implements List { | 7142 class _ChildrenElementList implements List { |
7007 // Raw Element. | 7143 // Raw Element. |
7008 final Element _element; | 7144 final Element _element; |
7009 final HtmlCollection _childElements; | 7145 final HtmlCollection _childElements; |
7010 | 7146 |
7011 _ChildrenElementList._wrap(Element element) | 7147 _ChildrenElementList._wrap(Element element) |
7012 : _childElements = element.$dom_children, | 7148 : _childElements = element.$dom_children, |
7013 _element = element; | 7149 _element = element; |
7014 | 7150 |
7015 List<Element> _toList() { | 7151 List<Element> toList() { |
7016 final output = new List(_childElements.length); | 7152 final output = new List<Element>.fixedLength(_childElements.length); |
7017 for (int i = 0, len = _childElements.length; i < len; i++) { | 7153 for (int i = 0, len = _childElements.length; i < len; i++) { |
7018 output[i] = _childElements[i]; | 7154 output[i] = _childElements[i]; |
7019 } | 7155 } |
7020 return output; | 7156 return output; |
7021 } | 7157 } |
7022 | 7158 |
| 7159 Set<Element> toSet() { |
| 7160 final output = new Set<Element>(_childElements.length); |
| 7161 for (int i = 0, len = _childElements.length; i < len; i++) { |
| 7162 output.add(_childElements[i]); |
| 7163 } |
| 7164 return output; |
| 7165 } |
| 7166 |
7023 bool contains(Element element) => _childElements.contains(element); | 7167 bool contains(Element element) => _childElements.contains(element); |
7024 | 7168 |
7025 void forEach(void f(Element element)) { | 7169 void forEach(void f(Element element)) { |
7026 for (Element element in _childElements) { | 7170 for (Element element in _childElements) { |
7027 f(element); | 7171 f(element); |
7028 } | 7172 } |
7029 } | 7173 } |
7030 | 7174 |
7031 List<Element> filter(bool f(Element element)) { | |
7032 final output = []; | |
7033 forEach((Element element) { | |
7034 if (f(element)) { | |
7035 output.add(element); | |
7036 } | |
7037 }); | |
7038 return new _FrozenElementList._wrap(output); | |
7039 } | |
7040 | |
7041 bool every(bool f(Element element)) { | 7175 bool every(bool f(Element element)) { |
7042 for (Element element in this) { | 7176 for (Element element in this) { |
7043 if (!f(element)) { | 7177 if (!f(element)) { |
7044 return false; | 7178 return false; |
7045 } | 7179 } |
7046 }; | 7180 } |
7047 return true; | 7181 return true; |
7048 } | 7182 } |
7049 | 7183 |
7050 bool some(bool f(Element element)) { | 7184 bool any(bool f(Element element)) { |
7051 for (Element element in this) { | 7185 for (Element element in this) { |
7052 if (f(element)) { | 7186 if (f(element)) { |
7053 return true; | 7187 return true; |
7054 } | 7188 } |
7055 }; | 7189 } |
7056 return false; | 7190 return false; |
7057 } | 7191 } |
7058 | 7192 |
7059 Collection map(f(Element element)) { | 7193 String join([String separator]) { |
7060 final out = []; | 7194 return Collections.joinList(this, separator); |
7061 for (Element el in this) { | |
7062 out.add(f(el)); | |
7063 } | |
7064 return out; | |
7065 } | 7195 } |
7066 | 7196 |
| 7197 List mappedBy(f(Element element)) { |
| 7198 return new MappedList<Element, dynamic>(this, f); |
| 7199 } |
| 7200 |
| 7201 Iterable<Element> where(bool f(Element element)) |
| 7202 => new WhereIterable<Element>(this, f); |
| 7203 |
7067 bool get isEmpty { | 7204 bool get isEmpty { |
7068 return _element.$dom_firstElementChild == null; | 7205 return _element.$dom_firstElementChild == null; |
7069 } | 7206 } |
7070 | 7207 |
| 7208 List<Element> take(int n) { |
| 7209 return new ListView<Element>(this, 0, n); |
| 7210 } |
| 7211 |
| 7212 Iterable<Element> takeWhile(bool test(Element value)) { |
| 7213 return new TakeWhileIterable<Element>(this, test); |
| 7214 } |
| 7215 |
| 7216 List<Element> skip(int n) { |
| 7217 return new ListView<Element>(this, n, null); |
| 7218 } |
| 7219 |
| 7220 Iterable<Element> skipWhile(bool test(Element value)) { |
| 7221 return new SkipWhileIterable<Element>(this, test); |
| 7222 } |
| 7223 |
| 7224 Element firstMatching(bool test(Element value), {Element orElse()}) { |
| 7225 return Collections.firstMatching(this, test, orElse); |
| 7226 } |
| 7227 |
| 7228 Element lastMatching(bool test(Element value), {Element orElse()}) { |
| 7229 return Collections.lastMatchingInList(this, test, orElse); |
| 7230 } |
| 7231 |
| 7232 Element singleMatching(bool test(Element value)) { |
| 7233 return Collections.singleMatching(this, test); |
| 7234 } |
| 7235 |
| 7236 Element elementAt(int index) { |
| 7237 return this[index]; |
| 7238 } |
| 7239 |
7071 int get length { | 7240 int get length { |
7072 return _childElements.length; | 7241 return _childElements.length; |
7073 } | 7242 } |
7074 | 7243 |
7075 Element operator [](int index) { | 7244 Element operator [](int index) { |
7076 return _childElements[index]; | 7245 return _childElements[index]; |
7077 } | 7246 } |
7078 | 7247 |
7079 void operator []=(int index, Element value) { | 7248 void operator []=(int index, Element value) { |
7080 _element.$dom_replaceChild(value, _childElements[index]); | 7249 _element.$dom_replaceChild(value, _childElements[index]); |
7081 } | 7250 } |
7082 | 7251 |
7083 void set length(int newLength) { | 7252 void set length(int newLength) { |
7084 // TODO(jacobr): remove children when length is reduced. | 7253 // TODO(jacobr): remove children when length is reduced. |
7085 throw new UnsupportedError(''); | 7254 throw new UnsupportedError(''); |
7086 } | 7255 } |
7087 | 7256 |
7088 Element add(Element value) { | 7257 Element add(Element value) { |
7089 _element.$dom_appendChild(value); | 7258 _element.$dom_appendChild(value); |
7090 return value; | 7259 return value; |
7091 } | 7260 } |
7092 | 7261 |
7093 Element addLast(Element value) => add(value); | 7262 Element addLast(Element value) => add(value); |
7094 | 7263 |
7095 Iterator<Element> iterator() => _toList().iterator(); | 7264 Iterator<Element> get iterator => toList().iterator; |
7096 | 7265 |
7097 void addAll(Collection<Element> collection) { | 7266 void addAll(Iterable<Element> iterable) { |
7098 for (Element element in collection) { | 7267 for (Element element in iterable) { |
7099 _element.$dom_appendChild(element); | 7268 _element.$dom_appendChild(element); |
7100 } | 7269 } |
7101 } | 7270 } |
7102 | 7271 |
7103 void sort([int compare(Element a, Element b)]) { | 7272 void sort([int compare(Element a, Element b)]) { |
7104 throw new UnsupportedError('TODO(jacobr): should we impl?'); | 7273 throw new UnsupportedError('TODO(jacobr): should we impl?'); |
7105 } | 7274 } |
7106 | 7275 |
7107 dynamic reduce(dynamic initialValue, | 7276 dynamic reduce(dynamic initialValue, |
7108 dynamic combine(dynamic previousValue, Element element)) { | 7277 dynamic combine(dynamic previousValue, Element element)) { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7149 | 7318 |
7150 Element removeLast() { | 7319 Element removeLast() { |
7151 final result = this.last; | 7320 final result = this.last; |
7152 if (result != null) { | 7321 if (result != null) { |
7153 _element.$dom_removeChild(result); | 7322 _element.$dom_removeChild(result); |
7154 } | 7323 } |
7155 return result; | 7324 return result; |
7156 } | 7325 } |
7157 | 7326 |
7158 Element get first { | 7327 Element get first { |
7159 return _element.$dom_firstElementChild; | 7328 Element result = _element.$dom_firstElementChild; |
| 7329 if (result == null) throw new StateError("No elements"); |
| 7330 return result; |
7160 } | 7331 } |
7161 | 7332 |
7162 | 7333 |
7163 Element get last { | 7334 Element get last { |
7164 return _element.$dom_lastElementChild; | 7335 Element result = _element.$dom_lastElementChild; |
| 7336 if (result == null) throw new StateError("No elements"); |
| 7337 return result; |
| 7338 } |
| 7339 |
| 7340 Element get single { |
| 7341 if (length > 1) throw new StateError("More than one element"); |
| 7342 return first; |
| 7343 } |
| 7344 |
| 7345 Element min([int compare(Element a, Element b)]) { |
| 7346 return _Collections.minInList(this, compare); |
| 7347 } |
| 7348 |
| 7349 Element max([int compare(Element a, Element b)]) { |
| 7350 return _Collections.maxInList(this, compare); |
7165 } | 7351 } |
7166 } | 7352 } |
7167 | 7353 |
7168 // TODO(jacobr): this is an inefficient implementation but it is hard to see | 7354 // TODO(jacobr): this is an inefficient implementation but it is hard to see |
7169 // a better option given that we cannot quite force NodeList to be an | 7355 // a better option given that we cannot quite force NodeList to be an |
7170 // ElementList as there are valid cases where a NodeList JavaScript object | 7356 // ElementList as there are valid cases where a NodeList JavaScript object |
7171 // contains Node objects that are not Elements. | 7357 // contains Node objects that are not Elements. |
7172 class _FrozenElementList implements List { | 7358 class _FrozenElementList implements List { |
7173 final List<Node> _nodeList; | 7359 final List<Node> _nodeList; |
7174 | 7360 |
7175 _FrozenElementList._wrap(this._nodeList); | 7361 _FrozenElementList._wrap(this._nodeList); |
7176 | 7362 |
7177 bool contains(Element element) { | 7363 bool contains(Element element) { |
7178 for (Element el in this) { | 7364 for (Element el in this) { |
7179 if (el == element) return true; | 7365 if (el == element) return true; |
7180 } | 7366 } |
7181 return false; | 7367 return false; |
7182 } | 7368 } |
7183 | 7369 |
7184 void forEach(void f(Element element)) { | 7370 void forEach(void f(Element element)) { |
7185 for (Element el in this) { | 7371 for (Element el in this) { |
7186 f(el); | 7372 f(el); |
7187 } | 7373 } |
7188 } | 7374 } |
7189 | 7375 |
7190 Collection map(f(Element element)) { | 7376 String join([String separator]) { |
7191 final out = []; | 7377 return Collections.joinList(this, separator); |
7192 for (Element el in this) { | |
7193 out.add(f(el)); | |
7194 } | |
7195 return out; | |
7196 } | 7378 } |
7197 | 7379 |
7198 List<Element> filter(bool f(Element element)) { | 7380 List mappedBy(f(Element element)) { |
7199 final out = []; | 7381 return new MappedList<Element, dynamic>(this, f); |
7200 for (Element el in this) { | |
7201 if (f(el)) out.add(el); | |
7202 } | |
7203 return out; | |
7204 } | 7382 } |
7205 | 7383 |
| 7384 Iterable<Element> where(bool f(Element element)) |
| 7385 => new WhereIterable<Element>(this, f); |
| 7386 |
7206 bool every(bool f(Element element)) { | 7387 bool every(bool f(Element element)) { |
7207 for(Element element in this) { | 7388 for(Element element in this) { |
7208 if (!f(element)) { | 7389 if (!f(element)) { |
7209 return false; | 7390 return false; |
7210 } | 7391 } |
7211 }; | 7392 }; |
7212 return true; | 7393 return true; |
7213 } | 7394 } |
7214 | 7395 |
7215 bool some(bool f(Element element)) { | 7396 bool any(bool f(Element element)) { |
7216 for(Element element in this) { | 7397 for(Element element in this) { |
7217 if (f(element)) { | 7398 if (f(element)) { |
7218 return true; | 7399 return true; |
7219 } | 7400 } |
7220 }; | 7401 }; |
7221 return false; | 7402 return false; |
7222 } | 7403 } |
7223 | 7404 |
| 7405 List<Element> take(int n) { |
| 7406 return new ListView<Element>(this, 0, n); |
| 7407 } |
| 7408 |
| 7409 Iterable<Element> takeWhile(bool test(T value)) { |
| 7410 return new TakeWhileIterable<Element>(this, test); |
| 7411 } |
| 7412 |
| 7413 List<Element> skip(int n) { |
| 7414 return new ListView<Element>(this, n, null); |
| 7415 } |
| 7416 |
| 7417 Iterable<Element> skipWhile(bool test(T value)) { |
| 7418 return new SkipWhileIterable<Element>(this, test); |
| 7419 } |
| 7420 |
| 7421 Element firstMatching(bool test(Element value), {Element orElse()}) { |
| 7422 return Collections.firstMatching(this, test, orElse); |
| 7423 } |
| 7424 |
| 7425 Element lastMatching(bool test(Element value), {Element orElse()}) { |
| 7426 return Collections.lastMatchingInList(this, test, orElse); |
| 7427 } |
| 7428 |
| 7429 Element singleMatching(bool test(Element value)) { |
| 7430 return Collections.singleMatching(this, test); |
| 7431 } |
| 7432 |
| 7433 Element elementAt(int index) { |
| 7434 return this[index]; |
| 7435 } |
| 7436 |
7224 bool get isEmpty => _nodeList.isEmpty; | 7437 bool get isEmpty => _nodeList.isEmpty; |
7225 | 7438 |
7226 int get length => _nodeList.length; | 7439 int get length => _nodeList.length; |
7227 | 7440 |
7228 Element operator [](int index) => _nodeList[index]; | 7441 Element operator [](int index) => _nodeList[index]; |
7229 | 7442 |
7230 void operator []=(int index, Element value) { | 7443 void operator []=(int index, Element value) { |
7231 throw new UnsupportedError(''); | 7444 throw new UnsupportedError(''); |
7232 } | 7445 } |
7233 | 7446 |
7234 void set length(int newLength) { | 7447 void set length(int newLength) { |
7235 _nodeList.length = newLength; | 7448 _nodeList.length = newLength; |
7236 } | 7449 } |
7237 | 7450 |
7238 void add(Element value) { | 7451 void add(Element value) { |
7239 throw new UnsupportedError(''); | 7452 throw new UnsupportedError(''); |
7240 } | 7453 } |
7241 | 7454 |
7242 void addLast(Element value) { | 7455 void addLast(Element value) { |
7243 throw new UnsupportedError(''); | 7456 throw new UnsupportedError(''); |
7244 } | 7457 } |
7245 | 7458 |
7246 Iterator<Element> iterator() => new _FrozenElementListIterator(this); | 7459 Iterator<Element> get iterator => new _FrozenElementListIterator(this); |
7247 | 7460 |
7248 void addAll(Collection<Element> collection) { | 7461 void addAll(Iterable<Element> iterable) { |
7249 throw new UnsupportedError(''); | 7462 throw new UnsupportedError(''); |
7250 } | 7463 } |
7251 | 7464 |
7252 void sort([int compare(Element a, Element b)]) { | 7465 void sort([int compare(Element a, Element b)]) { |
7253 throw new UnsupportedError(''); | 7466 throw new UnsupportedError(''); |
7254 } | 7467 } |
7255 | 7468 |
7256 dynamic reduce(dynamic initialValue, | 7469 dynamic reduce(dynamic initialValue, |
7257 dynamic combine(dynamic previousValue, Element element)) { | 7470 dynamic combine(dynamic previousValue, Element element)) { |
7258 return Collections.reduce(this, initialValue, combine); | 7471 return Collections.reduce(this, initialValue, combine); |
(...skipping 28 matching lines...) Expand all Loading... |
7287 throw new UnsupportedError(''); | 7500 throw new UnsupportedError(''); |
7288 } | 7501 } |
7289 | 7502 |
7290 Element removeLast() { | 7503 Element removeLast() { |
7291 throw new UnsupportedError(''); | 7504 throw new UnsupportedError(''); |
7292 } | 7505 } |
7293 | 7506 |
7294 Element get first => _nodeList.first; | 7507 Element get first => _nodeList.first; |
7295 | 7508 |
7296 Element get last => _nodeList.last; | 7509 Element get last => _nodeList.last; |
| 7510 |
| 7511 Element get single => _nodeList.single; |
| 7512 |
| 7513 Element min([int compare(Element a, Element b)]) { |
| 7514 return _Collections.minInList(this, compare); |
| 7515 } |
| 7516 |
| 7517 Element max([int compare(Element a, Element b)]) { |
| 7518 return _Collections.maxInList(this, compare); |
| 7519 } |
7297 } | 7520 } |
7298 | 7521 |
7299 class _FrozenElementListIterator implements Iterator<Element> { | 7522 class _FrozenElementListIterator implements Iterator<Element> { |
7300 final _FrozenElementList _list; | 7523 final _FrozenElementList _list; |
7301 int _index = 0; | 7524 int _index = 0; |
7302 | 7525 |
7303 _FrozenElementListIterator(this._list); | 7526 _FrozenElementListIterator(this._list); |
7304 | 7527 |
7305 /** | 7528 /** |
7306 * Gets the next element in the iteration. Throws a | 7529 * Moves to the next element. Returns true if the iterator is positioned |
7307 * [StateError("No more elements")] if no element is left. | 7530 * at an element. Returns false if it is positioned after the last element. |
7308 */ | 7531 */ |
7309 Element next() { | 7532 bool moveNext() { |
7310 if (!hasNext) { | 7533 int nextIndex = _index + 1; |
7311 throw new StateError("No more elements"); | 7534 if (nextIndex < _list.length) { |
| 7535 _current = _list[nextIndex]; |
| 7536 _index = nextIndex; |
| 7537 return true; |
7312 } | 7538 } |
7313 | 7539 _index = _list.length; |
7314 return _list[_index++]; | 7540 _current = null; |
| 7541 return false; |
7315 } | 7542 } |
7316 | 7543 |
7317 /** | 7544 /** |
7318 * Returns whether the [Iterator] has elements left. | 7545 * Returns the element the [Iterator] is positioned at. |
| 7546 * |
| 7547 * Return [:null:] if the iterator is positioned before the first, or |
| 7548 * after the last element. |
7319 */ | 7549 */ |
7320 bool get hasNext => _index < _list.length; | 7550 E get current => _current; |
7321 } | 7551 } |
7322 | 7552 |
7323 class _ElementCssClassSet extends CssClassSet { | 7553 class _ElementCssClassSet extends CssClassSet { |
7324 | 7554 |
7325 final Element _element; | 7555 final Element _element; |
7326 | 7556 |
7327 _ElementCssClassSet(this._element); | 7557 _ElementCssClassSet(this._element); |
7328 | 7558 |
7329 Set<String> readClasses() { | 7559 Set<String> readClasses() { |
7330 var s = new Set<String>(); | 7560 var s = new Set<String>(); |
7331 var classname = _element.$dom_className; | 7561 var classname = _element.$dom_className; |
7332 | 7562 |
7333 for (String name in classname.split(' ')) { | 7563 for (String name in classname.split(' ')) { |
7334 String trimmed = name.trim(); | 7564 String trimmed = name.trim(); |
7335 if (!trimmed.isEmpty) { | 7565 if (!trimmed.isEmpty) { |
7336 s.add(trimmed); | 7566 s.add(trimmed); |
7337 } | 7567 } |
7338 } | 7568 } |
7339 return s; | 7569 return s; |
7340 } | 7570 } |
7341 | 7571 |
7342 void writeClasses(Set<String> s) { | 7572 void writeClasses(Set<String> s) { |
7343 List list = new List.from(s); | 7573 List list = new List.from(s); |
7344 _element.$dom_className = Strings.join(list, ' '); | 7574 _element.$dom_className = s.join(' '); |
7345 } | 7575 } |
7346 } | 7576 } |
7347 | 7577 |
7348 /** | 7578 /** |
7349 * An abstract class, which all HTML elements extend. | 7579 * An abstract class, which all HTML elements extend. |
7350 */ | 7580 */ |
7351 abstract class Element extends Node implements ElementTraversal native "*Element
" { | 7581 abstract class Element extends Node implements ElementTraversal native "*Element
" { |
7352 | 7582 |
7353 /** | 7583 /** |
7354 * Creates an HTML element from a valid fragment of HTML. | 7584 * Creates an HTML element from a valid fragment of HTML. |
(...skipping 1485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8840 File operator[](int index) => JS("File", "#[#]", this, index); | 9070 File operator[](int index) => JS("File", "#[#]", this, index); |
8841 | 9071 |
8842 void operator[]=(int index, File value) { | 9072 void operator[]=(int index, File value) { |
8843 throw new UnsupportedError("Cannot assign element of immutable List."); | 9073 throw new UnsupportedError("Cannot assign element of immutable List."); |
8844 } | 9074 } |
8845 // -- start List<File> mixins. | 9075 // -- start List<File> mixins. |
8846 // File is the element type. | 9076 // File is the element type. |
8847 | 9077 |
8848 // From Iterable<File>: | 9078 // From Iterable<File>: |
8849 | 9079 |
8850 Iterator<File> iterator() { | 9080 Iterator<File> get iterator { |
8851 // Note: NodeLists are not fixed size. And most probably length shouldn't | 9081 // Note: NodeLists are not fixed size. And most probably length shouldn't |
8852 // be cached in both iterator _and_ forEach method. For now caching it | 9082 // be cached in both iterator _and_ forEach method. For now caching it |
8853 // for consistency. | 9083 // for consistency. |
8854 return new FixedSizeListIterator<File>(this); | 9084 return new FixedSizeListIterator<File>(this); |
8855 } | 9085 } |
8856 | 9086 |
8857 // From Collection<File>: | |
8858 | |
8859 void add(File value) { | |
8860 throw new UnsupportedError("Cannot add to immutable List."); | |
8861 } | |
8862 | |
8863 void addLast(File value) { | |
8864 throw new UnsupportedError("Cannot add to immutable List."); | |
8865 } | |
8866 | |
8867 void addAll(Collection<File> collection) { | |
8868 throw new UnsupportedError("Cannot add to immutable List."); | |
8869 } | |
8870 | |
8871 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, File)) { | 9087 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, File)) { |
8872 return Collections.reduce(this, initialValue, combine); | 9088 return Collections.reduce(this, initialValue, combine); |
8873 } | 9089 } |
8874 | 9090 |
8875 bool contains(File element) => Collections.contains(this, element); | 9091 bool contains(File element) => Collections.contains(this, element); |
8876 | 9092 |
8877 void forEach(void f(File element)) => Collections.forEach(this, f); | 9093 void forEach(void f(File element)) => Collections.forEach(this, f); |
8878 | 9094 |
8879 Collection map(f(File element)) => Collections.map(this, [], f); | 9095 String join([String separator]) => Collections.joinList(this, separator); |
8880 | 9096 |
8881 Collection<File> filter(bool f(File element)) => | 9097 List mappedBy(f(File element)) => new MappedList<File, dynamic>(this, f); |
8882 Collections.filter(this, <File>[], f); | 9098 |
| 9099 Iterable<File> where(bool f(File element)) => new WhereIterable<File>(this, f)
; |
8883 | 9100 |
8884 bool every(bool f(File element)) => Collections.every(this, f); | 9101 bool every(bool f(File element)) => Collections.every(this, f); |
8885 | 9102 |
8886 bool some(bool f(File element)) => Collections.some(this, f); | 9103 bool any(bool f(File element)) => Collections.any(this, f); |
8887 | 9104 |
8888 bool get isEmpty => this.length == 0; | 9105 bool get isEmpty => this.length == 0; |
8889 | 9106 |
| 9107 List<File> take(int n) => new ListView<File>(this, 0, n); |
| 9108 |
| 9109 Iterable<File> takeWhile(bool test(File value)) { |
| 9110 return new TakeWhileIterable<File>(this, test); |
| 9111 } |
| 9112 |
| 9113 List<File> skip(int n) => new ListView<File>(this, n, null); |
| 9114 |
| 9115 Iterable<File> skipWhile(bool test(File value)) { |
| 9116 return new SkipWhileIterable<File>(this, test); |
| 9117 } |
| 9118 |
| 9119 File firstMatching(bool test(File value), { File orElse() }) { |
| 9120 return Collections.firstMatching(this, test, orElse); |
| 9121 } |
| 9122 |
| 9123 File lastMatching(bool test(File value), {File orElse()}) { |
| 9124 return Collections.lastMatchingInList(this, test, orElse); |
| 9125 } |
| 9126 |
| 9127 File singleMatching(bool test(File value)) { |
| 9128 return Collections.singleMatching(this, test); |
| 9129 } |
| 9130 |
| 9131 File elementAt(int index) { |
| 9132 return this[index]; |
| 9133 } |
| 9134 |
| 9135 // From Collection<File>: |
| 9136 |
| 9137 void add(File value) { |
| 9138 throw new UnsupportedError("Cannot add to immutable List."); |
| 9139 } |
| 9140 |
| 9141 void addLast(File value) { |
| 9142 throw new UnsupportedError("Cannot add to immutable List."); |
| 9143 } |
| 9144 |
| 9145 void addAll(Iterable<File> iterable) { |
| 9146 throw new UnsupportedError("Cannot add to immutable List."); |
| 9147 } |
| 9148 |
8890 // From List<File>: | 9149 // From List<File>: |
8891 void set length(int value) { | 9150 void set length(int value) { |
8892 throw new UnsupportedError("Cannot resize immutable List."); | 9151 throw new UnsupportedError("Cannot resize immutable List."); |
8893 } | 9152 } |
8894 | 9153 |
8895 void clear() { | 9154 void clear() { |
8896 throw new UnsupportedError("Cannot clear immutable List."); | 9155 throw new UnsupportedError("Cannot clear immutable List."); |
8897 } | 9156 } |
8898 | 9157 |
8899 void sort([int compare(File a, File b)]) { | 9158 void sort([int compare(File a, File b)]) { |
8900 throw new UnsupportedError("Cannot sort immutable List."); | 9159 throw new UnsupportedError("Cannot sort immutable List."); |
8901 } | 9160 } |
8902 | 9161 |
8903 int indexOf(File element, [int start = 0]) => | 9162 int indexOf(File element, [int start = 0]) => |
8904 Lists.indexOf(this, element, start, this.length); | 9163 Lists.indexOf(this, element, start, this.length); |
8905 | 9164 |
8906 int lastIndexOf(File element, [int start]) { | 9165 int lastIndexOf(File element, [int start]) { |
8907 if (start == null) start = length - 1; | 9166 if (start == null) start = length - 1; |
8908 return Lists.lastIndexOf(this, element, start); | 9167 return Lists.lastIndexOf(this, element, start); |
8909 } | 9168 } |
8910 | 9169 |
8911 File get first => this[0]; | 9170 File get first { |
| 9171 if (this.length > 0) return this[0]; |
| 9172 throw new StateError("No elements"); |
| 9173 } |
8912 | 9174 |
8913 File get last => this[length - 1]; | 9175 File get last { |
| 9176 if (this.length > 0) return this[this.length - 1]; |
| 9177 throw new StateError("No elements"); |
| 9178 } |
| 9179 |
| 9180 File get single { |
| 9181 if (length == 1) return this[0]; |
| 9182 if (length == 0) throw new StateError("No elements"); |
| 9183 throw new StateError("More than one element"); |
| 9184 } |
| 9185 |
| 9186 File min([int compare(File a, File b)]) => _Collections.minInList(this, compar
e); |
| 9187 |
| 9188 File max([int compare(File a, File b)]) => _Collections.maxInList(this, compar
e); |
8914 | 9189 |
8915 File removeAt(int pos) { | 9190 File removeAt(int pos) { |
8916 throw new UnsupportedError("Cannot removeAt on immutable List."); | 9191 throw new UnsupportedError("Cannot removeAt on immutable List."); |
8917 } | 9192 } |
8918 | 9193 |
8919 File removeLast() { | 9194 File removeLast() { |
8920 throw new UnsupportedError("Cannot removeLast on immutable List."); | 9195 throw new UnsupportedError("Cannot removeLast on immutable List."); |
8921 } | 9196 } |
8922 | 9197 |
8923 void setRange(int start, int rangeLength, List<File> from, [int startFrom]) { | 9198 void setRange(int start, int rangeLength, List<File> from, [int startFrom]) { |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9216 /// @domName Float32Array.length; @docsEditable true | 9491 /// @domName Float32Array.length; @docsEditable true |
9217 int get length => JS("int", "#.length", this); | 9492 int get length => JS("int", "#.length", this); |
9218 | 9493 |
9219 num operator[](int index) => JS("num", "#[#]", this, index); | 9494 num operator[](int index) => JS("num", "#[#]", this, index); |
9220 | 9495 |
9221 void operator[]=(int index, num value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<num> mixins. | 9496 void operator[]=(int index, num value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<num> mixins. |
9222 // num is the element type. | 9497 // num is the element type. |
9223 | 9498 |
9224 // From Iterable<num>: | 9499 // From Iterable<num>: |
9225 | 9500 |
9226 Iterator<num> iterator() { | 9501 Iterator<num> get iterator { |
9227 // Note: NodeLists are not fixed size. And most probably length shouldn't | 9502 // Note: NodeLists are not fixed size. And most probably length shouldn't |
9228 // be cached in both iterator _and_ forEach method. For now caching it | 9503 // be cached in both iterator _and_ forEach method. For now caching it |
9229 // for consistency. | 9504 // for consistency. |
9230 return new FixedSizeListIterator<num>(this); | 9505 return new FixedSizeListIterator<num>(this); |
9231 } | 9506 } |
9232 | 9507 |
9233 // From Collection<num>: | |
9234 | |
9235 void add(num value) { | |
9236 throw new UnsupportedError("Cannot add to immutable List."); | |
9237 } | |
9238 | |
9239 void addLast(num value) { | |
9240 throw new UnsupportedError("Cannot add to immutable List."); | |
9241 } | |
9242 | |
9243 void addAll(Collection<num> collection) { | |
9244 throw new UnsupportedError("Cannot add to immutable List."); | |
9245 } | |
9246 | |
9247 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, num)) { | 9508 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, num)) { |
9248 return Collections.reduce(this, initialValue, combine); | 9509 return Collections.reduce(this, initialValue, combine); |
9249 } | 9510 } |
9250 | 9511 |
9251 bool contains(num element) => Collections.contains(this, element); | 9512 bool contains(num element) => Collections.contains(this, element); |
9252 | 9513 |
9253 void forEach(void f(num element)) => Collections.forEach(this, f); | 9514 void forEach(void f(num element)) => Collections.forEach(this, f); |
9254 | 9515 |
9255 Collection map(f(num element)) => Collections.map(this, [], f); | 9516 String join([String separator]) => Collections.joinList(this, separator); |
9256 | 9517 |
9257 Collection<num> filter(bool f(num element)) => | 9518 List mappedBy(f(num element)) => new MappedList<num, dynamic>(this, f); |
9258 Collections.filter(this, <num>[], f); | 9519 |
| 9520 Iterable<num> where(bool f(num element)) => new WhereIterable<num>(this, f); |
9259 | 9521 |
9260 bool every(bool f(num element)) => Collections.every(this, f); | 9522 bool every(bool f(num element)) => Collections.every(this, f); |
9261 | 9523 |
9262 bool some(bool f(num element)) => Collections.some(this, f); | 9524 bool any(bool f(num element)) => Collections.any(this, f); |
9263 | 9525 |
9264 bool get isEmpty => this.length == 0; | 9526 bool get isEmpty => this.length == 0; |
9265 | 9527 |
| 9528 List<num> take(int n) => new ListView<num>(this, 0, n); |
| 9529 |
| 9530 Iterable<num> takeWhile(bool test(num value)) { |
| 9531 return new TakeWhileIterable<num>(this, test); |
| 9532 } |
| 9533 |
| 9534 List<num> skip(int n) => new ListView<num>(this, n, null); |
| 9535 |
| 9536 Iterable<num> skipWhile(bool test(num value)) { |
| 9537 return new SkipWhileIterable<num>(this, test); |
| 9538 } |
| 9539 |
| 9540 num firstMatching(bool test(num value), { num orElse() }) { |
| 9541 return Collections.firstMatching(this, test, orElse); |
| 9542 } |
| 9543 |
| 9544 num lastMatching(bool test(num value), {num orElse()}) { |
| 9545 return Collections.lastMatchingInList(this, test, orElse); |
| 9546 } |
| 9547 |
| 9548 num singleMatching(bool test(num value)) { |
| 9549 return Collections.singleMatching(this, test); |
| 9550 } |
| 9551 |
| 9552 num elementAt(int index) { |
| 9553 return this[index]; |
| 9554 } |
| 9555 |
| 9556 // From Collection<num>: |
| 9557 |
| 9558 void add(num value) { |
| 9559 throw new UnsupportedError("Cannot add to immutable List."); |
| 9560 } |
| 9561 |
| 9562 void addLast(num value) { |
| 9563 throw new UnsupportedError("Cannot add to immutable List."); |
| 9564 } |
| 9565 |
| 9566 void addAll(Iterable<num> iterable) { |
| 9567 throw new UnsupportedError("Cannot add to immutable List."); |
| 9568 } |
| 9569 |
9266 // From List<num>: | 9570 // From List<num>: |
9267 void set length(int value) { | 9571 void set length(int value) { |
9268 throw new UnsupportedError("Cannot resize immutable List."); | 9572 throw new UnsupportedError("Cannot resize immutable List."); |
9269 } | 9573 } |
9270 | 9574 |
9271 void clear() { | 9575 void clear() { |
9272 throw new UnsupportedError("Cannot clear immutable List."); | 9576 throw new UnsupportedError("Cannot clear immutable List."); |
9273 } | 9577 } |
9274 | 9578 |
9275 void sort([int compare(num a, num b)]) { | 9579 void sort([int compare(num a, num b)]) { |
9276 throw new UnsupportedError("Cannot sort immutable List."); | 9580 throw new UnsupportedError("Cannot sort immutable List."); |
9277 } | 9581 } |
9278 | 9582 |
9279 int indexOf(num element, [int start = 0]) => | 9583 int indexOf(num element, [int start = 0]) => |
9280 Lists.indexOf(this, element, start, this.length); | 9584 Lists.indexOf(this, element, start, this.length); |
9281 | 9585 |
9282 int lastIndexOf(num element, [int start]) { | 9586 int lastIndexOf(num element, [int start]) { |
9283 if (start == null) start = length - 1; | 9587 if (start == null) start = length - 1; |
9284 return Lists.lastIndexOf(this, element, start); | 9588 return Lists.lastIndexOf(this, element, start); |
9285 } | 9589 } |
9286 | 9590 |
9287 num get first => this[0]; | 9591 num get first { |
| 9592 if (this.length > 0) return this[0]; |
| 9593 throw new StateError("No elements"); |
| 9594 } |
9288 | 9595 |
9289 num get last => this[length - 1]; | 9596 num get last { |
| 9597 if (this.length > 0) return this[this.length - 1]; |
| 9598 throw new StateError("No elements"); |
| 9599 } |
| 9600 |
| 9601 num get single { |
| 9602 if (length == 1) return this[0]; |
| 9603 if (length == 0) throw new StateError("No elements"); |
| 9604 throw new StateError("More than one element"); |
| 9605 } |
| 9606 |
| 9607 num min([int compare(num a, num b)]) => _Collections.minInList(this, compare); |
| 9608 |
| 9609 num max([int compare(num a, num b)]) => _Collections.maxInList(this, compare); |
9290 | 9610 |
9291 num removeAt(int pos) { | 9611 num removeAt(int pos) { |
9292 throw new UnsupportedError("Cannot removeAt on immutable List."); | 9612 throw new UnsupportedError("Cannot removeAt on immutable List."); |
9293 } | 9613 } |
9294 | 9614 |
9295 num removeLast() { | 9615 num removeLast() { |
9296 throw new UnsupportedError("Cannot removeLast on immutable List."); | 9616 throw new UnsupportedError("Cannot removeLast on immutable List."); |
9297 } | 9617 } |
9298 | 9618 |
9299 void setRange(int start, int rangeLength, List<num> from, [int startFrom]) { | 9619 void setRange(int start, int rangeLength, List<num> from, [int startFrom]) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9342 /// @domName Float64Array.length; @docsEditable true | 9662 /// @domName Float64Array.length; @docsEditable true |
9343 int get length => JS("int", "#.length", this); | 9663 int get length => JS("int", "#.length", this); |
9344 | 9664 |
9345 num operator[](int index) => JS("num", "#[#]", this, index); | 9665 num operator[](int index) => JS("num", "#[#]", this, index); |
9346 | 9666 |
9347 void operator[]=(int index, num value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<num> mixins. | 9667 void operator[]=(int index, num value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<num> mixins. |
9348 // num is the element type. | 9668 // num is the element type. |
9349 | 9669 |
9350 // From Iterable<num>: | 9670 // From Iterable<num>: |
9351 | 9671 |
9352 Iterator<num> iterator() { | 9672 Iterator<num> get iterator { |
9353 // Note: NodeLists are not fixed size. And most probably length shouldn't | 9673 // Note: NodeLists are not fixed size. And most probably length shouldn't |
9354 // be cached in both iterator _and_ forEach method. For now caching it | 9674 // be cached in both iterator _and_ forEach method. For now caching it |
9355 // for consistency. | 9675 // for consistency. |
9356 return new FixedSizeListIterator<num>(this); | 9676 return new FixedSizeListIterator<num>(this); |
9357 } | 9677 } |
9358 | 9678 |
9359 // From Collection<num>: | |
9360 | |
9361 void add(num value) { | |
9362 throw new UnsupportedError("Cannot add to immutable List."); | |
9363 } | |
9364 | |
9365 void addLast(num value) { | |
9366 throw new UnsupportedError("Cannot add to immutable List."); | |
9367 } | |
9368 | |
9369 void addAll(Collection<num> collection) { | |
9370 throw new UnsupportedError("Cannot add to immutable List."); | |
9371 } | |
9372 | |
9373 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, num)) { | 9679 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, num)) { |
9374 return Collections.reduce(this, initialValue, combine); | 9680 return Collections.reduce(this, initialValue, combine); |
9375 } | 9681 } |
9376 | 9682 |
9377 bool contains(num element) => Collections.contains(this, element); | 9683 bool contains(num element) => Collections.contains(this, element); |
9378 | 9684 |
9379 void forEach(void f(num element)) => Collections.forEach(this, f); | 9685 void forEach(void f(num element)) => Collections.forEach(this, f); |
9380 | 9686 |
9381 Collection map(f(num element)) => Collections.map(this, [], f); | 9687 String join([String separator]) => Collections.joinList(this, separator); |
9382 | 9688 |
9383 Collection<num> filter(bool f(num element)) => | 9689 List mappedBy(f(num element)) => new MappedList<num, dynamic>(this, f); |
9384 Collections.filter(this, <num>[], f); | 9690 |
| 9691 Iterable<num> where(bool f(num element)) => new WhereIterable<num>(this, f); |
9385 | 9692 |
9386 bool every(bool f(num element)) => Collections.every(this, f); | 9693 bool every(bool f(num element)) => Collections.every(this, f); |
9387 | 9694 |
9388 bool some(bool f(num element)) => Collections.some(this, f); | 9695 bool any(bool f(num element)) => Collections.any(this, f); |
9389 | 9696 |
9390 bool get isEmpty => this.length == 0; | 9697 bool get isEmpty => this.length == 0; |
9391 | 9698 |
| 9699 List<num> take(int n) => new ListView<num>(this, 0, n); |
| 9700 |
| 9701 Iterable<num> takeWhile(bool test(num value)) { |
| 9702 return new TakeWhileIterable<num>(this, test); |
| 9703 } |
| 9704 |
| 9705 List<num> skip(int n) => new ListView<num>(this, n, null); |
| 9706 |
| 9707 Iterable<num> skipWhile(bool test(num value)) { |
| 9708 return new SkipWhileIterable<num>(this, test); |
| 9709 } |
| 9710 |
| 9711 num firstMatching(bool test(num value), { num orElse() }) { |
| 9712 return Collections.firstMatching(this, test, orElse); |
| 9713 } |
| 9714 |
| 9715 num lastMatching(bool test(num value), {num orElse()}) { |
| 9716 return Collections.lastMatchingInList(this, test, orElse); |
| 9717 } |
| 9718 |
| 9719 num singleMatching(bool test(num value)) { |
| 9720 return Collections.singleMatching(this, test); |
| 9721 } |
| 9722 |
| 9723 num elementAt(int index) { |
| 9724 return this[index]; |
| 9725 } |
| 9726 |
| 9727 // From Collection<num>: |
| 9728 |
| 9729 void add(num value) { |
| 9730 throw new UnsupportedError("Cannot add to immutable List."); |
| 9731 } |
| 9732 |
| 9733 void addLast(num value) { |
| 9734 throw new UnsupportedError("Cannot add to immutable List."); |
| 9735 } |
| 9736 |
| 9737 void addAll(Iterable<num> iterable) { |
| 9738 throw new UnsupportedError("Cannot add to immutable List."); |
| 9739 } |
| 9740 |
9392 // From List<num>: | 9741 // From List<num>: |
9393 void set length(int value) { | 9742 void set length(int value) { |
9394 throw new UnsupportedError("Cannot resize immutable List."); | 9743 throw new UnsupportedError("Cannot resize immutable List."); |
9395 } | 9744 } |
9396 | 9745 |
9397 void clear() { | 9746 void clear() { |
9398 throw new UnsupportedError("Cannot clear immutable List."); | 9747 throw new UnsupportedError("Cannot clear immutable List."); |
9399 } | 9748 } |
9400 | 9749 |
9401 void sort([int compare(num a, num b)]) { | 9750 void sort([int compare(num a, num b)]) { |
9402 throw new UnsupportedError("Cannot sort immutable List."); | 9751 throw new UnsupportedError("Cannot sort immutable List."); |
9403 } | 9752 } |
9404 | 9753 |
9405 int indexOf(num element, [int start = 0]) => | 9754 int indexOf(num element, [int start = 0]) => |
9406 Lists.indexOf(this, element, start, this.length); | 9755 Lists.indexOf(this, element, start, this.length); |
9407 | 9756 |
9408 int lastIndexOf(num element, [int start]) { | 9757 int lastIndexOf(num element, [int start]) { |
9409 if (start == null) start = length - 1; | 9758 if (start == null) start = length - 1; |
9410 return Lists.lastIndexOf(this, element, start); | 9759 return Lists.lastIndexOf(this, element, start); |
9411 } | 9760 } |
9412 | 9761 |
9413 num get first => this[0]; | 9762 num get first { |
| 9763 if (this.length > 0) return this[0]; |
| 9764 throw new StateError("No elements"); |
| 9765 } |
9414 | 9766 |
9415 num get last => this[length - 1]; | 9767 num get last { |
| 9768 if (this.length > 0) return this[this.length - 1]; |
| 9769 throw new StateError("No elements"); |
| 9770 } |
| 9771 |
| 9772 num get single { |
| 9773 if (length == 1) return this[0]; |
| 9774 if (length == 0) throw new StateError("No elements"); |
| 9775 throw new StateError("More than one element"); |
| 9776 } |
| 9777 |
| 9778 num min([int compare(num a, num b)]) => _Collections.minInList(this, compare); |
| 9779 |
| 9780 num max([int compare(num a, num b)]) => _Collections.maxInList(this, compare); |
9416 | 9781 |
9417 num removeAt(int pos) { | 9782 num removeAt(int pos) { |
9418 throw new UnsupportedError("Cannot removeAt on immutable List."); | 9783 throw new UnsupportedError("Cannot removeAt on immutable List."); |
9419 } | 9784 } |
9420 | 9785 |
9421 num removeLast() { | 9786 num removeLast() { |
9422 throw new UnsupportedError("Cannot removeLast on immutable List."); | 9787 throw new UnsupportedError("Cannot removeLast on immutable List."); |
9423 } | 9788 } |
9424 | 9789 |
9425 void setRange(int start, int rangeLength, List<num> from, [int startFrom]) { | 9790 void setRange(int start, int rangeLength, List<num> from, [int startFrom]) { |
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9828 Node operator[](int index) => JS("Node", "#[#]", this, index); | 10193 Node operator[](int index) => JS("Node", "#[#]", this, index); |
9829 | 10194 |
9830 void operator[]=(int index, Node value) { | 10195 void operator[]=(int index, Node value) { |
9831 throw new UnsupportedError("Cannot assign element of immutable List."); | 10196 throw new UnsupportedError("Cannot assign element of immutable List."); |
9832 } | 10197 } |
9833 // -- start List<Node> mixins. | 10198 // -- start List<Node> mixins. |
9834 // Node is the element type. | 10199 // Node is the element type. |
9835 | 10200 |
9836 // From Iterable<Node>: | 10201 // From Iterable<Node>: |
9837 | 10202 |
9838 Iterator<Node> iterator() { | 10203 Iterator<Node> get iterator { |
9839 // Note: NodeLists are not fixed size. And most probably length shouldn't | 10204 // Note: NodeLists are not fixed size. And most probably length shouldn't |
9840 // be cached in both iterator _and_ forEach method. For now caching it | 10205 // be cached in both iterator _and_ forEach method. For now caching it |
9841 // for consistency. | 10206 // for consistency. |
9842 return new FixedSizeListIterator<Node>(this); | 10207 return new FixedSizeListIterator<Node>(this); |
9843 } | 10208 } |
9844 | 10209 |
9845 // From Collection<Node>: | |
9846 | |
9847 void add(Node value) { | |
9848 throw new UnsupportedError("Cannot add to immutable List."); | |
9849 } | |
9850 | |
9851 void addLast(Node value) { | |
9852 throw new UnsupportedError("Cannot add to immutable List."); | |
9853 } | |
9854 | |
9855 void addAll(Collection<Node> collection) { | |
9856 throw new UnsupportedError("Cannot add to immutable List."); | |
9857 } | |
9858 | |
9859 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { | 10210 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { |
9860 return Collections.reduce(this, initialValue, combine); | 10211 return Collections.reduce(this, initialValue, combine); |
9861 } | 10212 } |
9862 | 10213 |
9863 bool contains(Node element) => Collections.contains(this, element); | 10214 bool contains(Node element) => Collections.contains(this, element); |
9864 | 10215 |
9865 void forEach(void f(Node element)) => Collections.forEach(this, f); | 10216 void forEach(void f(Node element)) => Collections.forEach(this, f); |
9866 | 10217 |
9867 Collection map(f(Node element)) => Collections.map(this, [], f); | 10218 String join([String separator]) => Collections.joinList(this, separator); |
9868 | 10219 |
9869 Collection<Node> filter(bool f(Node element)) => | 10220 List mappedBy(f(Node element)) => new MappedList<Node, dynamic>(this, f); |
9870 Collections.filter(this, <Node>[], f); | 10221 |
| 10222 Iterable<Node> where(bool f(Node element)) => new WhereIterable<Node>(this, f)
; |
9871 | 10223 |
9872 bool every(bool f(Node element)) => Collections.every(this, f); | 10224 bool every(bool f(Node element)) => Collections.every(this, f); |
9873 | 10225 |
9874 bool some(bool f(Node element)) => Collections.some(this, f); | 10226 bool any(bool f(Node element)) => Collections.any(this, f); |
9875 | 10227 |
9876 bool get isEmpty => this.length == 0; | 10228 bool get isEmpty => this.length == 0; |
9877 | 10229 |
| 10230 List<Node> take(int n) => new ListView<Node>(this, 0, n); |
| 10231 |
| 10232 Iterable<Node> takeWhile(bool test(Node value)) { |
| 10233 return new TakeWhileIterable<Node>(this, test); |
| 10234 } |
| 10235 |
| 10236 List<Node> skip(int n) => new ListView<Node>(this, n, null); |
| 10237 |
| 10238 Iterable<Node> skipWhile(bool test(Node value)) { |
| 10239 return new SkipWhileIterable<Node>(this, test); |
| 10240 } |
| 10241 |
| 10242 Node firstMatching(bool test(Node value), { Node orElse() }) { |
| 10243 return Collections.firstMatching(this, test, orElse); |
| 10244 } |
| 10245 |
| 10246 Node lastMatching(bool test(Node value), {Node orElse()}) { |
| 10247 return Collections.lastMatchingInList(this, test, orElse); |
| 10248 } |
| 10249 |
| 10250 Node singleMatching(bool test(Node value)) { |
| 10251 return Collections.singleMatching(this, test); |
| 10252 } |
| 10253 |
| 10254 Node elementAt(int index) { |
| 10255 return this[index]; |
| 10256 } |
| 10257 |
| 10258 // From Collection<Node>: |
| 10259 |
| 10260 void add(Node value) { |
| 10261 throw new UnsupportedError("Cannot add to immutable List."); |
| 10262 } |
| 10263 |
| 10264 void addLast(Node value) { |
| 10265 throw new UnsupportedError("Cannot add to immutable List."); |
| 10266 } |
| 10267 |
| 10268 void addAll(Iterable<Node> iterable) { |
| 10269 throw new UnsupportedError("Cannot add to immutable List."); |
| 10270 } |
| 10271 |
9878 // From List<Node>: | 10272 // From List<Node>: |
9879 void set length(int value) { | 10273 void set length(int value) { |
9880 throw new UnsupportedError("Cannot resize immutable List."); | 10274 throw new UnsupportedError("Cannot resize immutable List."); |
9881 } | 10275 } |
9882 | 10276 |
9883 void clear() { | 10277 void clear() { |
9884 throw new UnsupportedError("Cannot clear immutable List."); | 10278 throw new UnsupportedError("Cannot clear immutable List."); |
9885 } | 10279 } |
9886 | 10280 |
9887 void sort([int compare(Node a, Node b)]) { | 10281 void sort([int compare(Node a, Node b)]) { |
9888 throw new UnsupportedError("Cannot sort immutable List."); | 10282 throw new UnsupportedError("Cannot sort immutable List."); |
9889 } | 10283 } |
9890 | 10284 |
9891 int indexOf(Node element, [int start = 0]) => | 10285 int indexOf(Node element, [int start = 0]) => |
9892 Lists.indexOf(this, element, start, this.length); | 10286 Lists.indexOf(this, element, start, this.length); |
9893 | 10287 |
9894 int lastIndexOf(Node element, [int start]) { | 10288 int lastIndexOf(Node element, [int start]) { |
9895 if (start == null) start = length - 1; | 10289 if (start == null) start = length - 1; |
9896 return Lists.lastIndexOf(this, element, start); | 10290 return Lists.lastIndexOf(this, element, start); |
9897 } | 10291 } |
9898 | 10292 |
9899 Node get first => this[0]; | 10293 Node get first { |
| 10294 if (this.length > 0) return this[0]; |
| 10295 throw new StateError("No elements"); |
| 10296 } |
9900 | 10297 |
9901 Node get last => this[length - 1]; | 10298 Node get last { |
| 10299 if (this.length > 0) return this[this.length - 1]; |
| 10300 throw new StateError("No elements"); |
| 10301 } |
| 10302 |
| 10303 Node get single { |
| 10304 if (length == 1) return this[0]; |
| 10305 if (length == 0) throw new StateError("No elements"); |
| 10306 throw new StateError("More than one element"); |
| 10307 } |
| 10308 |
| 10309 Node min([int compare(Node a, Node b)]) => _Collections.minInList(this, compar
e); |
| 10310 |
| 10311 Node max([int compare(Node a, Node b)]) => _Collections.maxInList(this, compar
e); |
9902 | 10312 |
9903 Node removeAt(int pos) { | 10313 Node removeAt(int pos) { |
9904 throw new UnsupportedError("Cannot removeAt on immutable List."); | 10314 throw new UnsupportedError("Cannot removeAt on immutable List."); |
9905 } | 10315 } |
9906 | 10316 |
9907 Node removeLast() { | 10317 Node removeLast() { |
9908 throw new UnsupportedError("Cannot removeLast on immutable List."); | 10318 throw new UnsupportedError("Cannot removeLast on immutable List."); |
9909 } | 10319 } |
9910 | 10320 |
9911 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { | 10321 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9949 Node operator[](int index) => JS("Node", "#[#]", this, index); | 10359 Node operator[](int index) => JS("Node", "#[#]", this, index); |
9950 | 10360 |
9951 void operator[]=(int index, Node value) { | 10361 void operator[]=(int index, Node value) { |
9952 throw new UnsupportedError("Cannot assign element of immutable List."); | 10362 throw new UnsupportedError("Cannot assign element of immutable List."); |
9953 } | 10363 } |
9954 // -- start List<Node> mixins. | 10364 // -- start List<Node> mixins. |
9955 // Node is the element type. | 10365 // Node is the element type. |
9956 | 10366 |
9957 // From Iterable<Node>: | 10367 // From Iterable<Node>: |
9958 | 10368 |
9959 Iterator<Node> iterator() { | 10369 Iterator<Node> get iterator { |
9960 // Note: NodeLists are not fixed size. And most probably length shouldn't | 10370 // Note: NodeLists are not fixed size. And most probably length shouldn't |
9961 // be cached in both iterator _and_ forEach method. For now caching it | 10371 // be cached in both iterator _and_ forEach method. For now caching it |
9962 // for consistency. | 10372 // for consistency. |
9963 return new FixedSizeListIterator<Node>(this); | 10373 return new FixedSizeListIterator<Node>(this); |
9964 } | 10374 } |
9965 | 10375 |
9966 // From Collection<Node>: | |
9967 | |
9968 void add(Node value) { | |
9969 throw new UnsupportedError("Cannot add to immutable List."); | |
9970 } | |
9971 | |
9972 void addLast(Node value) { | |
9973 throw new UnsupportedError("Cannot add to immutable List."); | |
9974 } | |
9975 | |
9976 void addAll(Collection<Node> collection) { | |
9977 throw new UnsupportedError("Cannot add to immutable List."); | |
9978 } | |
9979 | |
9980 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { | 10376 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { |
9981 return Collections.reduce(this, initialValue, combine); | 10377 return Collections.reduce(this, initialValue, combine); |
9982 } | 10378 } |
9983 | 10379 |
9984 bool contains(Node element) => Collections.contains(this, element); | 10380 bool contains(Node element) => Collections.contains(this, element); |
9985 | 10381 |
9986 void forEach(void f(Node element)) => Collections.forEach(this, f); | 10382 void forEach(void f(Node element)) => Collections.forEach(this, f); |
9987 | 10383 |
9988 Collection map(f(Node element)) => Collections.map(this, [], f); | 10384 String join([String separator]) => Collections.joinList(this, separator); |
9989 | 10385 |
9990 Collection<Node> filter(bool f(Node element)) => | 10386 List mappedBy(f(Node element)) => new MappedList<Node, dynamic>(this, f); |
9991 Collections.filter(this, <Node>[], f); | 10387 |
| 10388 Iterable<Node> where(bool f(Node element)) => new WhereIterable<Node>(this, f)
; |
9992 | 10389 |
9993 bool every(bool f(Node element)) => Collections.every(this, f); | 10390 bool every(bool f(Node element)) => Collections.every(this, f); |
9994 | 10391 |
9995 bool some(bool f(Node element)) => Collections.some(this, f); | 10392 bool any(bool f(Node element)) => Collections.any(this, f); |
9996 | 10393 |
9997 bool get isEmpty => this.length == 0; | 10394 bool get isEmpty => this.length == 0; |
9998 | 10395 |
| 10396 List<Node> take(int n) => new ListView<Node>(this, 0, n); |
| 10397 |
| 10398 Iterable<Node> takeWhile(bool test(Node value)) { |
| 10399 return new TakeWhileIterable<Node>(this, test); |
| 10400 } |
| 10401 |
| 10402 List<Node> skip(int n) => new ListView<Node>(this, n, null); |
| 10403 |
| 10404 Iterable<Node> skipWhile(bool test(Node value)) { |
| 10405 return new SkipWhileIterable<Node>(this, test); |
| 10406 } |
| 10407 |
| 10408 Node firstMatching(bool test(Node value), { Node orElse() }) { |
| 10409 return Collections.firstMatching(this, test, orElse); |
| 10410 } |
| 10411 |
| 10412 Node lastMatching(bool test(Node value), {Node orElse()}) { |
| 10413 return Collections.lastMatchingInList(this, test, orElse); |
| 10414 } |
| 10415 |
| 10416 Node singleMatching(bool test(Node value)) { |
| 10417 return Collections.singleMatching(this, test); |
| 10418 } |
| 10419 |
| 10420 Node elementAt(int index) { |
| 10421 return this[index]; |
| 10422 } |
| 10423 |
| 10424 // From Collection<Node>: |
| 10425 |
| 10426 void add(Node value) { |
| 10427 throw new UnsupportedError("Cannot add to immutable List."); |
| 10428 } |
| 10429 |
| 10430 void addLast(Node value) { |
| 10431 throw new UnsupportedError("Cannot add to immutable List."); |
| 10432 } |
| 10433 |
| 10434 void addAll(Iterable<Node> iterable) { |
| 10435 throw new UnsupportedError("Cannot add to immutable List."); |
| 10436 } |
| 10437 |
9999 // From List<Node>: | 10438 // From List<Node>: |
10000 void set length(int value) { | 10439 void set length(int value) { |
10001 throw new UnsupportedError("Cannot resize immutable List."); | 10440 throw new UnsupportedError("Cannot resize immutable List."); |
10002 } | 10441 } |
10003 | 10442 |
10004 void clear() { | 10443 void clear() { |
10005 throw new UnsupportedError("Cannot clear immutable List."); | 10444 throw new UnsupportedError("Cannot clear immutable List."); |
10006 } | 10445 } |
10007 | 10446 |
10008 void sort([int compare(Node a, Node b)]) { | 10447 void sort([int compare(Node a, Node b)]) { |
10009 throw new UnsupportedError("Cannot sort immutable List."); | 10448 throw new UnsupportedError("Cannot sort immutable List."); |
10010 } | 10449 } |
10011 | 10450 |
10012 int indexOf(Node element, [int start = 0]) => | 10451 int indexOf(Node element, [int start = 0]) => |
10013 Lists.indexOf(this, element, start, this.length); | 10452 Lists.indexOf(this, element, start, this.length); |
10014 | 10453 |
10015 int lastIndexOf(Node element, [int start]) { | 10454 int lastIndexOf(Node element, [int start]) { |
10016 if (start == null) start = length - 1; | 10455 if (start == null) start = length - 1; |
10017 return Lists.lastIndexOf(this, element, start); | 10456 return Lists.lastIndexOf(this, element, start); |
10018 } | 10457 } |
10019 | 10458 |
10020 Node get first => this[0]; | 10459 Node get first { |
| 10460 if (this.length > 0) return this[0]; |
| 10461 throw new StateError("No elements"); |
| 10462 } |
10021 | 10463 |
10022 Node get last => this[length - 1]; | 10464 Node get last { |
| 10465 if (this.length > 0) return this[this.length - 1]; |
| 10466 throw new StateError("No elements"); |
| 10467 } |
| 10468 |
| 10469 Node get single { |
| 10470 if (length == 1) return this[0]; |
| 10471 if (length == 0) throw new StateError("No elements"); |
| 10472 throw new StateError("More than one element"); |
| 10473 } |
| 10474 |
| 10475 Node min([int compare(Node a, Node b)]) => _Collections.minInList(this, compar
e); |
| 10476 |
| 10477 Node max([int compare(Node a, Node b)]) => _Collections.maxInList(this, compar
e); |
10023 | 10478 |
10024 Node removeAt(int pos) { | 10479 Node removeAt(int pos) { |
10025 throw new UnsupportedError("Cannot removeAt on immutable List."); | 10480 throw new UnsupportedError("Cannot removeAt on immutable List."); |
10026 } | 10481 } |
10027 | 10482 |
10028 Node removeLast() { | 10483 Node removeLast() { |
10029 throw new UnsupportedError("Cannot removeLast on immutable List."); | 10484 throw new UnsupportedError("Cannot removeLast on immutable List."); |
10030 } | 10485 } |
10031 | 10486 |
10032 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { | 10487 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { |
(...skipping 1542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11575 /// @domName Int16Array.length; @docsEditable true | 12030 /// @domName Int16Array.length; @docsEditable true |
11576 int get length => JS("int", "#.length", this); | 12031 int get length => JS("int", "#.length", this); |
11577 | 12032 |
11578 int operator[](int index) => JS("int", "#[#]", this, index); | 12033 int operator[](int index) => JS("int", "#[#]", this, index); |
11579 | 12034 |
11580 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. | 12035 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. |
11581 // int is the element type. | 12036 // int is the element type. |
11582 | 12037 |
11583 // From Iterable<int>: | 12038 // From Iterable<int>: |
11584 | 12039 |
11585 Iterator<int> iterator() { | 12040 Iterator<int> get iterator { |
11586 // Note: NodeLists are not fixed size. And most probably length shouldn't | 12041 // Note: NodeLists are not fixed size. And most probably length shouldn't |
11587 // be cached in both iterator _and_ forEach method. For now caching it | 12042 // be cached in both iterator _and_ forEach method. For now caching it |
11588 // for consistency. | 12043 // for consistency. |
11589 return new FixedSizeListIterator<int>(this); | 12044 return new FixedSizeListIterator<int>(this); |
11590 } | 12045 } |
11591 | 12046 |
11592 // From Collection<int>: | |
11593 | |
11594 void add(int value) { | |
11595 throw new UnsupportedError("Cannot add to immutable List."); | |
11596 } | |
11597 | |
11598 void addLast(int value) { | |
11599 throw new UnsupportedError("Cannot add to immutable List."); | |
11600 } | |
11601 | |
11602 void addAll(Collection<int> collection) { | |
11603 throw new UnsupportedError("Cannot add to immutable List."); | |
11604 } | |
11605 | |
11606 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { | 12047 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { |
11607 return Collections.reduce(this, initialValue, combine); | 12048 return Collections.reduce(this, initialValue, combine); |
11608 } | 12049 } |
11609 | 12050 |
11610 bool contains(int element) => Collections.contains(this, element); | 12051 bool contains(int element) => Collections.contains(this, element); |
11611 | 12052 |
11612 void forEach(void f(int element)) => Collections.forEach(this, f); | 12053 void forEach(void f(int element)) => Collections.forEach(this, f); |
11613 | 12054 |
11614 Collection map(f(int element)) => Collections.map(this, [], f); | 12055 String join([String separator]) => Collections.joinList(this, separator); |
11615 | 12056 |
11616 Collection<int> filter(bool f(int element)) => | 12057 List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f); |
11617 Collections.filter(this, <int>[], f); | 12058 |
| 12059 Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f); |
11618 | 12060 |
11619 bool every(bool f(int element)) => Collections.every(this, f); | 12061 bool every(bool f(int element)) => Collections.every(this, f); |
11620 | 12062 |
11621 bool some(bool f(int element)) => Collections.some(this, f); | 12063 bool any(bool f(int element)) => Collections.any(this, f); |
11622 | 12064 |
11623 bool get isEmpty => this.length == 0; | 12065 bool get isEmpty => this.length == 0; |
11624 | 12066 |
| 12067 List<int> take(int n) => new ListView<int>(this, 0, n); |
| 12068 |
| 12069 Iterable<int> takeWhile(bool test(int value)) { |
| 12070 return new TakeWhileIterable<int>(this, test); |
| 12071 } |
| 12072 |
| 12073 List<int> skip(int n) => new ListView<int>(this, n, null); |
| 12074 |
| 12075 Iterable<int> skipWhile(bool test(int value)) { |
| 12076 return new SkipWhileIterable<int>(this, test); |
| 12077 } |
| 12078 |
| 12079 int firstMatching(bool test(int value), { int orElse() }) { |
| 12080 return Collections.firstMatching(this, test, orElse); |
| 12081 } |
| 12082 |
| 12083 int lastMatching(bool test(int value), {int orElse()}) { |
| 12084 return Collections.lastMatchingInList(this, test, orElse); |
| 12085 } |
| 12086 |
| 12087 int singleMatching(bool test(int value)) { |
| 12088 return Collections.singleMatching(this, test); |
| 12089 } |
| 12090 |
| 12091 int elementAt(int index) { |
| 12092 return this[index]; |
| 12093 } |
| 12094 |
| 12095 // From Collection<int>: |
| 12096 |
| 12097 void add(int value) { |
| 12098 throw new UnsupportedError("Cannot add to immutable List."); |
| 12099 } |
| 12100 |
| 12101 void addLast(int value) { |
| 12102 throw new UnsupportedError("Cannot add to immutable List."); |
| 12103 } |
| 12104 |
| 12105 void addAll(Iterable<int> iterable) { |
| 12106 throw new UnsupportedError("Cannot add to immutable List."); |
| 12107 } |
| 12108 |
11625 // From List<int>: | 12109 // From List<int>: |
11626 void set length(int value) { | 12110 void set length(int value) { |
11627 throw new UnsupportedError("Cannot resize immutable List."); | 12111 throw new UnsupportedError("Cannot resize immutable List."); |
11628 } | 12112 } |
11629 | 12113 |
11630 void clear() { | 12114 void clear() { |
11631 throw new UnsupportedError("Cannot clear immutable List."); | 12115 throw new UnsupportedError("Cannot clear immutable List."); |
11632 } | 12116 } |
11633 | 12117 |
11634 void sort([int compare(int a, int b)]) { | 12118 void sort([int compare(int a, int b)]) { |
11635 throw new UnsupportedError("Cannot sort immutable List."); | 12119 throw new UnsupportedError("Cannot sort immutable List."); |
11636 } | 12120 } |
11637 | 12121 |
11638 int indexOf(int element, [int start = 0]) => | 12122 int indexOf(int element, [int start = 0]) => |
11639 Lists.indexOf(this, element, start, this.length); | 12123 Lists.indexOf(this, element, start, this.length); |
11640 | 12124 |
11641 int lastIndexOf(int element, [int start]) { | 12125 int lastIndexOf(int element, [int start]) { |
11642 if (start == null) start = length - 1; | 12126 if (start == null) start = length - 1; |
11643 return Lists.lastIndexOf(this, element, start); | 12127 return Lists.lastIndexOf(this, element, start); |
11644 } | 12128 } |
11645 | 12129 |
11646 int get first => this[0]; | 12130 int get first { |
| 12131 if (this.length > 0) return this[0]; |
| 12132 throw new StateError("No elements"); |
| 12133 } |
11647 | 12134 |
11648 int get last => this[length - 1]; | 12135 int get last { |
| 12136 if (this.length > 0) return this[this.length - 1]; |
| 12137 throw new StateError("No elements"); |
| 12138 } |
| 12139 |
| 12140 int get single { |
| 12141 if (length == 1) return this[0]; |
| 12142 if (length == 0) throw new StateError("No elements"); |
| 12143 throw new StateError("More than one element"); |
| 12144 } |
| 12145 |
| 12146 int min([int compare(int a, int b)]) => _Collections.minInList(this, compare); |
| 12147 |
| 12148 int max([int compare(int a, int b)]) => _Collections.maxInList(this, compare); |
11649 | 12149 |
11650 int removeAt(int pos) { | 12150 int removeAt(int pos) { |
11651 throw new UnsupportedError("Cannot removeAt on immutable List."); | 12151 throw new UnsupportedError("Cannot removeAt on immutable List."); |
11652 } | 12152 } |
11653 | 12153 |
11654 int removeLast() { | 12154 int removeLast() { |
11655 throw new UnsupportedError("Cannot removeLast on immutable List."); | 12155 throw new UnsupportedError("Cannot removeLast on immutable List."); |
11656 } | 12156 } |
11657 | 12157 |
11658 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { | 12158 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11701 /// @domName Int32Array.length; @docsEditable true | 12201 /// @domName Int32Array.length; @docsEditable true |
11702 int get length => JS("int", "#.length", this); | 12202 int get length => JS("int", "#.length", this); |
11703 | 12203 |
11704 int operator[](int index) => JS("int", "#[#]", this, index); | 12204 int operator[](int index) => JS("int", "#[#]", this, index); |
11705 | 12205 |
11706 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. | 12206 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. |
11707 // int is the element type. | 12207 // int is the element type. |
11708 | 12208 |
11709 // From Iterable<int>: | 12209 // From Iterable<int>: |
11710 | 12210 |
11711 Iterator<int> iterator() { | 12211 Iterator<int> get iterator { |
11712 // Note: NodeLists are not fixed size. And most probably length shouldn't | 12212 // Note: NodeLists are not fixed size. And most probably length shouldn't |
11713 // be cached in both iterator _and_ forEach method. For now caching it | 12213 // be cached in both iterator _and_ forEach method. For now caching it |
11714 // for consistency. | 12214 // for consistency. |
11715 return new FixedSizeListIterator<int>(this); | 12215 return new FixedSizeListIterator<int>(this); |
11716 } | 12216 } |
11717 | 12217 |
11718 // From Collection<int>: | |
11719 | |
11720 void add(int value) { | |
11721 throw new UnsupportedError("Cannot add to immutable List."); | |
11722 } | |
11723 | |
11724 void addLast(int value) { | |
11725 throw new UnsupportedError("Cannot add to immutable List."); | |
11726 } | |
11727 | |
11728 void addAll(Collection<int> collection) { | |
11729 throw new UnsupportedError("Cannot add to immutable List."); | |
11730 } | |
11731 | |
11732 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { | 12218 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { |
11733 return Collections.reduce(this, initialValue, combine); | 12219 return Collections.reduce(this, initialValue, combine); |
11734 } | 12220 } |
11735 | 12221 |
11736 bool contains(int element) => Collections.contains(this, element); | 12222 bool contains(int element) => Collections.contains(this, element); |
11737 | 12223 |
11738 void forEach(void f(int element)) => Collections.forEach(this, f); | 12224 void forEach(void f(int element)) => Collections.forEach(this, f); |
11739 | 12225 |
11740 Collection map(f(int element)) => Collections.map(this, [], f); | 12226 String join([String separator]) => Collections.joinList(this, separator); |
11741 | 12227 |
11742 Collection<int> filter(bool f(int element)) => | 12228 List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f); |
11743 Collections.filter(this, <int>[], f); | 12229 |
| 12230 Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f); |
11744 | 12231 |
11745 bool every(bool f(int element)) => Collections.every(this, f); | 12232 bool every(bool f(int element)) => Collections.every(this, f); |
11746 | 12233 |
11747 bool some(bool f(int element)) => Collections.some(this, f); | 12234 bool any(bool f(int element)) => Collections.any(this, f); |
11748 | 12235 |
11749 bool get isEmpty => this.length == 0; | 12236 bool get isEmpty => this.length == 0; |
11750 | 12237 |
| 12238 List<int> take(int n) => new ListView<int>(this, 0, n); |
| 12239 |
| 12240 Iterable<int> takeWhile(bool test(int value)) { |
| 12241 return new TakeWhileIterable<int>(this, test); |
| 12242 } |
| 12243 |
| 12244 List<int> skip(int n) => new ListView<int>(this, n, null); |
| 12245 |
| 12246 Iterable<int> skipWhile(bool test(int value)) { |
| 12247 return new SkipWhileIterable<int>(this, test); |
| 12248 } |
| 12249 |
| 12250 int firstMatching(bool test(int value), { int orElse() }) { |
| 12251 return Collections.firstMatching(this, test, orElse); |
| 12252 } |
| 12253 |
| 12254 int lastMatching(bool test(int value), {int orElse()}) { |
| 12255 return Collections.lastMatchingInList(this, test, orElse); |
| 12256 } |
| 12257 |
| 12258 int singleMatching(bool test(int value)) { |
| 12259 return Collections.singleMatching(this, test); |
| 12260 } |
| 12261 |
| 12262 int elementAt(int index) { |
| 12263 return this[index]; |
| 12264 } |
| 12265 |
| 12266 // From Collection<int>: |
| 12267 |
| 12268 void add(int value) { |
| 12269 throw new UnsupportedError("Cannot add to immutable List."); |
| 12270 } |
| 12271 |
| 12272 void addLast(int value) { |
| 12273 throw new UnsupportedError("Cannot add to immutable List."); |
| 12274 } |
| 12275 |
| 12276 void addAll(Iterable<int> iterable) { |
| 12277 throw new UnsupportedError("Cannot add to immutable List."); |
| 12278 } |
| 12279 |
11751 // From List<int>: | 12280 // From List<int>: |
11752 void set length(int value) { | 12281 void set length(int value) { |
11753 throw new UnsupportedError("Cannot resize immutable List."); | 12282 throw new UnsupportedError("Cannot resize immutable List."); |
11754 } | 12283 } |
11755 | 12284 |
11756 void clear() { | 12285 void clear() { |
11757 throw new UnsupportedError("Cannot clear immutable List."); | 12286 throw new UnsupportedError("Cannot clear immutable List."); |
11758 } | 12287 } |
11759 | 12288 |
11760 void sort([int compare(int a, int b)]) { | 12289 void sort([int compare(int a, int b)]) { |
11761 throw new UnsupportedError("Cannot sort immutable List."); | 12290 throw new UnsupportedError("Cannot sort immutable List."); |
11762 } | 12291 } |
11763 | 12292 |
11764 int indexOf(int element, [int start = 0]) => | 12293 int indexOf(int element, [int start = 0]) => |
11765 Lists.indexOf(this, element, start, this.length); | 12294 Lists.indexOf(this, element, start, this.length); |
11766 | 12295 |
11767 int lastIndexOf(int element, [int start]) { | 12296 int lastIndexOf(int element, [int start]) { |
11768 if (start == null) start = length - 1; | 12297 if (start == null) start = length - 1; |
11769 return Lists.lastIndexOf(this, element, start); | 12298 return Lists.lastIndexOf(this, element, start); |
11770 } | 12299 } |
11771 | 12300 |
11772 int get first => this[0]; | 12301 int get first { |
| 12302 if (this.length > 0) return this[0]; |
| 12303 throw new StateError("No elements"); |
| 12304 } |
11773 | 12305 |
11774 int get last => this[length - 1]; | 12306 int get last { |
| 12307 if (this.length > 0) return this[this.length - 1]; |
| 12308 throw new StateError("No elements"); |
| 12309 } |
| 12310 |
| 12311 int get single { |
| 12312 if (length == 1) return this[0]; |
| 12313 if (length == 0) throw new StateError("No elements"); |
| 12314 throw new StateError("More than one element"); |
| 12315 } |
| 12316 |
| 12317 int min([int compare(int a, int b)]) => _Collections.minInList(this, compare); |
| 12318 |
| 12319 int max([int compare(int a, int b)]) => _Collections.maxInList(this, compare); |
11775 | 12320 |
11776 int removeAt(int pos) { | 12321 int removeAt(int pos) { |
11777 throw new UnsupportedError("Cannot removeAt on immutable List."); | 12322 throw new UnsupportedError("Cannot removeAt on immutable List."); |
11778 } | 12323 } |
11779 | 12324 |
11780 int removeLast() { | 12325 int removeLast() { |
11781 throw new UnsupportedError("Cannot removeLast on immutable List."); | 12326 throw new UnsupportedError("Cannot removeLast on immutable List."); |
11782 } | 12327 } |
11783 | 12328 |
11784 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { | 12329 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11827 /// @domName Int8Array.length; @docsEditable true | 12372 /// @domName Int8Array.length; @docsEditable true |
11828 int get length => JS("int", "#.length", this); | 12373 int get length => JS("int", "#.length", this); |
11829 | 12374 |
11830 int operator[](int index) => JS("int", "#[#]", this, index); | 12375 int operator[](int index) => JS("int", "#[#]", this, index); |
11831 | 12376 |
11832 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. | 12377 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. |
11833 // int is the element type. | 12378 // int is the element type. |
11834 | 12379 |
11835 // From Iterable<int>: | 12380 // From Iterable<int>: |
11836 | 12381 |
11837 Iterator<int> iterator() { | 12382 Iterator<int> get iterator { |
11838 // Note: NodeLists are not fixed size. And most probably length shouldn't | 12383 // Note: NodeLists are not fixed size. And most probably length shouldn't |
11839 // be cached in both iterator _and_ forEach method. For now caching it | 12384 // be cached in both iterator _and_ forEach method. For now caching it |
11840 // for consistency. | 12385 // for consistency. |
11841 return new FixedSizeListIterator<int>(this); | 12386 return new FixedSizeListIterator<int>(this); |
11842 } | 12387 } |
11843 | 12388 |
11844 // From Collection<int>: | |
11845 | |
11846 void add(int value) { | |
11847 throw new UnsupportedError("Cannot add to immutable List."); | |
11848 } | |
11849 | |
11850 void addLast(int value) { | |
11851 throw new UnsupportedError("Cannot add to immutable List."); | |
11852 } | |
11853 | |
11854 void addAll(Collection<int> collection) { | |
11855 throw new UnsupportedError("Cannot add to immutable List."); | |
11856 } | |
11857 | |
11858 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { | 12389 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { |
11859 return Collections.reduce(this, initialValue, combine); | 12390 return Collections.reduce(this, initialValue, combine); |
11860 } | 12391 } |
11861 | 12392 |
11862 bool contains(int element) => Collections.contains(this, element); | 12393 bool contains(int element) => Collections.contains(this, element); |
11863 | 12394 |
11864 void forEach(void f(int element)) => Collections.forEach(this, f); | 12395 void forEach(void f(int element)) => Collections.forEach(this, f); |
11865 | 12396 |
11866 Collection map(f(int element)) => Collections.map(this, [], f); | 12397 String join([String separator]) => Collections.joinList(this, separator); |
11867 | 12398 |
11868 Collection<int> filter(bool f(int element)) => | 12399 List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f); |
11869 Collections.filter(this, <int>[], f); | 12400 |
| 12401 Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f); |
11870 | 12402 |
11871 bool every(bool f(int element)) => Collections.every(this, f); | 12403 bool every(bool f(int element)) => Collections.every(this, f); |
11872 | 12404 |
11873 bool some(bool f(int element)) => Collections.some(this, f); | 12405 bool any(bool f(int element)) => Collections.any(this, f); |
11874 | 12406 |
11875 bool get isEmpty => this.length == 0; | 12407 bool get isEmpty => this.length == 0; |
11876 | 12408 |
| 12409 List<int> take(int n) => new ListView<int>(this, 0, n); |
| 12410 |
| 12411 Iterable<int> takeWhile(bool test(int value)) { |
| 12412 return new TakeWhileIterable<int>(this, test); |
| 12413 } |
| 12414 |
| 12415 List<int> skip(int n) => new ListView<int>(this, n, null); |
| 12416 |
| 12417 Iterable<int> skipWhile(bool test(int value)) { |
| 12418 return new SkipWhileIterable<int>(this, test); |
| 12419 } |
| 12420 |
| 12421 int firstMatching(bool test(int value), { int orElse() }) { |
| 12422 return Collections.firstMatching(this, test, orElse); |
| 12423 } |
| 12424 |
| 12425 int lastMatching(bool test(int value), {int orElse()}) { |
| 12426 return Collections.lastMatchingInList(this, test, orElse); |
| 12427 } |
| 12428 |
| 12429 int singleMatching(bool test(int value)) { |
| 12430 return Collections.singleMatching(this, test); |
| 12431 } |
| 12432 |
| 12433 int elementAt(int index) { |
| 12434 return this[index]; |
| 12435 } |
| 12436 |
| 12437 // From Collection<int>: |
| 12438 |
| 12439 void add(int value) { |
| 12440 throw new UnsupportedError("Cannot add to immutable List."); |
| 12441 } |
| 12442 |
| 12443 void addLast(int value) { |
| 12444 throw new UnsupportedError("Cannot add to immutable List."); |
| 12445 } |
| 12446 |
| 12447 void addAll(Iterable<int> iterable) { |
| 12448 throw new UnsupportedError("Cannot add to immutable List."); |
| 12449 } |
| 12450 |
11877 // From List<int>: | 12451 // From List<int>: |
11878 void set length(int value) { | 12452 void set length(int value) { |
11879 throw new UnsupportedError("Cannot resize immutable List."); | 12453 throw new UnsupportedError("Cannot resize immutable List."); |
11880 } | 12454 } |
11881 | 12455 |
11882 void clear() { | 12456 void clear() { |
11883 throw new UnsupportedError("Cannot clear immutable List."); | 12457 throw new UnsupportedError("Cannot clear immutable List."); |
11884 } | 12458 } |
11885 | 12459 |
11886 void sort([int compare(int a, int b)]) { | 12460 void sort([int compare(int a, int b)]) { |
11887 throw new UnsupportedError("Cannot sort immutable List."); | 12461 throw new UnsupportedError("Cannot sort immutable List."); |
11888 } | 12462 } |
11889 | 12463 |
11890 int indexOf(int element, [int start = 0]) => | 12464 int indexOf(int element, [int start = 0]) => |
11891 Lists.indexOf(this, element, start, this.length); | 12465 Lists.indexOf(this, element, start, this.length); |
11892 | 12466 |
11893 int lastIndexOf(int element, [int start]) { | 12467 int lastIndexOf(int element, [int start]) { |
11894 if (start == null) start = length - 1; | 12468 if (start == null) start = length - 1; |
11895 return Lists.lastIndexOf(this, element, start); | 12469 return Lists.lastIndexOf(this, element, start); |
11896 } | 12470 } |
11897 | 12471 |
11898 int get first => this[0]; | 12472 int get first { |
| 12473 if (this.length > 0) return this[0]; |
| 12474 throw new StateError("No elements"); |
| 12475 } |
11899 | 12476 |
11900 int get last => this[length - 1]; | 12477 int get last { |
| 12478 if (this.length > 0) return this[this.length - 1]; |
| 12479 throw new StateError("No elements"); |
| 12480 } |
| 12481 |
| 12482 int get single { |
| 12483 if (length == 1) return this[0]; |
| 12484 if (length == 0) throw new StateError("No elements"); |
| 12485 throw new StateError("More than one element"); |
| 12486 } |
| 12487 |
| 12488 int min([int compare(int a, int b)]) => _Collections.minInList(this, compare); |
| 12489 |
| 12490 int max([int compare(int a, int b)]) => _Collections.maxInList(this, compare); |
11901 | 12491 |
11902 int removeAt(int pos) { | 12492 int removeAt(int pos) { |
11903 throw new UnsupportedError("Cannot removeAt on immutable List."); | 12493 throw new UnsupportedError("Cannot removeAt on immutable List."); |
11904 } | 12494 } |
11905 | 12495 |
11906 int removeLast() { | 12496 int removeLast() { |
11907 throw new UnsupportedError("Cannot removeLast on immutable List."); | 12497 throw new UnsupportedError("Cannot removeLast on immutable List."); |
11908 } | 12498 } |
11909 | 12499 |
11910 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { | 12500 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { |
(...skipping 1620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13531 Node operator[](int index) => JS("Node", "#[#]", this, index); | 14121 Node operator[](int index) => JS("Node", "#[#]", this, index); |
13532 | 14122 |
13533 void operator[]=(int index, Node value) { | 14123 void operator[]=(int index, Node value) { |
13534 throw new UnsupportedError("Cannot assign element of immutable List."); | 14124 throw new UnsupportedError("Cannot assign element of immutable List."); |
13535 } | 14125 } |
13536 // -- start List<Node> mixins. | 14126 // -- start List<Node> mixins. |
13537 // Node is the element type. | 14127 // Node is the element type. |
13538 | 14128 |
13539 // From Iterable<Node>: | 14129 // From Iterable<Node>: |
13540 | 14130 |
13541 Iterator<Node> iterator() { | 14131 Iterator<Node> get iterator { |
13542 // Note: NodeLists are not fixed size. And most probably length shouldn't | 14132 // Note: NodeLists are not fixed size. And most probably length shouldn't |
13543 // be cached in both iterator _and_ forEach method. For now caching it | 14133 // be cached in both iterator _and_ forEach method. For now caching it |
13544 // for consistency. | 14134 // for consistency. |
13545 return new FixedSizeListIterator<Node>(this); | 14135 return new FixedSizeListIterator<Node>(this); |
13546 } | 14136 } |
13547 | 14137 |
13548 // From Collection<Node>: | |
13549 | |
13550 void add(Node value) { | |
13551 throw new UnsupportedError("Cannot add to immutable List."); | |
13552 } | |
13553 | |
13554 void addLast(Node value) { | |
13555 throw new UnsupportedError("Cannot add to immutable List."); | |
13556 } | |
13557 | |
13558 void addAll(Collection<Node> collection) { | |
13559 throw new UnsupportedError("Cannot add to immutable List."); | |
13560 } | |
13561 | |
13562 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { | 14138 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { |
13563 return Collections.reduce(this, initialValue, combine); | 14139 return Collections.reduce(this, initialValue, combine); |
13564 } | 14140 } |
13565 | 14141 |
13566 bool contains(Node element) => Collections.contains(this, element); | 14142 bool contains(Node element) => Collections.contains(this, element); |
13567 | 14143 |
13568 void forEach(void f(Node element)) => Collections.forEach(this, f); | 14144 void forEach(void f(Node element)) => Collections.forEach(this, f); |
13569 | 14145 |
13570 Collection map(f(Node element)) => Collections.map(this, [], f); | 14146 String join([String separator]) => Collections.joinList(this, separator); |
13571 | 14147 |
13572 Collection<Node> filter(bool f(Node element)) => | 14148 List mappedBy(f(Node element)) => new MappedList<Node, dynamic>(this, f); |
13573 Collections.filter(this, <Node>[], f); | 14149 |
| 14150 Iterable<Node> where(bool f(Node element)) => new WhereIterable<Node>(this, f)
; |
13574 | 14151 |
13575 bool every(bool f(Node element)) => Collections.every(this, f); | 14152 bool every(bool f(Node element)) => Collections.every(this, f); |
13576 | 14153 |
13577 bool some(bool f(Node element)) => Collections.some(this, f); | 14154 bool any(bool f(Node element)) => Collections.any(this, f); |
13578 | 14155 |
13579 bool get isEmpty => this.length == 0; | 14156 bool get isEmpty => this.length == 0; |
13580 | 14157 |
| 14158 List<Node> take(int n) => new ListView<Node>(this, 0, n); |
| 14159 |
| 14160 Iterable<Node> takeWhile(bool test(Node value)) { |
| 14161 return new TakeWhileIterable<Node>(this, test); |
| 14162 } |
| 14163 |
| 14164 List<Node> skip(int n) => new ListView<Node>(this, n, null); |
| 14165 |
| 14166 Iterable<Node> skipWhile(bool test(Node value)) { |
| 14167 return new SkipWhileIterable<Node>(this, test); |
| 14168 } |
| 14169 |
| 14170 Node firstMatching(bool test(Node value), { Node orElse() }) { |
| 14171 return Collections.firstMatching(this, test, orElse); |
| 14172 } |
| 14173 |
| 14174 Node lastMatching(bool test(Node value), {Node orElse()}) { |
| 14175 return Collections.lastMatchingInList(this, test, orElse); |
| 14176 } |
| 14177 |
| 14178 Node singleMatching(bool test(Node value)) { |
| 14179 return Collections.singleMatching(this, test); |
| 14180 } |
| 14181 |
| 14182 Node elementAt(int index) { |
| 14183 return this[index]; |
| 14184 } |
| 14185 |
| 14186 // From Collection<Node>: |
| 14187 |
| 14188 void add(Node value) { |
| 14189 throw new UnsupportedError("Cannot add to immutable List."); |
| 14190 } |
| 14191 |
| 14192 void addLast(Node value) { |
| 14193 throw new UnsupportedError("Cannot add to immutable List."); |
| 14194 } |
| 14195 |
| 14196 void addAll(Iterable<Node> iterable) { |
| 14197 throw new UnsupportedError("Cannot add to immutable List."); |
| 14198 } |
| 14199 |
13581 // From List<Node>: | 14200 // From List<Node>: |
13582 void set length(int value) { | 14201 void set length(int value) { |
13583 throw new UnsupportedError("Cannot resize immutable List."); | 14202 throw new UnsupportedError("Cannot resize immutable List."); |
13584 } | 14203 } |
13585 | 14204 |
13586 void clear() { | 14205 void clear() { |
13587 throw new UnsupportedError("Cannot clear immutable List."); | 14206 throw new UnsupportedError("Cannot clear immutable List."); |
13588 } | 14207 } |
13589 | 14208 |
13590 void sort([int compare(Node a, Node b)]) { | 14209 void sort([int compare(Node a, Node b)]) { |
13591 throw new UnsupportedError("Cannot sort immutable List."); | 14210 throw new UnsupportedError("Cannot sort immutable List."); |
13592 } | 14211 } |
13593 | 14212 |
13594 int indexOf(Node element, [int start = 0]) => | 14213 int indexOf(Node element, [int start = 0]) => |
13595 Lists.indexOf(this, element, start, this.length); | 14214 Lists.indexOf(this, element, start, this.length); |
13596 | 14215 |
13597 int lastIndexOf(Node element, [int start]) { | 14216 int lastIndexOf(Node element, [int start]) { |
13598 if (start == null) start = length - 1; | 14217 if (start == null) start = length - 1; |
13599 return Lists.lastIndexOf(this, element, start); | 14218 return Lists.lastIndexOf(this, element, start); |
13600 } | 14219 } |
13601 | 14220 |
13602 Node get first => this[0]; | 14221 Node get first { |
| 14222 if (this.length > 0) return this[0]; |
| 14223 throw new StateError("No elements"); |
| 14224 } |
13603 | 14225 |
13604 Node get last => this[length - 1]; | 14226 Node get last { |
| 14227 if (this.length > 0) return this[this.length - 1]; |
| 14228 throw new StateError("No elements"); |
| 14229 } |
| 14230 |
| 14231 Node get single { |
| 14232 if (length == 1) return this[0]; |
| 14233 if (length == 0) throw new StateError("No elements"); |
| 14234 throw new StateError("More than one element"); |
| 14235 } |
| 14236 |
| 14237 Node min([int compare(Node a, Node b)]) => _Collections.minInList(this, compar
e); |
| 14238 |
| 14239 Node max([int compare(Node a, Node b)]) => _Collections.maxInList(this, compar
e); |
13605 | 14240 |
13606 Node removeAt(int pos) { | 14241 Node removeAt(int pos) { |
13607 throw new UnsupportedError("Cannot removeAt on immutable List."); | 14242 throw new UnsupportedError("Cannot removeAt on immutable List."); |
13608 } | 14243 } |
13609 | 14244 |
13610 Node removeLast() { | 14245 Node removeLast() { |
13611 throw new UnsupportedError("Cannot removeLast on immutable List."); | 14246 throw new UnsupportedError("Cannot removeLast on immutable List."); |
13612 } | 14247 } |
13613 | 14248 |
13614 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { | 14249 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13771 * Lazy implementation of the child nodes of an element that does not request | 14406 * Lazy implementation of the child nodes of an element that does not request |
13772 * the actual child nodes of an element until strictly necessary greatly | 14407 * the actual child nodes of an element until strictly necessary greatly |
13773 * improving performance for the typical cases where it is not required. | 14408 * improving performance for the typical cases where it is not required. |
13774 */ | 14409 */ |
13775 class _ChildNodeListLazy implements List { | 14410 class _ChildNodeListLazy implements List { |
13776 final Node _this; | 14411 final Node _this; |
13777 | 14412 |
13778 _ChildNodeListLazy(this._this); | 14413 _ChildNodeListLazy(this._this); |
13779 | 14414 |
13780 | 14415 |
13781 Node get first => JS('Node', '#.firstChild', _this); | 14416 Node get first { |
13782 Node get last => JS('Node', '#.lastChild', _this); | 14417 Node result = JS('Node', '#.firstChild', _this); |
| 14418 if (result == null) throw new StateError("No elements"); |
| 14419 return result; |
| 14420 } |
| 14421 Node get last { |
| 14422 Node result = JS('Node', '#.lastChild', _this); |
| 14423 if (result == null) throw new StateError("No elements"); |
| 14424 return result; |
| 14425 } |
| 14426 Node get single { |
| 14427 int l = this.length; |
| 14428 if (l == 0) throw new StateError("No elements"); |
| 14429 if (l > 1) throw new StateError("More than one element"); |
| 14430 return JS('Node', '#.firstChild', _this); |
| 14431 } |
| 14432 |
| 14433 Node min([int compare(Node a, Node b)]) { |
| 14434 return _Collections.minInList(this, compare); |
| 14435 } |
| 14436 |
| 14437 Node max([int compare(Node a, Node b)]) { |
| 14438 return _Collections.maxInList(this, compare); |
| 14439 } |
13783 | 14440 |
13784 void add(Node value) { | 14441 void add(Node value) { |
13785 _this.$dom_appendChild(value); | 14442 _this.$dom_appendChild(value); |
13786 } | 14443 } |
13787 | 14444 |
13788 void addLast(Node value) { | 14445 void addLast(Node value) { |
13789 _this.$dom_appendChild(value); | 14446 _this.$dom_appendChild(value); |
13790 } | 14447 } |
13791 | 14448 |
13792 | 14449 |
13793 void addAll(Collection<Node> collection) { | 14450 void addAll(Iterable<Node> iterable) { |
13794 for (Node node in collection) { | 14451 for (Node node in iterable) { |
13795 _this.$dom_appendChild(node); | 14452 _this.$dom_appendChild(node); |
13796 } | 14453 } |
13797 } | 14454 } |
13798 | 14455 |
13799 Node removeLast() { | 14456 Node removeLast() { |
13800 final result = last; | 14457 final result = last; |
13801 if (result != null) { | 14458 if (result != null) { |
13802 _this.$dom_removeChild(result); | 14459 _this.$dom_removeChild(result); |
13803 } | 14460 } |
13804 return result; | 14461 return result; |
13805 } | 14462 } |
13806 | 14463 |
13807 Node removeAt(int index) { | 14464 Node removeAt(int index) { |
13808 var result = this[index]; | 14465 var result = this[index]; |
13809 if (result != null) { | 14466 if (result != null) { |
13810 _this.$dom_removeChild(result); | 14467 _this.$dom_removeChild(result); |
13811 } | 14468 } |
13812 return result; | 14469 return result; |
13813 } | 14470 } |
13814 | 14471 |
13815 void clear() { | 14472 void clear() { |
13816 _this.text = ''; | 14473 _this.text = ''; |
13817 } | 14474 } |
13818 | 14475 |
13819 void operator []=(int index, Node value) { | 14476 void operator []=(int index, Node value) { |
13820 _this.$dom_replaceChild(value, this[index]); | 14477 _this.$dom_replaceChild(value, this[index]); |
13821 } | 14478 } |
13822 | 14479 |
13823 Iterator<Node> iterator() => _this.$dom_childNodes.iterator(); | 14480 Iterator<Node> get iterator => _this.$dom_childNodes.iterator; |
13824 | 14481 |
13825 // TODO(jacobr): We can implement these methods much more efficiently by | 14482 // TODO(jacobr): We can implement these methods much more efficiently by |
13826 // looking up the nodeList only once instead of once per iteration. | 14483 // looking up the nodeList only once instead of once per iteration. |
13827 bool contains(Node element) => Collections.contains(this, element); | 14484 bool contains(Node element) => Collections.contains(this, element); |
13828 | 14485 |
13829 void forEach(void f(Node element)) => Collections.forEach(this, f); | 14486 void forEach(void f(Node element)) => Collections.forEach(this, f); |
13830 | 14487 |
13831 dynamic reduce(dynamic initialValue, | 14488 dynamic reduce(dynamic initialValue, |
13832 dynamic combine(dynamic previousValue, Node element)) { | 14489 dynamic combine(dynamic previousValue, Node element)) { |
13833 return Collections.reduce(this, initialValue, combine); | 14490 return Collections.reduce(this, initialValue, combine); |
13834 } | 14491 } |
13835 | 14492 |
13836 Collection map(f(Node element)) => Collections.map(this, [], f); | 14493 String join([String separator]) { |
| 14494 return Collections.joinList(this, separator); |
| 14495 } |
13837 | 14496 |
13838 Collection<Node> filter(bool f(Node element)) => | 14497 List mappedBy(f(Node element)) => |
13839 Collections.filter(this, <Node>[], f); | 14498 new MappedList<Node, dynamic>(this, f); |
| 14499 |
| 14500 Iterable<Node> where(bool f(Node element)) => |
| 14501 new WhereIterable<Node>(this, f); |
13840 | 14502 |
13841 bool every(bool f(Node element)) => Collections.every(this, f); | 14503 bool every(bool f(Node element)) => Collections.every(this, f); |
13842 | 14504 |
13843 bool some(bool f(Node element)) => Collections.some(this, f); | 14505 bool any(bool f(Node element)) => Collections.any(this, f); |
13844 | 14506 |
13845 bool get isEmpty => this.length == 0; | 14507 bool get isEmpty => this.length == 0; |
13846 | 14508 |
13847 // From List<Node>: | 14509 // From List<Node>: |
13848 | 14510 |
| 14511 List<Node> take(int n) { |
| 14512 return new ListView<Node>(this, 0, n); |
| 14513 } |
| 14514 |
| 14515 Iterable<Node> takeWhile(bool test(Node value)) { |
| 14516 return new TakeWhileIterable<Node>(this, test); |
| 14517 } |
| 14518 |
| 14519 List<Node> skip(int n) { |
| 14520 return new ListView<Node>(this, n, null); |
| 14521 } |
| 14522 |
| 14523 Iterable<Node> skipWhile(bool test(Node value)) { |
| 14524 return new SkipWhileIterable<Node>(this, test); |
| 14525 } |
| 14526 |
| 14527 Node firstMatching(bool test(Node value), {Node orElse()}) { |
| 14528 return Collections.firstMatching(this, test, orElse); |
| 14529 } |
| 14530 |
| 14531 Node lastMatching(bool test(Node value), {Node orElse()}) { |
| 14532 return Collections.lastMatchingInList(this, test, orElse); |
| 14533 } |
| 14534 |
| 14535 Node singleMatching(bool test(Node value)) { |
| 14536 return Collections.singleMatching(this, test); |
| 14537 } |
| 14538 |
| 14539 Node elementAt(int index) { |
| 14540 return this[index]; |
| 14541 } |
| 14542 |
13849 // TODO(jacobr): this could be implemented for child node lists. | 14543 // TODO(jacobr): this could be implemented for child node lists. |
13850 // The exception we throw here is misleading. | 14544 // The exception we throw here is misleading. |
13851 void sort([int compare(Node a, Node b)]) { | 14545 void sort([int compare(Node a, Node b)]) { |
13852 throw new UnsupportedError("Cannot sort immutable List."); | 14546 throw new UnsupportedError("Cannot sort immutable List."); |
13853 } | 14547 } |
13854 | 14548 |
13855 int indexOf(Node element, [int start = 0]) => | 14549 int indexOf(Node element, [int start = 0]) => |
13856 Lists.indexOf(this, element, start, this.length); | 14550 Lists.indexOf(this, element, start, this.length); |
13857 | 14551 |
13858 int lastIndexOf(Node element, [int start = 0]) => | 14552 int lastIndexOf(Node element, [int start = 0]) => |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14149 Node operator[](int index) => JS("Node", "#[#]", this, index); | 14843 Node operator[](int index) => JS("Node", "#[#]", this, index); |
14150 | 14844 |
14151 void operator[]=(int index, Node value) { | 14845 void operator[]=(int index, Node value) { |
14152 throw new UnsupportedError("Cannot assign element of immutable List."); | 14846 throw new UnsupportedError("Cannot assign element of immutable List."); |
14153 } | 14847 } |
14154 // -- start List<Node> mixins. | 14848 // -- start List<Node> mixins. |
14155 // Node is the element type. | 14849 // Node is the element type. |
14156 | 14850 |
14157 // From Iterable<Node>: | 14851 // From Iterable<Node>: |
14158 | 14852 |
14159 Iterator<Node> iterator() { | 14853 Iterator<Node> get iterator { |
14160 // Note: NodeLists are not fixed size. And most probably length shouldn't | 14854 // Note: NodeLists are not fixed size. And most probably length shouldn't |
14161 // be cached in both iterator _and_ forEach method. For now caching it | 14855 // be cached in both iterator _and_ forEach method. For now caching it |
14162 // for consistency. | 14856 // for consistency. |
14163 return new FixedSizeListIterator<Node>(this); | 14857 return new FixedSizeListIterator<Node>(this); |
14164 } | 14858 } |
14165 | 14859 |
14166 // From Collection<Node>: | |
14167 | |
14168 void add(Node value) { | |
14169 throw new UnsupportedError("Cannot add to immutable List."); | |
14170 } | |
14171 | |
14172 void addLast(Node value) { | |
14173 throw new UnsupportedError("Cannot add to immutable List."); | |
14174 } | |
14175 | |
14176 void addAll(Collection<Node> collection) { | |
14177 throw new UnsupportedError("Cannot add to immutable List."); | |
14178 } | |
14179 | |
14180 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { | 14860 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Node)) { |
14181 return Collections.reduce(this, initialValue, combine); | 14861 return Collections.reduce(this, initialValue, combine); |
14182 } | 14862 } |
14183 | 14863 |
14184 bool contains(Node element) => Collections.contains(this, element); | 14864 bool contains(Node element) => Collections.contains(this, element); |
14185 | 14865 |
14186 void forEach(void f(Node element)) => Collections.forEach(this, f); | 14866 void forEach(void f(Node element)) => Collections.forEach(this, f); |
14187 | 14867 |
14188 Collection map(f(Node element)) => Collections.map(this, [], f); | 14868 String join([String separator]) => Collections.joinList(this, separator); |
14189 | 14869 |
14190 Collection<Node> filter(bool f(Node element)) => | 14870 List mappedBy(f(Node element)) => new MappedList<Node, dynamic>(this, f); |
14191 Collections.filter(this, <Node>[], f); | 14871 |
| 14872 Iterable<Node> where(bool f(Node element)) => new WhereIterable<Node>(this, f)
; |
14192 | 14873 |
14193 bool every(bool f(Node element)) => Collections.every(this, f); | 14874 bool every(bool f(Node element)) => Collections.every(this, f); |
14194 | 14875 |
14195 bool some(bool f(Node element)) => Collections.some(this, f); | 14876 bool any(bool f(Node element)) => Collections.any(this, f); |
14196 | 14877 |
14197 bool get isEmpty => this.length == 0; | 14878 bool get isEmpty => this.length == 0; |
14198 | 14879 |
| 14880 List<Node> take(int n) => new ListView<Node>(this, 0, n); |
| 14881 |
| 14882 Iterable<Node> takeWhile(bool test(Node value)) { |
| 14883 return new TakeWhileIterable<Node>(this, test); |
| 14884 } |
| 14885 |
| 14886 List<Node> skip(int n) => new ListView<Node>(this, n, null); |
| 14887 |
| 14888 Iterable<Node> skipWhile(bool test(Node value)) { |
| 14889 return new SkipWhileIterable<Node>(this, test); |
| 14890 } |
| 14891 |
| 14892 Node firstMatching(bool test(Node value), { Node orElse() }) { |
| 14893 return Collections.firstMatching(this, test, orElse); |
| 14894 } |
| 14895 |
| 14896 Node lastMatching(bool test(Node value), {Node orElse()}) { |
| 14897 return Collections.lastMatchingInList(this, test, orElse); |
| 14898 } |
| 14899 |
| 14900 Node singleMatching(bool test(Node value)) { |
| 14901 return Collections.singleMatching(this, test); |
| 14902 } |
| 14903 |
| 14904 Node elementAt(int index) { |
| 14905 return this[index]; |
| 14906 } |
| 14907 |
| 14908 // From Collection<Node>: |
| 14909 |
| 14910 void add(Node value) { |
| 14911 throw new UnsupportedError("Cannot add to immutable List."); |
| 14912 } |
| 14913 |
| 14914 void addLast(Node value) { |
| 14915 throw new UnsupportedError("Cannot add to immutable List."); |
| 14916 } |
| 14917 |
| 14918 void addAll(Iterable<Node> iterable) { |
| 14919 throw new UnsupportedError("Cannot add to immutable List."); |
| 14920 } |
| 14921 |
14199 // From List<Node>: | 14922 // From List<Node>: |
14200 void set length(int value) { | 14923 void set length(int value) { |
14201 throw new UnsupportedError("Cannot resize immutable List."); | 14924 throw new UnsupportedError("Cannot resize immutable List."); |
14202 } | 14925 } |
14203 | 14926 |
14204 void clear() { | 14927 void clear() { |
14205 throw new UnsupportedError("Cannot clear immutable List."); | 14928 throw new UnsupportedError("Cannot clear immutable List."); |
14206 } | 14929 } |
14207 | 14930 |
14208 void sort([int compare(Node a, Node b)]) { | 14931 void sort([int compare(Node a, Node b)]) { |
14209 throw new UnsupportedError("Cannot sort immutable List."); | 14932 throw new UnsupportedError("Cannot sort immutable List."); |
14210 } | 14933 } |
14211 | 14934 |
14212 int indexOf(Node element, [int start = 0]) => | 14935 int indexOf(Node element, [int start = 0]) => |
14213 Lists.indexOf(this, element, start, this.length); | 14936 Lists.indexOf(this, element, start, this.length); |
14214 | 14937 |
14215 int lastIndexOf(Node element, [int start]) { | 14938 int lastIndexOf(Node element, [int start]) { |
14216 if (start == null) start = length - 1; | 14939 if (start == null) start = length - 1; |
14217 return Lists.lastIndexOf(this, element, start); | 14940 return Lists.lastIndexOf(this, element, start); |
14218 } | 14941 } |
14219 | 14942 |
14220 Node get first => this[0]; | 14943 Node get first { |
| 14944 if (this.length > 0) return this[0]; |
| 14945 throw new StateError("No elements"); |
| 14946 } |
14221 | 14947 |
14222 Node get last => this[length - 1]; | 14948 Node get last { |
| 14949 if (this.length > 0) return this[this.length - 1]; |
| 14950 throw new StateError("No elements"); |
| 14951 } |
| 14952 |
| 14953 Node get single { |
| 14954 if (length == 1) return this[0]; |
| 14955 if (length == 0) throw new StateError("No elements"); |
| 14956 throw new StateError("More than one element"); |
| 14957 } |
| 14958 |
| 14959 Node min([int compare(Node a, Node b)]) => _Collections.minInList(this, compar
e); |
| 14960 |
| 14961 Node max([int compare(Node a, Node b)]) => _Collections.maxInList(this, compar
e); |
14223 | 14962 |
14224 Node removeAt(int pos) { | 14963 Node removeAt(int pos) { |
14225 throw new UnsupportedError("Cannot removeAt on immutable List."); | 14964 throw new UnsupportedError("Cannot removeAt on immutable List."); |
14226 } | 14965 } |
14227 | 14966 |
14228 Node removeLast() { | 14967 Node removeLast() { |
14229 throw new UnsupportedError("Cannot removeLast on immutable List."); | 14968 throw new UnsupportedError("Cannot removeLast on immutable List."); |
14230 } | 14969 } |
14231 | 14970 |
14232 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { | 14971 void setRange(int start, int rangeLength, List<Node> from, [int startFrom]) { |
(...skipping 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15801 /// @domName HTMLSelectElement.namedItem; @docsEditable true | 16540 /// @domName HTMLSelectElement.namedItem; @docsEditable true |
15802 Node namedItem(String name) native; | 16541 Node namedItem(String name) native; |
15803 | 16542 |
15804 /// @domName HTMLSelectElement.setCustomValidity; @docsEditable true | 16543 /// @domName HTMLSelectElement.setCustomValidity; @docsEditable true |
15805 void setCustomValidity(String error) native; | 16544 void setCustomValidity(String error) native; |
15806 | 16545 |
15807 | 16546 |
15808 // Override default options, since IE returns SelectElement itself and it | 16547 // Override default options, since IE returns SelectElement itself and it |
15809 // does not operate as a List. | 16548 // does not operate as a List. |
15810 List<OptionElement> get options { | 16549 List<OptionElement> get options { |
15811 return this.children.filter((e) => e is OptionElement); | 16550 return this.children.where((e) => e is OptionElement).toList(); |
15812 } | 16551 } |
15813 | 16552 |
15814 List<OptionElement> get selectedOptions { | 16553 List<OptionElement> get selectedOptions { |
15815 // IE does not change the selected flag for single-selection items. | 16554 // IE does not change the selected flag for single-selection items. |
15816 if (this.multiple) { | 16555 if (this.multiple) { |
15817 return this.options.filter((o) => o.selected); | 16556 return this.options.where((o) => o.selected).toList(); |
15818 } else { | 16557 } else { |
15819 return [this.options[this.selectedIndex]]; | 16558 return [this.options[this.selectedIndex]]; |
15820 } | 16559 } |
15821 } | 16560 } |
15822 } | 16561 } |
15823 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 16562 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
15824 // for details. All rights reserved. Use of this source code is governed by a | 16563 // for details. All rights reserved. Use of this source code is governed by a |
15825 // BSD-style license that can be found in the LICENSE file. | 16564 // BSD-style license that can be found in the LICENSE file. |
15826 | 16565 |
15827 | 16566 |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15973 SourceBuffer operator[](int index) => JS("SourceBuffer", "#[#]", this, index); | 16712 SourceBuffer operator[](int index) => JS("SourceBuffer", "#[#]", this, index); |
15974 | 16713 |
15975 void operator[]=(int index, SourceBuffer value) { | 16714 void operator[]=(int index, SourceBuffer value) { |
15976 throw new UnsupportedError("Cannot assign element of immutable List."); | 16715 throw new UnsupportedError("Cannot assign element of immutable List."); |
15977 } | 16716 } |
15978 // -- start List<SourceBuffer> mixins. | 16717 // -- start List<SourceBuffer> mixins. |
15979 // SourceBuffer is the element type. | 16718 // SourceBuffer is the element type. |
15980 | 16719 |
15981 // From Iterable<SourceBuffer>: | 16720 // From Iterable<SourceBuffer>: |
15982 | 16721 |
15983 Iterator<SourceBuffer> iterator() { | 16722 Iterator<SourceBuffer> get iterator { |
15984 // Note: NodeLists are not fixed size. And most probably length shouldn't | 16723 // Note: NodeLists are not fixed size. And most probably length shouldn't |
15985 // be cached in both iterator _and_ forEach method. For now caching it | 16724 // be cached in both iterator _and_ forEach method. For now caching it |
15986 // for consistency. | 16725 // for consistency. |
15987 return new FixedSizeListIterator<SourceBuffer>(this); | 16726 return new FixedSizeListIterator<SourceBuffer>(this); |
15988 } | 16727 } |
15989 | 16728 |
15990 // From Collection<SourceBuffer>: | |
15991 | |
15992 void add(SourceBuffer value) { | |
15993 throw new UnsupportedError("Cannot add to immutable List."); | |
15994 } | |
15995 | |
15996 void addLast(SourceBuffer value) { | |
15997 throw new UnsupportedError("Cannot add to immutable List."); | |
15998 } | |
15999 | |
16000 void addAll(Collection<SourceBuffer> collection) { | |
16001 throw new UnsupportedError("Cannot add to immutable List."); | |
16002 } | |
16003 | |
16004 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SourceBuffer)) { | 16729 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SourceBuffer)) { |
16005 return Collections.reduce(this, initialValue, combine); | 16730 return Collections.reduce(this, initialValue, combine); |
16006 } | 16731 } |
16007 | 16732 |
16008 bool contains(SourceBuffer element) => Collections.contains(this, element); | 16733 bool contains(SourceBuffer element) => Collections.contains(this, element); |
16009 | 16734 |
16010 void forEach(void f(SourceBuffer element)) => Collections.forEach(this, f); | 16735 void forEach(void f(SourceBuffer element)) => Collections.forEach(this, f); |
16011 | 16736 |
16012 Collection map(f(SourceBuffer element)) => Collections.map(this, [], f); | 16737 String join([String separator]) => Collections.joinList(this, separator); |
16013 | 16738 |
16014 Collection<SourceBuffer> filter(bool f(SourceBuffer element)) => | 16739 List mappedBy(f(SourceBuffer element)) => new MappedList<SourceBuffer, dynamic
>(this, f); |
16015 Collections.filter(this, <SourceBuffer>[], f); | 16740 |
| 16741 Iterable<SourceBuffer> where(bool f(SourceBuffer element)) => new WhereIterabl
e<SourceBuffer>(this, f); |
16016 | 16742 |
16017 bool every(bool f(SourceBuffer element)) => Collections.every(this, f); | 16743 bool every(bool f(SourceBuffer element)) => Collections.every(this, f); |
16018 | 16744 |
16019 bool some(bool f(SourceBuffer element)) => Collections.some(this, f); | 16745 bool any(bool f(SourceBuffer element)) => Collections.any(this, f); |
16020 | 16746 |
16021 bool get isEmpty => this.length == 0; | 16747 bool get isEmpty => this.length == 0; |
16022 | 16748 |
| 16749 List<SourceBuffer> take(int n) => new ListView<SourceBuffer>(this, 0, n); |
| 16750 |
| 16751 Iterable<SourceBuffer> takeWhile(bool test(SourceBuffer value)) { |
| 16752 return new TakeWhileIterable<SourceBuffer>(this, test); |
| 16753 } |
| 16754 |
| 16755 List<SourceBuffer> skip(int n) => new ListView<SourceBuffer>(this, n, null); |
| 16756 |
| 16757 Iterable<SourceBuffer> skipWhile(bool test(SourceBuffer value)) { |
| 16758 return new SkipWhileIterable<SourceBuffer>(this, test); |
| 16759 } |
| 16760 |
| 16761 SourceBuffer firstMatching(bool test(SourceBuffer value), { SourceBuffer orEls
e() }) { |
| 16762 return Collections.firstMatching(this, test, orElse); |
| 16763 } |
| 16764 |
| 16765 SourceBuffer lastMatching(bool test(SourceBuffer value), {SourceBuffer orElse(
)}) { |
| 16766 return Collections.lastMatchingInList(this, test, orElse); |
| 16767 } |
| 16768 |
| 16769 SourceBuffer singleMatching(bool test(SourceBuffer value)) { |
| 16770 return Collections.singleMatching(this, test); |
| 16771 } |
| 16772 |
| 16773 SourceBuffer elementAt(int index) { |
| 16774 return this[index]; |
| 16775 } |
| 16776 |
| 16777 // From Collection<SourceBuffer>: |
| 16778 |
| 16779 void add(SourceBuffer value) { |
| 16780 throw new UnsupportedError("Cannot add to immutable List."); |
| 16781 } |
| 16782 |
| 16783 void addLast(SourceBuffer value) { |
| 16784 throw new UnsupportedError("Cannot add to immutable List."); |
| 16785 } |
| 16786 |
| 16787 void addAll(Iterable<SourceBuffer> iterable) { |
| 16788 throw new UnsupportedError("Cannot add to immutable List."); |
| 16789 } |
| 16790 |
16023 // From List<SourceBuffer>: | 16791 // From List<SourceBuffer>: |
16024 void set length(int value) { | 16792 void set length(int value) { |
16025 throw new UnsupportedError("Cannot resize immutable List."); | 16793 throw new UnsupportedError("Cannot resize immutable List."); |
16026 } | 16794 } |
16027 | 16795 |
16028 void clear() { | 16796 void clear() { |
16029 throw new UnsupportedError("Cannot clear immutable List."); | 16797 throw new UnsupportedError("Cannot clear immutable List."); |
16030 } | 16798 } |
16031 | 16799 |
16032 void sort([int compare(SourceBuffer a, SourceBuffer b)]) { | 16800 void sort([int compare(SourceBuffer a, SourceBuffer b)]) { |
16033 throw new UnsupportedError("Cannot sort immutable List."); | 16801 throw new UnsupportedError("Cannot sort immutable List."); |
16034 } | 16802 } |
16035 | 16803 |
16036 int indexOf(SourceBuffer element, [int start = 0]) => | 16804 int indexOf(SourceBuffer element, [int start = 0]) => |
16037 Lists.indexOf(this, element, start, this.length); | 16805 Lists.indexOf(this, element, start, this.length); |
16038 | 16806 |
16039 int lastIndexOf(SourceBuffer element, [int start]) { | 16807 int lastIndexOf(SourceBuffer element, [int start]) { |
16040 if (start == null) start = length - 1; | 16808 if (start == null) start = length - 1; |
16041 return Lists.lastIndexOf(this, element, start); | 16809 return Lists.lastIndexOf(this, element, start); |
16042 } | 16810 } |
16043 | 16811 |
16044 SourceBuffer get first => this[0]; | 16812 SourceBuffer get first { |
| 16813 if (this.length > 0) return this[0]; |
| 16814 throw new StateError("No elements"); |
| 16815 } |
16045 | 16816 |
16046 SourceBuffer get last => this[length - 1]; | 16817 SourceBuffer get last { |
| 16818 if (this.length > 0) return this[this.length - 1]; |
| 16819 throw new StateError("No elements"); |
| 16820 } |
| 16821 |
| 16822 SourceBuffer get single { |
| 16823 if (length == 1) return this[0]; |
| 16824 if (length == 0) throw new StateError("No elements"); |
| 16825 throw new StateError("More than one element"); |
| 16826 } |
| 16827 |
| 16828 SourceBuffer min([int compare(SourceBuffer a, SourceBuffer b)]) => _Collection
s.minInList(this, compare); |
| 16829 |
| 16830 SourceBuffer max([int compare(SourceBuffer a, SourceBuffer b)]) => _Collection
s.maxInList(this, compare); |
16047 | 16831 |
16048 SourceBuffer removeAt(int pos) { | 16832 SourceBuffer removeAt(int pos) { |
16049 throw new UnsupportedError("Cannot removeAt on immutable List."); | 16833 throw new UnsupportedError("Cannot removeAt on immutable List."); |
16050 } | 16834 } |
16051 | 16835 |
16052 SourceBuffer removeLast() { | 16836 SourceBuffer removeLast() { |
16053 throw new UnsupportedError("Cannot removeLast on immutable List."); | 16837 throw new UnsupportedError("Cannot removeLast on immutable List."); |
16054 } | 16838 } |
16055 | 16839 |
16056 void setRange(int start, int rangeLength, List<SourceBuffer> from, [int startF
rom]) { | 16840 void setRange(int start, int rangeLength, List<SourceBuffer> from, [int startF
rom]) { |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16152 SpeechGrammar operator[](int index) => JS("SpeechGrammar", "#[#]", this, index
); | 16936 SpeechGrammar operator[](int index) => JS("SpeechGrammar", "#[#]", this, index
); |
16153 | 16937 |
16154 void operator[]=(int index, SpeechGrammar value) { | 16938 void operator[]=(int index, SpeechGrammar value) { |
16155 throw new UnsupportedError("Cannot assign element of immutable List."); | 16939 throw new UnsupportedError("Cannot assign element of immutable List."); |
16156 } | 16940 } |
16157 // -- start List<SpeechGrammar> mixins. | 16941 // -- start List<SpeechGrammar> mixins. |
16158 // SpeechGrammar is the element type. | 16942 // SpeechGrammar is the element type. |
16159 | 16943 |
16160 // From Iterable<SpeechGrammar>: | 16944 // From Iterable<SpeechGrammar>: |
16161 | 16945 |
16162 Iterator<SpeechGrammar> iterator() { | 16946 Iterator<SpeechGrammar> get iterator { |
16163 // Note: NodeLists are not fixed size. And most probably length shouldn't | 16947 // Note: NodeLists are not fixed size. And most probably length shouldn't |
16164 // be cached in both iterator _and_ forEach method. For now caching it | 16948 // be cached in both iterator _and_ forEach method. For now caching it |
16165 // for consistency. | 16949 // for consistency. |
16166 return new FixedSizeListIterator<SpeechGrammar>(this); | 16950 return new FixedSizeListIterator<SpeechGrammar>(this); |
16167 } | 16951 } |
16168 | 16952 |
| 16953 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SpeechGrammar))
{ |
| 16954 return Collections.reduce(this, initialValue, combine); |
| 16955 } |
| 16956 |
| 16957 bool contains(SpeechGrammar element) => Collections.contains(this, element); |
| 16958 |
| 16959 void forEach(void f(SpeechGrammar element)) => Collections.forEach(this, f); |
| 16960 |
| 16961 String join([String separator]) => Collections.joinList(this, separator); |
| 16962 |
| 16963 List mappedBy(f(SpeechGrammar element)) => new MappedList<SpeechGrammar, dynam
ic>(this, f); |
| 16964 |
| 16965 Iterable<SpeechGrammar> where(bool f(SpeechGrammar element)) => new WhereItera
ble<SpeechGrammar>(this, f); |
| 16966 |
| 16967 bool every(bool f(SpeechGrammar element)) => Collections.every(this, f); |
| 16968 |
| 16969 bool any(bool f(SpeechGrammar element)) => Collections.any(this, f); |
| 16970 |
| 16971 bool get isEmpty => this.length == 0; |
| 16972 |
| 16973 List<SpeechGrammar> take(int n) => new ListView<SpeechGrammar>(this, 0, n); |
| 16974 |
| 16975 Iterable<SpeechGrammar> takeWhile(bool test(SpeechGrammar value)) { |
| 16976 return new TakeWhileIterable<SpeechGrammar>(this, test); |
| 16977 } |
| 16978 |
| 16979 List<SpeechGrammar> skip(int n) => new ListView<SpeechGrammar>(this, n, null); |
| 16980 |
| 16981 Iterable<SpeechGrammar> skipWhile(bool test(SpeechGrammar value)) { |
| 16982 return new SkipWhileIterable<SpeechGrammar>(this, test); |
| 16983 } |
| 16984 |
| 16985 SpeechGrammar firstMatching(bool test(SpeechGrammar value), { SpeechGrammar or
Else() }) { |
| 16986 return Collections.firstMatching(this, test, orElse); |
| 16987 } |
| 16988 |
| 16989 SpeechGrammar lastMatching(bool test(SpeechGrammar value), {SpeechGrammar orEl
se()}) { |
| 16990 return Collections.lastMatchingInList(this, test, orElse); |
| 16991 } |
| 16992 |
| 16993 SpeechGrammar singleMatching(bool test(SpeechGrammar value)) { |
| 16994 return Collections.singleMatching(this, test); |
| 16995 } |
| 16996 |
| 16997 SpeechGrammar elementAt(int index) { |
| 16998 return this[index]; |
| 16999 } |
| 17000 |
16169 // From Collection<SpeechGrammar>: | 17001 // From Collection<SpeechGrammar>: |
16170 | 17002 |
16171 void add(SpeechGrammar value) { | 17003 void add(SpeechGrammar value) { |
16172 throw new UnsupportedError("Cannot add to immutable List."); | 17004 throw new UnsupportedError("Cannot add to immutable List."); |
16173 } | 17005 } |
16174 | 17006 |
16175 void addLast(SpeechGrammar value) { | 17007 void addLast(SpeechGrammar value) { |
16176 throw new UnsupportedError("Cannot add to immutable List."); | 17008 throw new UnsupportedError("Cannot add to immutable List."); |
16177 } | 17009 } |
16178 | 17010 |
16179 void addAll(Collection<SpeechGrammar> collection) { | 17011 void addAll(Iterable<SpeechGrammar> iterable) { |
16180 throw new UnsupportedError("Cannot add to immutable List."); | 17012 throw new UnsupportedError("Cannot add to immutable List."); |
16181 } | 17013 } |
16182 | 17014 |
16183 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SpeechGrammar))
{ | |
16184 return Collections.reduce(this, initialValue, combine); | |
16185 } | |
16186 | |
16187 bool contains(SpeechGrammar element) => Collections.contains(this, element); | |
16188 | |
16189 void forEach(void f(SpeechGrammar element)) => Collections.forEach(this, f); | |
16190 | |
16191 Collection map(f(SpeechGrammar element)) => Collections.map(this, [], f); | |
16192 | |
16193 Collection<SpeechGrammar> filter(bool f(SpeechGrammar element)) => | |
16194 Collections.filter(this, <SpeechGrammar>[], f); | |
16195 | |
16196 bool every(bool f(SpeechGrammar element)) => Collections.every(this, f); | |
16197 | |
16198 bool some(bool f(SpeechGrammar element)) => Collections.some(this, f); | |
16199 | |
16200 bool get isEmpty => this.length == 0; | |
16201 | |
16202 // From List<SpeechGrammar>: | 17015 // From List<SpeechGrammar>: |
16203 void set length(int value) { | 17016 void set length(int value) { |
16204 throw new UnsupportedError("Cannot resize immutable List."); | 17017 throw new UnsupportedError("Cannot resize immutable List."); |
16205 } | 17018 } |
16206 | 17019 |
16207 void clear() { | 17020 void clear() { |
16208 throw new UnsupportedError("Cannot clear immutable List."); | 17021 throw new UnsupportedError("Cannot clear immutable List."); |
16209 } | 17022 } |
16210 | 17023 |
16211 void sort([int compare(SpeechGrammar a, SpeechGrammar b)]) { | 17024 void sort([int compare(SpeechGrammar a, SpeechGrammar b)]) { |
16212 throw new UnsupportedError("Cannot sort immutable List."); | 17025 throw new UnsupportedError("Cannot sort immutable List."); |
16213 } | 17026 } |
16214 | 17027 |
16215 int indexOf(SpeechGrammar element, [int start = 0]) => | 17028 int indexOf(SpeechGrammar element, [int start = 0]) => |
16216 Lists.indexOf(this, element, start, this.length); | 17029 Lists.indexOf(this, element, start, this.length); |
16217 | 17030 |
16218 int lastIndexOf(SpeechGrammar element, [int start]) { | 17031 int lastIndexOf(SpeechGrammar element, [int start]) { |
16219 if (start == null) start = length - 1; | 17032 if (start == null) start = length - 1; |
16220 return Lists.lastIndexOf(this, element, start); | 17033 return Lists.lastIndexOf(this, element, start); |
16221 } | 17034 } |
16222 | 17035 |
16223 SpeechGrammar get first => this[0]; | 17036 SpeechGrammar get first { |
| 17037 if (this.length > 0) return this[0]; |
| 17038 throw new StateError("No elements"); |
| 17039 } |
16224 | 17040 |
16225 SpeechGrammar get last => this[length - 1]; | 17041 SpeechGrammar get last { |
| 17042 if (this.length > 0) return this[this.length - 1]; |
| 17043 throw new StateError("No elements"); |
| 17044 } |
| 17045 |
| 17046 SpeechGrammar get single { |
| 17047 if (length == 1) return this[0]; |
| 17048 if (length == 0) throw new StateError("No elements"); |
| 17049 throw new StateError("More than one element"); |
| 17050 } |
| 17051 |
| 17052 SpeechGrammar min([int compare(SpeechGrammar a, SpeechGrammar b)]) => _Collect
ions.minInList(this, compare); |
| 17053 |
| 17054 SpeechGrammar max([int compare(SpeechGrammar a, SpeechGrammar b)]) => _Collect
ions.maxInList(this, compare); |
16226 | 17055 |
16227 SpeechGrammar removeAt(int pos) { | 17056 SpeechGrammar removeAt(int pos) { |
16228 throw new UnsupportedError("Cannot removeAt on immutable List."); | 17057 throw new UnsupportedError("Cannot removeAt on immutable List."); |
16229 } | 17058 } |
16230 | 17059 |
16231 SpeechGrammar removeLast() { | 17060 SpeechGrammar removeLast() { |
16232 throw new UnsupportedError("Cannot removeLast on immutable List."); | 17061 throw new UnsupportedError("Cannot removeLast on immutable List."); |
16233 } | 17062 } |
16234 | 17063 |
16235 void setRange(int start, int rangeLength, List<SpeechGrammar> from, [int start
From]) { | 17064 void setRange(int start, int rangeLength, List<SpeechGrammar> from, [int start
From]) { |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16533 Map operator[](int index) => JS("Map", "#[#]", this, index); | 17362 Map operator[](int index) => JS("Map", "#[#]", this, index); |
16534 | 17363 |
16535 void operator[]=(int index, Map value) { | 17364 void operator[]=(int index, Map value) { |
16536 throw new UnsupportedError("Cannot assign element of immutable List."); | 17365 throw new UnsupportedError("Cannot assign element of immutable List."); |
16537 } | 17366 } |
16538 // -- start List<Map> mixins. | 17367 // -- start List<Map> mixins. |
16539 // Map is the element type. | 17368 // Map is the element type. |
16540 | 17369 |
16541 // From Iterable<Map>: | 17370 // From Iterable<Map>: |
16542 | 17371 |
16543 Iterator<Map> iterator() { | 17372 Iterator<Map> get iterator { |
16544 // Note: NodeLists are not fixed size. And most probably length shouldn't | 17373 // Note: NodeLists are not fixed size. And most probably length shouldn't |
16545 // be cached in both iterator _and_ forEach method. For now caching it | 17374 // be cached in both iterator _and_ forEach method. For now caching it |
16546 // for consistency. | 17375 // for consistency. |
16547 return new FixedSizeListIterator<Map>(this); | 17376 return new FixedSizeListIterator<Map>(this); |
16548 } | 17377 } |
16549 | 17378 |
16550 // From Collection<Map>: | |
16551 | |
16552 void add(Map value) { | |
16553 throw new UnsupportedError("Cannot add to immutable List."); | |
16554 } | |
16555 | |
16556 void addLast(Map value) { | |
16557 throw new UnsupportedError("Cannot add to immutable List."); | |
16558 } | |
16559 | |
16560 void addAll(Collection<Map> collection) { | |
16561 throw new UnsupportedError("Cannot add to immutable List."); | |
16562 } | |
16563 | |
16564 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Map)) { | 17379 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Map)) { |
16565 return Collections.reduce(this, initialValue, combine); | 17380 return Collections.reduce(this, initialValue, combine); |
16566 } | 17381 } |
16567 | 17382 |
16568 bool contains(Map element) => Collections.contains(this, element); | 17383 bool contains(Map element) => Collections.contains(this, element); |
16569 | 17384 |
16570 void forEach(void f(Map element)) => Collections.forEach(this, f); | 17385 void forEach(void f(Map element)) => Collections.forEach(this, f); |
16571 | 17386 |
16572 Collection map(f(Map element)) => Collections.map(this, [], f); | 17387 String join([String separator]) => Collections.joinList(this, separator); |
16573 | 17388 |
16574 Collection<Map> filter(bool f(Map element)) => | 17389 List mappedBy(f(Map element)) => new MappedList<Map, dynamic>(this, f); |
16575 Collections.filter(this, <Map>[], f); | 17390 |
| 17391 Iterable<Map> where(bool f(Map element)) => new WhereIterable<Map>(this, f); |
16576 | 17392 |
16577 bool every(bool f(Map element)) => Collections.every(this, f); | 17393 bool every(bool f(Map element)) => Collections.every(this, f); |
16578 | 17394 |
16579 bool some(bool f(Map element)) => Collections.some(this, f); | 17395 bool any(bool f(Map element)) => Collections.any(this, f); |
16580 | 17396 |
16581 bool get isEmpty => this.length == 0; | 17397 bool get isEmpty => this.length == 0; |
16582 | 17398 |
| 17399 List<Map> take(int n) => new ListView<Map>(this, 0, n); |
| 17400 |
| 17401 Iterable<Map> takeWhile(bool test(Map value)) { |
| 17402 return new TakeWhileIterable<Map>(this, test); |
| 17403 } |
| 17404 |
| 17405 List<Map> skip(int n) => new ListView<Map>(this, n, null); |
| 17406 |
| 17407 Iterable<Map> skipWhile(bool test(Map value)) { |
| 17408 return new SkipWhileIterable<Map>(this, test); |
| 17409 } |
| 17410 |
| 17411 Map firstMatching(bool test(Map value), { Map orElse() }) { |
| 17412 return Collections.firstMatching(this, test, orElse); |
| 17413 } |
| 17414 |
| 17415 Map lastMatching(bool test(Map value), {Map orElse()}) { |
| 17416 return Collections.lastMatchingInList(this, test, orElse); |
| 17417 } |
| 17418 |
| 17419 Map singleMatching(bool test(Map value)) { |
| 17420 return Collections.singleMatching(this, test); |
| 17421 } |
| 17422 |
| 17423 Map elementAt(int index) { |
| 17424 return this[index]; |
| 17425 } |
| 17426 |
| 17427 // From Collection<Map>: |
| 17428 |
| 17429 void add(Map value) { |
| 17430 throw new UnsupportedError("Cannot add to immutable List."); |
| 17431 } |
| 17432 |
| 17433 void addLast(Map value) { |
| 17434 throw new UnsupportedError("Cannot add to immutable List."); |
| 17435 } |
| 17436 |
| 17437 void addAll(Iterable<Map> iterable) { |
| 17438 throw new UnsupportedError("Cannot add to immutable List."); |
| 17439 } |
| 17440 |
16583 // From List<Map>: | 17441 // From List<Map>: |
16584 void set length(int value) { | 17442 void set length(int value) { |
16585 throw new UnsupportedError("Cannot resize immutable List."); | 17443 throw new UnsupportedError("Cannot resize immutable List."); |
16586 } | 17444 } |
16587 | 17445 |
16588 void clear() { | 17446 void clear() { |
16589 throw new UnsupportedError("Cannot clear immutable List."); | 17447 throw new UnsupportedError("Cannot clear immutable List."); |
16590 } | 17448 } |
16591 | 17449 |
16592 void sort([int compare(Map a, Map b)]) { | 17450 void sort([int compare(Map a, Map b)]) { |
16593 throw new UnsupportedError("Cannot sort immutable List."); | 17451 throw new UnsupportedError("Cannot sort immutable List."); |
16594 } | 17452 } |
16595 | 17453 |
16596 int indexOf(Map element, [int start = 0]) => | 17454 int indexOf(Map element, [int start = 0]) => |
16597 Lists.indexOf(this, element, start, this.length); | 17455 Lists.indexOf(this, element, start, this.length); |
16598 | 17456 |
16599 int lastIndexOf(Map element, [int start]) { | 17457 int lastIndexOf(Map element, [int start]) { |
16600 if (start == null) start = length - 1; | 17458 if (start == null) start = length - 1; |
16601 return Lists.lastIndexOf(this, element, start); | 17459 return Lists.lastIndexOf(this, element, start); |
16602 } | 17460 } |
16603 | 17461 |
16604 Map get first => this[0]; | 17462 Map get first { |
| 17463 if (this.length > 0) return this[0]; |
| 17464 throw new StateError("No elements"); |
| 17465 } |
16605 | 17466 |
16606 Map get last => this[length - 1]; | 17467 Map get last { |
| 17468 if (this.length > 0) return this[this.length - 1]; |
| 17469 throw new StateError("No elements"); |
| 17470 } |
| 17471 |
| 17472 Map get single { |
| 17473 if (length == 1) return this[0]; |
| 17474 if (length == 0) throw new StateError("No elements"); |
| 17475 throw new StateError("More than one element"); |
| 17476 } |
| 17477 |
| 17478 Map min([int compare(Map a, Map b)]) => _Collections.minInList(this, compare); |
| 17479 |
| 17480 Map max([int compare(Map a, Map b)]) => _Collections.maxInList(this, compare); |
16607 | 17481 |
16608 Map removeAt(int pos) { | 17482 Map removeAt(int pos) { |
16609 throw new UnsupportedError("Cannot removeAt on immutable List."); | 17483 throw new UnsupportedError("Cannot removeAt on immutable List."); |
16610 } | 17484 } |
16611 | 17485 |
16612 Map removeLast() { | 17486 Map removeLast() { |
16613 throw new UnsupportedError("Cannot removeLast on immutable List."); | 17487 throw new UnsupportedError("Cannot removeLast on immutable List."); |
16614 } | 17488 } |
16615 | 17489 |
16616 void setRange(int start, int rangeLength, List<Map> from, [int startFrom]) { | 17490 void setRange(int start, int rangeLength, List<Map> from, [int startFrom]) { |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16662 } | 17536 } |
16663 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 17537 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
16664 // for details. All rights reserved. Use of this source code is governed by a | 17538 // for details. All rights reserved. Use of this source code is governed by a |
16665 // BSD-style license that can be found in the LICENSE file. | 17539 // BSD-style license that can be found in the LICENSE file. |
16666 | 17540 |
16667 | 17541 |
16668 /// @domName Storage | 17542 /// @domName Storage |
16669 class Storage implements Map<String, String> native "*Storage" { | 17543 class Storage implements Map<String, String> native "*Storage" { |
16670 | 17544 |
16671 // TODO(nweiz): update this when maps support lazy iteration | 17545 // TODO(nweiz): update this when maps support lazy iteration |
16672 bool containsValue(String value) => values.some((e) => e == value); | 17546 bool containsValue(String value) => values.any((e) => e == value); |
16673 | 17547 |
16674 bool containsKey(String key) => $dom_getItem(key) != null; | 17548 bool containsKey(String key) => $dom_getItem(key) != null; |
16675 | 17549 |
16676 String operator [](String key) => $dom_getItem(key); | 17550 String operator [](String key) => $dom_getItem(key); |
16677 | 17551 |
16678 void operator []=(String key, String value) { $dom_setItem(key, value); } | 17552 void operator []=(String key, String value) { $dom_setItem(key, value); } |
16679 | 17553 |
16680 String putIfAbsent(String key, String ifAbsent()) { | 17554 String putIfAbsent(String key, String ifAbsent()) { |
16681 if (!containsKey(key)) this[key] = ifAbsent(); | 17555 if (!containsKey(key)) this[key] = ifAbsent(); |
16682 return this[key]; | 17556 return this[key]; |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17338 TextTrackCue operator[](int index) => JS("TextTrackCue", "#[#]", this, index); | 18212 TextTrackCue operator[](int index) => JS("TextTrackCue", "#[#]", this, index); |
17339 | 18213 |
17340 void operator[]=(int index, TextTrackCue value) { | 18214 void operator[]=(int index, TextTrackCue value) { |
17341 throw new UnsupportedError("Cannot assign element of immutable List."); | 18215 throw new UnsupportedError("Cannot assign element of immutable List."); |
17342 } | 18216 } |
17343 // -- start List<TextTrackCue> mixins. | 18217 // -- start List<TextTrackCue> mixins. |
17344 // TextTrackCue is the element type. | 18218 // TextTrackCue is the element type. |
17345 | 18219 |
17346 // From Iterable<TextTrackCue>: | 18220 // From Iterable<TextTrackCue>: |
17347 | 18221 |
17348 Iterator<TextTrackCue> iterator() { | 18222 Iterator<TextTrackCue> get iterator { |
17349 // Note: NodeLists are not fixed size. And most probably length shouldn't | 18223 // Note: NodeLists are not fixed size. And most probably length shouldn't |
17350 // be cached in both iterator _and_ forEach method. For now caching it | 18224 // be cached in both iterator _and_ forEach method. For now caching it |
17351 // for consistency. | 18225 // for consistency. |
17352 return new FixedSizeListIterator<TextTrackCue>(this); | 18226 return new FixedSizeListIterator<TextTrackCue>(this); |
17353 } | 18227 } |
17354 | 18228 |
17355 // From Collection<TextTrackCue>: | |
17356 | |
17357 void add(TextTrackCue value) { | |
17358 throw new UnsupportedError("Cannot add to immutable List."); | |
17359 } | |
17360 | |
17361 void addLast(TextTrackCue value) { | |
17362 throw new UnsupportedError("Cannot add to immutable List."); | |
17363 } | |
17364 | |
17365 void addAll(Collection<TextTrackCue> collection) { | |
17366 throw new UnsupportedError("Cannot add to immutable List."); | |
17367 } | |
17368 | |
17369 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, TextTrackCue)) { | 18229 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, TextTrackCue)) { |
17370 return Collections.reduce(this, initialValue, combine); | 18230 return Collections.reduce(this, initialValue, combine); |
17371 } | 18231 } |
17372 | 18232 |
17373 bool contains(TextTrackCue element) => Collections.contains(this, element); | 18233 bool contains(TextTrackCue element) => Collections.contains(this, element); |
17374 | 18234 |
17375 void forEach(void f(TextTrackCue element)) => Collections.forEach(this, f); | 18235 void forEach(void f(TextTrackCue element)) => Collections.forEach(this, f); |
17376 | 18236 |
17377 Collection map(f(TextTrackCue element)) => Collections.map(this, [], f); | 18237 String join([String separator]) => Collections.joinList(this, separator); |
17378 | 18238 |
17379 Collection<TextTrackCue> filter(bool f(TextTrackCue element)) => | 18239 List mappedBy(f(TextTrackCue element)) => new MappedList<TextTrackCue, dynamic
>(this, f); |
17380 Collections.filter(this, <TextTrackCue>[], f); | 18240 |
| 18241 Iterable<TextTrackCue> where(bool f(TextTrackCue element)) => new WhereIterabl
e<TextTrackCue>(this, f); |
17381 | 18242 |
17382 bool every(bool f(TextTrackCue element)) => Collections.every(this, f); | 18243 bool every(bool f(TextTrackCue element)) => Collections.every(this, f); |
17383 | 18244 |
17384 bool some(bool f(TextTrackCue element)) => Collections.some(this, f); | 18245 bool any(bool f(TextTrackCue element)) => Collections.any(this, f); |
17385 | 18246 |
17386 bool get isEmpty => this.length == 0; | 18247 bool get isEmpty => this.length == 0; |
17387 | 18248 |
| 18249 List<TextTrackCue> take(int n) => new ListView<TextTrackCue>(this, 0, n); |
| 18250 |
| 18251 Iterable<TextTrackCue> takeWhile(bool test(TextTrackCue value)) { |
| 18252 return new TakeWhileIterable<TextTrackCue>(this, test); |
| 18253 } |
| 18254 |
| 18255 List<TextTrackCue> skip(int n) => new ListView<TextTrackCue>(this, n, null); |
| 18256 |
| 18257 Iterable<TextTrackCue> skipWhile(bool test(TextTrackCue value)) { |
| 18258 return new SkipWhileIterable<TextTrackCue>(this, test); |
| 18259 } |
| 18260 |
| 18261 TextTrackCue firstMatching(bool test(TextTrackCue value), { TextTrackCue orEls
e() }) { |
| 18262 return Collections.firstMatching(this, test, orElse); |
| 18263 } |
| 18264 |
| 18265 TextTrackCue lastMatching(bool test(TextTrackCue value), {TextTrackCue orElse(
)}) { |
| 18266 return Collections.lastMatchingInList(this, test, orElse); |
| 18267 } |
| 18268 |
| 18269 TextTrackCue singleMatching(bool test(TextTrackCue value)) { |
| 18270 return Collections.singleMatching(this, test); |
| 18271 } |
| 18272 |
| 18273 TextTrackCue elementAt(int index) { |
| 18274 return this[index]; |
| 18275 } |
| 18276 |
| 18277 // From Collection<TextTrackCue>: |
| 18278 |
| 18279 void add(TextTrackCue value) { |
| 18280 throw new UnsupportedError("Cannot add to immutable List."); |
| 18281 } |
| 18282 |
| 18283 void addLast(TextTrackCue value) { |
| 18284 throw new UnsupportedError("Cannot add to immutable List."); |
| 18285 } |
| 18286 |
| 18287 void addAll(Iterable<TextTrackCue> iterable) { |
| 18288 throw new UnsupportedError("Cannot add to immutable List."); |
| 18289 } |
| 18290 |
17388 // From List<TextTrackCue>: | 18291 // From List<TextTrackCue>: |
17389 void set length(int value) { | 18292 void set length(int value) { |
17390 throw new UnsupportedError("Cannot resize immutable List."); | 18293 throw new UnsupportedError("Cannot resize immutable List."); |
17391 } | 18294 } |
17392 | 18295 |
17393 void clear() { | 18296 void clear() { |
17394 throw new UnsupportedError("Cannot clear immutable List."); | 18297 throw new UnsupportedError("Cannot clear immutable List."); |
17395 } | 18298 } |
17396 | 18299 |
17397 void sort([int compare(TextTrackCue a, TextTrackCue b)]) { | 18300 void sort([int compare(TextTrackCue a, TextTrackCue b)]) { |
17398 throw new UnsupportedError("Cannot sort immutable List."); | 18301 throw new UnsupportedError("Cannot sort immutable List."); |
17399 } | 18302 } |
17400 | 18303 |
17401 int indexOf(TextTrackCue element, [int start = 0]) => | 18304 int indexOf(TextTrackCue element, [int start = 0]) => |
17402 Lists.indexOf(this, element, start, this.length); | 18305 Lists.indexOf(this, element, start, this.length); |
17403 | 18306 |
17404 int lastIndexOf(TextTrackCue element, [int start]) { | 18307 int lastIndexOf(TextTrackCue element, [int start]) { |
17405 if (start == null) start = length - 1; | 18308 if (start == null) start = length - 1; |
17406 return Lists.lastIndexOf(this, element, start); | 18309 return Lists.lastIndexOf(this, element, start); |
17407 } | 18310 } |
17408 | 18311 |
17409 TextTrackCue get first => this[0]; | 18312 TextTrackCue get first { |
| 18313 if (this.length > 0) return this[0]; |
| 18314 throw new StateError("No elements"); |
| 18315 } |
17410 | 18316 |
17411 TextTrackCue get last => this[length - 1]; | 18317 TextTrackCue get last { |
| 18318 if (this.length > 0) return this[this.length - 1]; |
| 18319 throw new StateError("No elements"); |
| 18320 } |
| 18321 |
| 18322 TextTrackCue get single { |
| 18323 if (length == 1) return this[0]; |
| 18324 if (length == 0) throw new StateError("No elements"); |
| 18325 throw new StateError("More than one element"); |
| 18326 } |
| 18327 |
| 18328 TextTrackCue min([int compare(TextTrackCue a, TextTrackCue b)]) => _Collection
s.minInList(this, compare); |
| 18329 |
| 18330 TextTrackCue max([int compare(TextTrackCue a, TextTrackCue b)]) => _Collection
s.maxInList(this, compare); |
17412 | 18331 |
17413 TextTrackCue removeAt(int pos) { | 18332 TextTrackCue removeAt(int pos) { |
17414 throw new UnsupportedError("Cannot removeAt on immutable List."); | 18333 throw new UnsupportedError("Cannot removeAt on immutable List."); |
17415 } | 18334 } |
17416 | 18335 |
17417 TextTrackCue removeLast() { | 18336 TextTrackCue removeLast() { |
17418 throw new UnsupportedError("Cannot removeLast on immutable List."); | 18337 throw new UnsupportedError("Cannot removeLast on immutable List."); |
17419 } | 18338 } |
17420 | 18339 |
17421 void setRange(int start, int rangeLength, List<TextTrackCue> from, [int startF
rom]) { | 18340 void setRange(int start, int rangeLength, List<TextTrackCue> from, [int startF
rom]) { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17459 TextTrack operator[](int index) => JS("TextTrack", "#[#]", this, index); | 18378 TextTrack operator[](int index) => JS("TextTrack", "#[#]", this, index); |
17460 | 18379 |
17461 void operator[]=(int index, TextTrack value) { | 18380 void operator[]=(int index, TextTrack value) { |
17462 throw new UnsupportedError("Cannot assign element of immutable List."); | 18381 throw new UnsupportedError("Cannot assign element of immutable List."); |
17463 } | 18382 } |
17464 // -- start List<TextTrack> mixins. | 18383 // -- start List<TextTrack> mixins. |
17465 // TextTrack is the element type. | 18384 // TextTrack is the element type. |
17466 | 18385 |
17467 // From Iterable<TextTrack>: | 18386 // From Iterable<TextTrack>: |
17468 | 18387 |
17469 Iterator<TextTrack> iterator() { | 18388 Iterator<TextTrack> get iterator { |
17470 // Note: NodeLists are not fixed size. And most probably length shouldn't | 18389 // Note: NodeLists are not fixed size. And most probably length shouldn't |
17471 // be cached in both iterator _and_ forEach method. For now caching it | 18390 // be cached in both iterator _and_ forEach method. For now caching it |
17472 // for consistency. | 18391 // for consistency. |
17473 return new FixedSizeListIterator<TextTrack>(this); | 18392 return new FixedSizeListIterator<TextTrack>(this); |
17474 } | 18393 } |
17475 | 18394 |
17476 // From Collection<TextTrack>: | |
17477 | |
17478 void add(TextTrack value) { | |
17479 throw new UnsupportedError("Cannot add to immutable List."); | |
17480 } | |
17481 | |
17482 void addLast(TextTrack value) { | |
17483 throw new UnsupportedError("Cannot add to immutable List."); | |
17484 } | |
17485 | |
17486 void addAll(Collection<TextTrack> collection) { | |
17487 throw new UnsupportedError("Cannot add to immutable List."); | |
17488 } | |
17489 | |
17490 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, TextTrack)) { | 18395 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, TextTrack)) { |
17491 return Collections.reduce(this, initialValue, combine); | 18396 return Collections.reduce(this, initialValue, combine); |
17492 } | 18397 } |
17493 | 18398 |
17494 bool contains(TextTrack element) => Collections.contains(this, element); | 18399 bool contains(TextTrack element) => Collections.contains(this, element); |
17495 | 18400 |
17496 void forEach(void f(TextTrack element)) => Collections.forEach(this, f); | 18401 void forEach(void f(TextTrack element)) => Collections.forEach(this, f); |
17497 | 18402 |
17498 Collection map(f(TextTrack element)) => Collections.map(this, [], f); | 18403 String join([String separator]) => Collections.joinList(this, separator); |
17499 | 18404 |
17500 Collection<TextTrack> filter(bool f(TextTrack element)) => | 18405 List mappedBy(f(TextTrack element)) => new MappedList<TextTrack, dynamic>(this
, f); |
17501 Collections.filter(this, <TextTrack>[], f); | 18406 |
| 18407 Iterable<TextTrack> where(bool f(TextTrack element)) => new WhereIterable<Text
Track>(this, f); |
17502 | 18408 |
17503 bool every(bool f(TextTrack element)) => Collections.every(this, f); | 18409 bool every(bool f(TextTrack element)) => Collections.every(this, f); |
17504 | 18410 |
17505 bool some(bool f(TextTrack element)) => Collections.some(this, f); | 18411 bool any(bool f(TextTrack element)) => Collections.any(this, f); |
17506 | 18412 |
17507 bool get isEmpty => this.length == 0; | 18413 bool get isEmpty => this.length == 0; |
17508 | 18414 |
| 18415 List<TextTrack> take(int n) => new ListView<TextTrack>(this, 0, n); |
| 18416 |
| 18417 Iterable<TextTrack> takeWhile(bool test(TextTrack value)) { |
| 18418 return new TakeWhileIterable<TextTrack>(this, test); |
| 18419 } |
| 18420 |
| 18421 List<TextTrack> skip(int n) => new ListView<TextTrack>(this, n, null); |
| 18422 |
| 18423 Iterable<TextTrack> skipWhile(bool test(TextTrack value)) { |
| 18424 return new SkipWhileIterable<TextTrack>(this, test); |
| 18425 } |
| 18426 |
| 18427 TextTrack firstMatching(bool test(TextTrack value), { TextTrack orElse() }) { |
| 18428 return Collections.firstMatching(this, test, orElse); |
| 18429 } |
| 18430 |
| 18431 TextTrack lastMatching(bool test(TextTrack value), {TextTrack orElse()}) { |
| 18432 return Collections.lastMatchingInList(this, test, orElse); |
| 18433 } |
| 18434 |
| 18435 TextTrack singleMatching(bool test(TextTrack value)) { |
| 18436 return Collections.singleMatching(this, test); |
| 18437 } |
| 18438 |
| 18439 TextTrack elementAt(int index) { |
| 18440 return this[index]; |
| 18441 } |
| 18442 |
| 18443 // From Collection<TextTrack>: |
| 18444 |
| 18445 void add(TextTrack value) { |
| 18446 throw new UnsupportedError("Cannot add to immutable List."); |
| 18447 } |
| 18448 |
| 18449 void addLast(TextTrack value) { |
| 18450 throw new UnsupportedError("Cannot add to immutable List."); |
| 18451 } |
| 18452 |
| 18453 void addAll(Iterable<TextTrack> iterable) { |
| 18454 throw new UnsupportedError("Cannot add to immutable List."); |
| 18455 } |
| 18456 |
17509 // From List<TextTrack>: | 18457 // From List<TextTrack>: |
17510 void set length(int value) { | 18458 void set length(int value) { |
17511 throw new UnsupportedError("Cannot resize immutable List."); | 18459 throw new UnsupportedError("Cannot resize immutable List."); |
17512 } | 18460 } |
17513 | 18461 |
17514 void clear() { | 18462 void clear() { |
17515 throw new UnsupportedError("Cannot clear immutable List."); | 18463 throw new UnsupportedError("Cannot clear immutable List."); |
17516 } | 18464 } |
17517 | 18465 |
17518 void sort([int compare(TextTrack a, TextTrack b)]) { | 18466 void sort([int compare(TextTrack a, TextTrack b)]) { |
17519 throw new UnsupportedError("Cannot sort immutable List."); | 18467 throw new UnsupportedError("Cannot sort immutable List."); |
17520 } | 18468 } |
17521 | 18469 |
17522 int indexOf(TextTrack element, [int start = 0]) => | 18470 int indexOf(TextTrack element, [int start = 0]) => |
17523 Lists.indexOf(this, element, start, this.length); | 18471 Lists.indexOf(this, element, start, this.length); |
17524 | 18472 |
17525 int lastIndexOf(TextTrack element, [int start]) { | 18473 int lastIndexOf(TextTrack element, [int start]) { |
17526 if (start == null) start = length - 1; | 18474 if (start == null) start = length - 1; |
17527 return Lists.lastIndexOf(this, element, start); | 18475 return Lists.lastIndexOf(this, element, start); |
17528 } | 18476 } |
17529 | 18477 |
17530 TextTrack get first => this[0]; | 18478 TextTrack get first { |
| 18479 if (this.length > 0) return this[0]; |
| 18480 throw new StateError("No elements"); |
| 18481 } |
17531 | 18482 |
17532 TextTrack get last => this[length - 1]; | 18483 TextTrack get last { |
| 18484 if (this.length > 0) return this[this.length - 1]; |
| 18485 throw new StateError("No elements"); |
| 18486 } |
| 18487 |
| 18488 TextTrack get single { |
| 18489 if (length == 1) return this[0]; |
| 18490 if (length == 0) throw new StateError("No elements"); |
| 18491 throw new StateError("More than one element"); |
| 18492 } |
| 18493 |
| 18494 TextTrack min([int compare(TextTrack a, TextTrack b)]) => _Collections.minInLi
st(this, compare); |
| 18495 |
| 18496 TextTrack max([int compare(TextTrack a, TextTrack b)]) => _Collections.maxInLi
st(this, compare); |
17533 | 18497 |
17534 TextTrack removeAt(int pos) { | 18498 TextTrack removeAt(int pos) { |
17535 throw new UnsupportedError("Cannot removeAt on immutable List."); | 18499 throw new UnsupportedError("Cannot removeAt on immutable List."); |
17536 } | 18500 } |
17537 | 18501 |
17538 TextTrack removeLast() { | 18502 TextTrack removeLast() { |
17539 throw new UnsupportedError("Cannot removeLast on immutable List."); | 18503 throw new UnsupportedError("Cannot removeLast on immutable List."); |
17540 } | 18504 } |
17541 | 18505 |
17542 void setRange(int start, int rangeLength, List<TextTrack> from, [int startFrom
]) { | 18506 void setRange(int start, int rangeLength, List<TextTrack> from, [int startFrom
]) { |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17709 Touch operator[](int index) => JS("Touch", "#[#]", this, index); | 18673 Touch operator[](int index) => JS("Touch", "#[#]", this, index); |
17710 | 18674 |
17711 void operator[]=(int index, Touch value) { | 18675 void operator[]=(int index, Touch value) { |
17712 throw new UnsupportedError("Cannot assign element of immutable List."); | 18676 throw new UnsupportedError("Cannot assign element of immutable List."); |
17713 } | 18677 } |
17714 // -- start List<Touch> mixins. | 18678 // -- start List<Touch> mixins. |
17715 // Touch is the element type. | 18679 // Touch is the element type. |
17716 | 18680 |
17717 // From Iterable<Touch>: | 18681 // From Iterable<Touch>: |
17718 | 18682 |
17719 Iterator<Touch> iterator() { | 18683 Iterator<Touch> get iterator { |
17720 // Note: NodeLists are not fixed size. And most probably length shouldn't | 18684 // Note: NodeLists are not fixed size. And most probably length shouldn't |
17721 // be cached in both iterator _and_ forEach method. For now caching it | 18685 // be cached in both iterator _and_ forEach method. For now caching it |
17722 // for consistency. | 18686 // for consistency. |
17723 return new FixedSizeListIterator<Touch>(this); | 18687 return new FixedSizeListIterator<Touch>(this); |
17724 } | 18688 } |
17725 | 18689 |
17726 // From Collection<Touch>: | |
17727 | |
17728 void add(Touch value) { | |
17729 throw new UnsupportedError("Cannot add to immutable List."); | |
17730 } | |
17731 | |
17732 void addLast(Touch value) { | |
17733 throw new UnsupportedError("Cannot add to immutable List."); | |
17734 } | |
17735 | |
17736 void addAll(Collection<Touch> collection) { | |
17737 throw new UnsupportedError("Cannot add to immutable List."); | |
17738 } | |
17739 | |
17740 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Touch)) { | 18690 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Touch)) { |
17741 return Collections.reduce(this, initialValue, combine); | 18691 return Collections.reduce(this, initialValue, combine); |
17742 } | 18692 } |
17743 | 18693 |
17744 bool contains(Touch element) => Collections.contains(this, element); | 18694 bool contains(Touch element) => Collections.contains(this, element); |
17745 | 18695 |
17746 void forEach(void f(Touch element)) => Collections.forEach(this, f); | 18696 void forEach(void f(Touch element)) => Collections.forEach(this, f); |
17747 | 18697 |
17748 Collection map(f(Touch element)) => Collections.map(this, [], f); | 18698 String join([String separator]) => Collections.joinList(this, separator); |
17749 | 18699 |
17750 Collection<Touch> filter(bool f(Touch element)) => | 18700 List mappedBy(f(Touch element)) => new MappedList<Touch, dynamic>(this, f); |
17751 Collections.filter(this, <Touch>[], f); | 18701 |
| 18702 Iterable<Touch> where(bool f(Touch element)) => new WhereIterable<Touch>(this,
f); |
17752 | 18703 |
17753 bool every(bool f(Touch element)) => Collections.every(this, f); | 18704 bool every(bool f(Touch element)) => Collections.every(this, f); |
17754 | 18705 |
17755 bool some(bool f(Touch element)) => Collections.some(this, f); | 18706 bool any(bool f(Touch element)) => Collections.any(this, f); |
17756 | 18707 |
17757 bool get isEmpty => this.length == 0; | 18708 bool get isEmpty => this.length == 0; |
17758 | 18709 |
| 18710 List<Touch> take(int n) => new ListView<Touch>(this, 0, n); |
| 18711 |
| 18712 Iterable<Touch> takeWhile(bool test(Touch value)) { |
| 18713 return new TakeWhileIterable<Touch>(this, test); |
| 18714 } |
| 18715 |
| 18716 List<Touch> skip(int n) => new ListView<Touch>(this, n, null); |
| 18717 |
| 18718 Iterable<Touch> skipWhile(bool test(Touch value)) { |
| 18719 return new SkipWhileIterable<Touch>(this, test); |
| 18720 } |
| 18721 |
| 18722 Touch firstMatching(bool test(Touch value), { Touch orElse() }) { |
| 18723 return Collections.firstMatching(this, test, orElse); |
| 18724 } |
| 18725 |
| 18726 Touch lastMatching(bool test(Touch value), {Touch orElse()}) { |
| 18727 return Collections.lastMatchingInList(this, test, orElse); |
| 18728 } |
| 18729 |
| 18730 Touch singleMatching(bool test(Touch value)) { |
| 18731 return Collections.singleMatching(this, test); |
| 18732 } |
| 18733 |
| 18734 Touch elementAt(int index) { |
| 18735 return this[index]; |
| 18736 } |
| 18737 |
| 18738 // From Collection<Touch>: |
| 18739 |
| 18740 void add(Touch value) { |
| 18741 throw new UnsupportedError("Cannot add to immutable List."); |
| 18742 } |
| 18743 |
| 18744 void addLast(Touch value) { |
| 18745 throw new UnsupportedError("Cannot add to immutable List."); |
| 18746 } |
| 18747 |
| 18748 void addAll(Iterable<Touch> iterable) { |
| 18749 throw new UnsupportedError("Cannot add to immutable List."); |
| 18750 } |
| 18751 |
17759 // From List<Touch>: | 18752 // From List<Touch>: |
17760 void set length(int value) { | 18753 void set length(int value) { |
17761 throw new UnsupportedError("Cannot resize immutable List."); | 18754 throw new UnsupportedError("Cannot resize immutable List."); |
17762 } | 18755 } |
17763 | 18756 |
17764 void clear() { | 18757 void clear() { |
17765 throw new UnsupportedError("Cannot clear immutable List."); | 18758 throw new UnsupportedError("Cannot clear immutable List."); |
17766 } | 18759 } |
17767 | 18760 |
17768 void sort([int compare(Touch a, Touch b)]) { | 18761 void sort([int compare(Touch a, Touch b)]) { |
17769 throw new UnsupportedError("Cannot sort immutable List."); | 18762 throw new UnsupportedError("Cannot sort immutable List."); |
17770 } | 18763 } |
17771 | 18764 |
17772 int indexOf(Touch element, [int start = 0]) => | 18765 int indexOf(Touch element, [int start = 0]) => |
17773 Lists.indexOf(this, element, start, this.length); | 18766 Lists.indexOf(this, element, start, this.length); |
17774 | 18767 |
17775 int lastIndexOf(Touch element, [int start]) { | 18768 int lastIndexOf(Touch element, [int start]) { |
17776 if (start == null) start = length - 1; | 18769 if (start == null) start = length - 1; |
17777 return Lists.lastIndexOf(this, element, start); | 18770 return Lists.lastIndexOf(this, element, start); |
17778 } | 18771 } |
17779 | 18772 |
17780 Touch get first => this[0]; | 18773 Touch get first { |
| 18774 if (this.length > 0) return this[0]; |
| 18775 throw new StateError("No elements"); |
| 18776 } |
17781 | 18777 |
17782 Touch get last => this[length - 1]; | 18778 Touch get last { |
| 18779 if (this.length > 0) return this[this.length - 1]; |
| 18780 throw new StateError("No elements"); |
| 18781 } |
| 18782 |
| 18783 Touch get single { |
| 18784 if (length == 1) return this[0]; |
| 18785 if (length == 0) throw new StateError("No elements"); |
| 18786 throw new StateError("More than one element"); |
| 18787 } |
| 18788 |
| 18789 Touch min([int compare(Touch a, Touch b)]) => _Collections.minInList(this, com
pare); |
| 18790 |
| 18791 Touch max([int compare(Touch a, Touch b)]) => _Collections.maxInList(this, com
pare); |
17783 | 18792 |
17784 Touch removeAt(int pos) { | 18793 Touch removeAt(int pos) { |
17785 throw new UnsupportedError("Cannot removeAt on immutable List."); | 18794 throw new UnsupportedError("Cannot removeAt on immutable List."); |
17786 } | 18795 } |
17787 | 18796 |
17788 Touch removeLast() { | 18797 Touch removeLast() { |
17789 throw new UnsupportedError("Cannot removeLast on immutable List."); | 18798 throw new UnsupportedError("Cannot removeLast on immutable List."); |
17790 } | 18799 } |
17791 | 18800 |
17792 void setRange(int start, int rangeLength, List<Touch> from, [int startFrom]) { | 18801 void setRange(int start, int rangeLength, List<Touch> from, [int startFrom]) { |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
18019 /// @domName Uint16Array.length; @docsEditable true | 19028 /// @domName Uint16Array.length; @docsEditable true |
18020 int get length => JS("int", "#.length", this); | 19029 int get length => JS("int", "#.length", this); |
18021 | 19030 |
18022 int operator[](int index) => JS("int", "#[#]", this, index); | 19031 int operator[](int index) => JS("int", "#[#]", this, index); |
18023 | 19032 |
18024 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. | 19033 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. |
18025 // int is the element type. | 19034 // int is the element type. |
18026 | 19035 |
18027 // From Iterable<int>: | 19036 // From Iterable<int>: |
18028 | 19037 |
18029 Iterator<int> iterator() { | 19038 Iterator<int> get iterator { |
18030 // Note: NodeLists are not fixed size. And most probably length shouldn't | 19039 // Note: NodeLists are not fixed size. And most probably length shouldn't |
18031 // be cached in both iterator _and_ forEach method. For now caching it | 19040 // be cached in both iterator _and_ forEach method. For now caching it |
18032 // for consistency. | 19041 // for consistency. |
18033 return new FixedSizeListIterator<int>(this); | 19042 return new FixedSizeListIterator<int>(this); |
18034 } | 19043 } |
18035 | 19044 |
18036 // From Collection<int>: | |
18037 | |
18038 void add(int value) { | |
18039 throw new UnsupportedError("Cannot add to immutable List."); | |
18040 } | |
18041 | |
18042 void addLast(int value) { | |
18043 throw new UnsupportedError("Cannot add to immutable List."); | |
18044 } | |
18045 | |
18046 void addAll(Collection<int> collection) { | |
18047 throw new UnsupportedError("Cannot add to immutable List."); | |
18048 } | |
18049 | |
18050 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { | 19045 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { |
18051 return Collections.reduce(this, initialValue, combine); | 19046 return Collections.reduce(this, initialValue, combine); |
18052 } | 19047 } |
18053 | 19048 |
18054 bool contains(int element) => Collections.contains(this, element); | 19049 bool contains(int element) => Collections.contains(this, element); |
18055 | 19050 |
18056 void forEach(void f(int element)) => Collections.forEach(this, f); | 19051 void forEach(void f(int element)) => Collections.forEach(this, f); |
18057 | 19052 |
18058 Collection map(f(int element)) => Collections.map(this, [], f); | 19053 String join([String separator]) => Collections.joinList(this, separator); |
18059 | 19054 |
18060 Collection<int> filter(bool f(int element)) => | 19055 List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f); |
18061 Collections.filter(this, <int>[], f); | 19056 |
| 19057 Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f); |
18062 | 19058 |
18063 bool every(bool f(int element)) => Collections.every(this, f); | 19059 bool every(bool f(int element)) => Collections.every(this, f); |
18064 | 19060 |
18065 bool some(bool f(int element)) => Collections.some(this, f); | 19061 bool any(bool f(int element)) => Collections.any(this, f); |
18066 | 19062 |
18067 bool get isEmpty => this.length == 0; | 19063 bool get isEmpty => this.length == 0; |
18068 | 19064 |
| 19065 List<int> take(int n) => new ListView<int>(this, 0, n); |
| 19066 |
| 19067 Iterable<int> takeWhile(bool test(int value)) { |
| 19068 return new TakeWhileIterable<int>(this, test); |
| 19069 } |
| 19070 |
| 19071 List<int> skip(int n) => new ListView<int>(this, n, null); |
| 19072 |
| 19073 Iterable<int> skipWhile(bool test(int value)) { |
| 19074 return new SkipWhileIterable<int>(this, test); |
| 19075 } |
| 19076 |
| 19077 int firstMatching(bool test(int value), { int orElse() }) { |
| 19078 return Collections.firstMatching(this, test, orElse); |
| 19079 } |
| 19080 |
| 19081 int lastMatching(bool test(int value), {int orElse()}) { |
| 19082 return Collections.lastMatchingInList(this, test, orElse); |
| 19083 } |
| 19084 |
| 19085 int singleMatching(bool test(int value)) { |
| 19086 return Collections.singleMatching(this, test); |
| 19087 } |
| 19088 |
| 19089 int elementAt(int index) { |
| 19090 return this[index]; |
| 19091 } |
| 19092 |
| 19093 // From Collection<int>: |
| 19094 |
| 19095 void add(int value) { |
| 19096 throw new UnsupportedError("Cannot add to immutable List."); |
| 19097 } |
| 19098 |
| 19099 void addLast(int value) { |
| 19100 throw new UnsupportedError("Cannot add to immutable List."); |
| 19101 } |
| 19102 |
| 19103 void addAll(Iterable<int> iterable) { |
| 19104 throw new UnsupportedError("Cannot add to immutable List."); |
| 19105 } |
| 19106 |
18069 // From List<int>: | 19107 // From List<int>: |
18070 void set length(int value) { | 19108 void set length(int value) { |
18071 throw new UnsupportedError("Cannot resize immutable List."); | 19109 throw new UnsupportedError("Cannot resize immutable List."); |
18072 } | 19110 } |
18073 | 19111 |
18074 void clear() { | 19112 void clear() { |
18075 throw new UnsupportedError("Cannot clear immutable List."); | 19113 throw new UnsupportedError("Cannot clear immutable List."); |
18076 } | 19114 } |
18077 | 19115 |
18078 void sort([int compare(int a, int b)]) { | 19116 void sort([int compare(int a, int b)]) { |
18079 throw new UnsupportedError("Cannot sort immutable List."); | 19117 throw new UnsupportedError("Cannot sort immutable List."); |
18080 } | 19118 } |
18081 | 19119 |
18082 int indexOf(int element, [int start = 0]) => | 19120 int indexOf(int element, [int start = 0]) => |
18083 Lists.indexOf(this, element, start, this.length); | 19121 Lists.indexOf(this, element, start, this.length); |
18084 | 19122 |
18085 int lastIndexOf(int element, [int start]) { | 19123 int lastIndexOf(int element, [int start]) { |
18086 if (start == null) start = length - 1; | 19124 if (start == null) start = length - 1; |
18087 return Lists.lastIndexOf(this, element, start); | 19125 return Lists.lastIndexOf(this, element, start); |
18088 } | 19126 } |
18089 | 19127 |
18090 int get first => this[0]; | 19128 int get first { |
| 19129 if (this.length > 0) return this[0]; |
| 19130 throw new StateError("No elements"); |
| 19131 } |
18091 | 19132 |
18092 int get last => this[length - 1]; | 19133 int get last { |
| 19134 if (this.length > 0) return this[this.length - 1]; |
| 19135 throw new StateError("No elements"); |
| 19136 } |
| 19137 |
| 19138 int get single { |
| 19139 if (length == 1) return this[0]; |
| 19140 if (length == 0) throw new StateError("No elements"); |
| 19141 throw new StateError("More than one element"); |
| 19142 } |
| 19143 |
| 19144 int min([int compare(int a, int b)]) => _Collections.minInList(this, compare); |
| 19145 |
| 19146 int max([int compare(int a, int b)]) => _Collections.maxInList(this, compare); |
18093 | 19147 |
18094 int removeAt(int pos) { | 19148 int removeAt(int pos) { |
18095 throw new UnsupportedError("Cannot removeAt on immutable List."); | 19149 throw new UnsupportedError("Cannot removeAt on immutable List."); |
18096 } | 19150 } |
18097 | 19151 |
18098 int removeLast() { | 19152 int removeLast() { |
18099 throw new UnsupportedError("Cannot removeLast on immutable List."); | 19153 throw new UnsupportedError("Cannot removeLast on immutable List."); |
18100 } | 19154 } |
18101 | 19155 |
18102 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { | 19156 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
18145 /// @domName Uint32Array.length; @docsEditable true | 19199 /// @domName Uint32Array.length; @docsEditable true |
18146 int get length => JS("int", "#.length", this); | 19200 int get length => JS("int", "#.length", this); |
18147 | 19201 |
18148 int operator[](int index) => JS("int", "#[#]", this, index); | 19202 int operator[](int index) => JS("int", "#[#]", this, index); |
18149 | 19203 |
18150 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. | 19204 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. |
18151 // int is the element type. | 19205 // int is the element type. |
18152 | 19206 |
18153 // From Iterable<int>: | 19207 // From Iterable<int>: |
18154 | 19208 |
18155 Iterator<int> iterator() { | 19209 Iterator<int> get iterator { |
18156 // Note: NodeLists are not fixed size. And most probably length shouldn't | 19210 // Note: NodeLists are not fixed size. And most probably length shouldn't |
18157 // be cached in both iterator _and_ forEach method. For now caching it | 19211 // be cached in both iterator _and_ forEach method. For now caching it |
18158 // for consistency. | 19212 // for consistency. |
18159 return new FixedSizeListIterator<int>(this); | 19213 return new FixedSizeListIterator<int>(this); |
18160 } | 19214 } |
18161 | 19215 |
18162 // From Collection<int>: | |
18163 | |
18164 void add(int value) { | |
18165 throw new UnsupportedError("Cannot add to immutable List."); | |
18166 } | |
18167 | |
18168 void addLast(int value) { | |
18169 throw new UnsupportedError("Cannot add to immutable List."); | |
18170 } | |
18171 | |
18172 void addAll(Collection<int> collection) { | |
18173 throw new UnsupportedError("Cannot add to immutable List."); | |
18174 } | |
18175 | |
18176 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { | 19216 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { |
18177 return Collections.reduce(this, initialValue, combine); | 19217 return Collections.reduce(this, initialValue, combine); |
18178 } | 19218 } |
18179 | 19219 |
18180 bool contains(int element) => Collections.contains(this, element); | 19220 bool contains(int element) => Collections.contains(this, element); |
18181 | 19221 |
18182 void forEach(void f(int element)) => Collections.forEach(this, f); | 19222 void forEach(void f(int element)) => Collections.forEach(this, f); |
18183 | 19223 |
18184 Collection map(f(int element)) => Collections.map(this, [], f); | 19224 String join([String separator]) => Collections.joinList(this, separator); |
18185 | 19225 |
18186 Collection<int> filter(bool f(int element)) => | 19226 List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f); |
18187 Collections.filter(this, <int>[], f); | 19227 |
| 19228 Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f); |
18188 | 19229 |
18189 bool every(bool f(int element)) => Collections.every(this, f); | 19230 bool every(bool f(int element)) => Collections.every(this, f); |
18190 | 19231 |
18191 bool some(bool f(int element)) => Collections.some(this, f); | 19232 bool any(bool f(int element)) => Collections.any(this, f); |
18192 | 19233 |
18193 bool get isEmpty => this.length == 0; | 19234 bool get isEmpty => this.length == 0; |
18194 | 19235 |
| 19236 List<int> take(int n) => new ListView<int>(this, 0, n); |
| 19237 |
| 19238 Iterable<int> takeWhile(bool test(int value)) { |
| 19239 return new TakeWhileIterable<int>(this, test); |
| 19240 } |
| 19241 |
| 19242 List<int> skip(int n) => new ListView<int>(this, n, null); |
| 19243 |
| 19244 Iterable<int> skipWhile(bool test(int value)) { |
| 19245 return new SkipWhileIterable<int>(this, test); |
| 19246 } |
| 19247 |
| 19248 int firstMatching(bool test(int value), { int orElse() }) { |
| 19249 return Collections.firstMatching(this, test, orElse); |
| 19250 } |
| 19251 |
| 19252 int lastMatching(bool test(int value), {int orElse()}) { |
| 19253 return Collections.lastMatchingInList(this, test, orElse); |
| 19254 } |
| 19255 |
| 19256 int singleMatching(bool test(int value)) { |
| 19257 return Collections.singleMatching(this, test); |
| 19258 } |
| 19259 |
| 19260 int elementAt(int index) { |
| 19261 return this[index]; |
| 19262 } |
| 19263 |
| 19264 // From Collection<int>: |
| 19265 |
| 19266 void add(int value) { |
| 19267 throw new UnsupportedError("Cannot add to immutable List."); |
| 19268 } |
| 19269 |
| 19270 void addLast(int value) { |
| 19271 throw new UnsupportedError("Cannot add to immutable List."); |
| 19272 } |
| 19273 |
| 19274 void addAll(Iterable<int> iterable) { |
| 19275 throw new UnsupportedError("Cannot add to immutable List."); |
| 19276 } |
| 19277 |
18195 // From List<int>: | 19278 // From List<int>: |
18196 void set length(int value) { | 19279 void set length(int value) { |
18197 throw new UnsupportedError("Cannot resize immutable List."); | 19280 throw new UnsupportedError("Cannot resize immutable List."); |
18198 } | 19281 } |
18199 | 19282 |
18200 void clear() { | 19283 void clear() { |
18201 throw new UnsupportedError("Cannot clear immutable List."); | 19284 throw new UnsupportedError("Cannot clear immutable List."); |
18202 } | 19285 } |
18203 | 19286 |
18204 void sort([int compare(int a, int b)]) { | 19287 void sort([int compare(int a, int b)]) { |
18205 throw new UnsupportedError("Cannot sort immutable List."); | 19288 throw new UnsupportedError("Cannot sort immutable List."); |
18206 } | 19289 } |
18207 | 19290 |
18208 int indexOf(int element, [int start = 0]) => | 19291 int indexOf(int element, [int start = 0]) => |
18209 Lists.indexOf(this, element, start, this.length); | 19292 Lists.indexOf(this, element, start, this.length); |
18210 | 19293 |
18211 int lastIndexOf(int element, [int start]) { | 19294 int lastIndexOf(int element, [int start]) { |
18212 if (start == null) start = length - 1; | 19295 if (start == null) start = length - 1; |
18213 return Lists.lastIndexOf(this, element, start); | 19296 return Lists.lastIndexOf(this, element, start); |
18214 } | 19297 } |
18215 | 19298 |
18216 int get first => this[0]; | 19299 int get first { |
| 19300 if (this.length > 0) return this[0]; |
| 19301 throw new StateError("No elements"); |
| 19302 } |
18217 | 19303 |
18218 int get last => this[length - 1]; | 19304 int get last { |
| 19305 if (this.length > 0) return this[this.length - 1]; |
| 19306 throw new StateError("No elements"); |
| 19307 } |
| 19308 |
| 19309 int get single { |
| 19310 if (length == 1) return this[0]; |
| 19311 if (length == 0) throw new StateError("No elements"); |
| 19312 throw new StateError("More than one element"); |
| 19313 } |
| 19314 |
| 19315 int min([int compare(int a, int b)]) => _Collections.minInList(this, compare); |
| 19316 |
| 19317 int max([int compare(int a, int b)]) => _Collections.maxInList(this, compare); |
18219 | 19318 |
18220 int removeAt(int pos) { | 19319 int removeAt(int pos) { |
18221 throw new UnsupportedError("Cannot removeAt on immutable List."); | 19320 throw new UnsupportedError("Cannot removeAt on immutable List."); |
18222 } | 19321 } |
18223 | 19322 |
18224 int removeLast() { | 19323 int removeLast() { |
18225 throw new UnsupportedError("Cannot removeLast on immutable List."); | 19324 throw new UnsupportedError("Cannot removeLast on immutable List."); |
18226 } | 19325 } |
18227 | 19326 |
18228 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { | 19327 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
18271 /// @domName Uint8Array.length; @docsEditable true | 19370 /// @domName Uint8Array.length; @docsEditable true |
18272 int get length => JS("int", "#.length", this); | 19371 int get length => JS("int", "#.length", this); |
18273 | 19372 |
18274 int operator[](int index) => JS("int", "#[#]", this, index); | 19373 int operator[](int index) => JS("int", "#[#]", this, index); |
18275 | 19374 |
18276 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. | 19375 void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, v
alue); } // -- start List<int> mixins. |
18277 // int is the element type. | 19376 // int is the element type. |
18278 | 19377 |
18279 // From Iterable<int>: | 19378 // From Iterable<int>: |
18280 | 19379 |
18281 Iterator<int> iterator() { | 19380 Iterator<int> get iterator { |
18282 // Note: NodeLists are not fixed size. And most probably length shouldn't | 19381 // Note: NodeLists are not fixed size. And most probably length shouldn't |
18283 // be cached in both iterator _and_ forEach method. For now caching it | 19382 // be cached in both iterator _and_ forEach method. For now caching it |
18284 // for consistency. | 19383 // for consistency. |
18285 return new FixedSizeListIterator<int>(this); | 19384 return new FixedSizeListIterator<int>(this); |
18286 } | 19385 } |
18287 | 19386 |
| 19387 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { |
| 19388 return Collections.reduce(this, initialValue, combine); |
| 19389 } |
| 19390 |
| 19391 bool contains(int element) => Collections.contains(this, element); |
| 19392 |
| 19393 void forEach(void f(int element)) => Collections.forEach(this, f); |
| 19394 |
| 19395 String join([String separator]) => Collections.joinList(this, separator); |
| 19396 |
| 19397 List mappedBy(f(int element)) => new MappedList<int, dynamic>(this, f); |
| 19398 |
| 19399 Iterable<int> where(bool f(int element)) => new WhereIterable<int>(this, f); |
| 19400 |
| 19401 bool every(bool f(int element)) => Collections.every(this, f); |
| 19402 |
| 19403 bool any(bool f(int element)) => Collections.any(this, f); |
| 19404 |
| 19405 bool get isEmpty => this.length == 0; |
| 19406 |
| 19407 List<int> take(int n) => new ListView<int>(this, 0, n); |
| 19408 |
| 19409 Iterable<int> takeWhile(bool test(int value)) { |
| 19410 return new TakeWhileIterable<int>(this, test); |
| 19411 } |
| 19412 |
| 19413 List<int> skip(int n) => new ListView<int>(this, n, null); |
| 19414 |
| 19415 Iterable<int> skipWhile(bool test(int value)) { |
| 19416 return new SkipWhileIterable<int>(this, test); |
| 19417 } |
| 19418 |
| 19419 int firstMatching(bool test(int value), { int orElse() }) { |
| 19420 return Collections.firstMatching(this, test, orElse); |
| 19421 } |
| 19422 |
| 19423 int lastMatching(bool test(int value), {int orElse()}) { |
| 19424 return Collections.lastMatchingInList(this, test, orElse); |
| 19425 } |
| 19426 |
| 19427 int singleMatching(bool test(int value)) { |
| 19428 return Collections.singleMatching(this, test); |
| 19429 } |
| 19430 |
| 19431 int elementAt(int index) { |
| 19432 return this[index]; |
| 19433 } |
| 19434 |
18288 // From Collection<int>: | 19435 // From Collection<int>: |
18289 | 19436 |
18290 void add(int value) { | 19437 void add(int value) { |
18291 throw new UnsupportedError("Cannot add to immutable List."); | 19438 throw new UnsupportedError("Cannot add to immutable List."); |
18292 } | 19439 } |
18293 | 19440 |
18294 void addLast(int value) { | 19441 void addLast(int value) { |
18295 throw new UnsupportedError("Cannot add to immutable List."); | 19442 throw new UnsupportedError("Cannot add to immutable List."); |
18296 } | 19443 } |
18297 | 19444 |
18298 void addAll(Collection<int> collection) { | 19445 void addAll(Iterable<int> iterable) { |
18299 throw new UnsupportedError("Cannot add to immutable List."); | 19446 throw new UnsupportedError("Cannot add to immutable List."); |
18300 } | 19447 } |
18301 | 19448 |
18302 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, int)) { | |
18303 return Collections.reduce(this, initialValue, combine); | |
18304 } | |
18305 | |
18306 bool contains(int element) => Collections.contains(this, element); | |
18307 | |
18308 void forEach(void f(int element)) => Collections.forEach(this, f); | |
18309 | |
18310 Collection map(f(int element)) => Collections.map(this, [], f); | |
18311 | |
18312 Collection<int> filter(bool f(int element)) => | |
18313 Collections.filter(this, <int>[], f); | |
18314 | |
18315 bool every(bool f(int element)) => Collections.every(this, f); | |
18316 | |
18317 bool some(bool f(int element)) => Collections.some(this, f); | |
18318 | |
18319 bool get isEmpty => this.length == 0; | |
18320 | |
18321 // From List<int>: | 19449 // From List<int>: |
18322 void set length(int value) { | 19450 void set length(int value) { |
18323 throw new UnsupportedError("Cannot resize immutable List."); | 19451 throw new UnsupportedError("Cannot resize immutable List."); |
18324 } | 19452 } |
18325 | 19453 |
18326 void clear() { | 19454 void clear() { |
18327 throw new UnsupportedError("Cannot clear immutable List."); | 19455 throw new UnsupportedError("Cannot clear immutable List."); |
18328 } | 19456 } |
18329 | 19457 |
18330 void sort([int compare(int a, int b)]) { | 19458 void sort([int compare(int a, int b)]) { |
18331 throw new UnsupportedError("Cannot sort immutable List."); | 19459 throw new UnsupportedError("Cannot sort immutable List."); |
18332 } | 19460 } |
18333 | 19461 |
18334 int indexOf(int element, [int start = 0]) => | 19462 int indexOf(int element, [int start = 0]) => |
18335 Lists.indexOf(this, element, start, this.length); | 19463 Lists.indexOf(this, element, start, this.length); |
18336 | 19464 |
18337 int lastIndexOf(int element, [int start]) { | 19465 int lastIndexOf(int element, [int start]) { |
18338 if (start == null) start = length - 1; | 19466 if (start == null) start = length - 1; |
18339 return Lists.lastIndexOf(this, element, start); | 19467 return Lists.lastIndexOf(this, element, start); |
18340 } | 19468 } |
18341 | 19469 |
18342 int get first => this[0]; | 19470 int get first { |
| 19471 if (this.length > 0) return this[0]; |
| 19472 throw new StateError("No elements"); |
| 19473 } |
18343 | 19474 |
18344 int get last => this[length - 1]; | 19475 int get last { |
| 19476 if (this.length > 0) return this[this.length - 1]; |
| 19477 throw new StateError("No elements"); |
| 19478 } |
| 19479 |
| 19480 int get single { |
| 19481 if (length == 1) return this[0]; |
| 19482 if (length == 0) throw new StateError("No elements"); |
| 19483 throw new StateError("More than one element"); |
| 19484 } |
| 19485 |
| 19486 int min([int compare(int a, int b)]) => _Collections.minInList(this, compare); |
| 19487 |
| 19488 int max([int compare(int a, int b)]) => _Collections.maxInList(this, compare); |
18345 | 19489 |
18346 int removeAt(int pos) { | 19490 int removeAt(int pos) { |
18347 throw new UnsupportedError("Cannot removeAt on immutable List."); | 19491 throw new UnsupportedError("Cannot removeAt on immutable List."); |
18348 } | 19492 } |
18349 | 19493 |
18350 int removeLast() { | 19494 int removeLast() { |
18351 throw new UnsupportedError("Cannot removeLast on immutable List."); | 19495 throw new UnsupportedError("Cannot removeLast on immutable List."); |
18352 } | 19496 } |
18353 | 19497 |
18354 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { | 19498 void setRange(int start, int rangeLength, List<int> from, [int startFrom]) { |
(...skipping 1859 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20214 IdbFactory get indexedDB => | 21358 IdbFactory get indexedDB => |
20215 JS('IdbFactory', | 21359 JS('IdbFactory', |
20216 '#.indexedDB || #.webkitIndexedDB || #.mozIndexedDB', | 21360 '#.indexedDB || #.webkitIndexedDB || #.mozIndexedDB', |
20217 this, this, this); | 21361 this, this, this); |
20218 | 21362 |
20219 /** | 21363 /** |
20220 * Lookup a port by its [name]. Return null if no port is | 21364 * Lookup a port by its [name]. Return null if no port is |
20221 * registered under [name]. | 21365 * registered under [name]. |
20222 */ | 21366 */ |
20223 SendPortSync lookupPort(String name) { | 21367 SendPortSync lookupPort(String name) { |
20224 var port = JSON.parse(document.documentElement.attributes['dart-port:$name']
); | 21368 var port = json.parse(document.documentElement.attributes['dart-port:$name']
); |
20225 return _deserialize(port); | 21369 return _deserialize(port); |
20226 } | 21370 } |
20227 | 21371 |
20228 /** | 21372 /** |
20229 * Register a [port] on this window under the given [name]. This | 21373 * Register a [port] on this window under the given [name]. This |
20230 * port may be retrieved by any isolate (or JavaScript script) | 21374 * port may be retrieved by any isolate (or JavaScript script) |
20231 * running in this window. | 21375 * running in this window. |
20232 */ | 21376 */ |
20233 void registerPort(String name, var port) { | 21377 void registerPort(String name, var port) { |
20234 var serialized = _serialize(port); | 21378 var serialized = _serialize(port); |
20235 document.documentElement.attributes['dart-port:$name'] = JSON.stringify(seri
alized); | 21379 document.documentElement.attributes['dart-port:$name'] = json.stringify(seri
alized); |
20236 } | 21380 } |
20237 | 21381 |
20238 /// @domName Window.console; @docsEditable true | 21382 /// @domName Window.console; @docsEditable true |
20239 Console get console => Console.safeConsole; | 21383 Console get console => Console.safeConsole; |
20240 | 21384 |
20241 | 21385 |
20242 /// @domName EventTarget.addEventListener, EventTarget.removeEventListener, Ev
entTarget.dispatchEvent; @docsEditable true | 21386 /// @domName EventTarget.addEventListener, EventTarget.removeEventListener, Ev
entTarget.dispatchEvent; @docsEditable true |
20243 WindowEvents get on => | 21387 WindowEvents get on => |
20244 new WindowEvents(this); | 21388 new WindowEvents(this); |
20245 | 21389 |
(...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
21143 ClientRect operator[](int index) => JS("ClientRect", "#[#]", this, index); | 22287 ClientRect operator[](int index) => JS("ClientRect", "#[#]", this, index); |
21144 | 22288 |
21145 void operator[]=(int index, ClientRect value) { | 22289 void operator[]=(int index, ClientRect value) { |
21146 throw new UnsupportedError("Cannot assign element of immutable List."); | 22290 throw new UnsupportedError("Cannot assign element of immutable List."); |
21147 } | 22291 } |
21148 // -- start List<ClientRect> mixins. | 22292 // -- start List<ClientRect> mixins. |
21149 // ClientRect is the element type. | 22293 // ClientRect is the element type. |
21150 | 22294 |
21151 // From Iterable<ClientRect>: | 22295 // From Iterable<ClientRect>: |
21152 | 22296 |
21153 Iterator<ClientRect> iterator() { | 22297 Iterator<ClientRect> get iterator { |
21154 // Note: NodeLists are not fixed size. And most probably length shouldn't | 22298 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21155 // be cached in both iterator _and_ forEach method. For now caching it | 22299 // be cached in both iterator _and_ forEach method. For now caching it |
21156 // for consistency. | 22300 // for consistency. |
21157 return new FixedSizeListIterator<ClientRect>(this); | 22301 return new FixedSizeListIterator<ClientRect>(this); |
21158 } | 22302 } |
21159 | 22303 |
21160 // From Collection<ClientRect>: | |
21161 | |
21162 void add(ClientRect value) { | |
21163 throw new UnsupportedError("Cannot add to immutable List."); | |
21164 } | |
21165 | |
21166 void addLast(ClientRect value) { | |
21167 throw new UnsupportedError("Cannot add to immutable List."); | |
21168 } | |
21169 | |
21170 void addAll(Collection<ClientRect> collection) { | |
21171 throw new UnsupportedError("Cannot add to immutable List."); | |
21172 } | |
21173 | |
21174 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, ClientRect)) { | 22304 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, ClientRect)) { |
21175 return Collections.reduce(this, initialValue, combine); | 22305 return Collections.reduce(this, initialValue, combine); |
21176 } | 22306 } |
21177 | 22307 |
21178 bool contains(ClientRect element) => Collections.contains(this, element); | 22308 bool contains(ClientRect element) => Collections.contains(this, element); |
21179 | 22309 |
21180 void forEach(void f(ClientRect element)) => Collections.forEach(this, f); | 22310 void forEach(void f(ClientRect element)) => Collections.forEach(this, f); |
21181 | 22311 |
21182 Collection map(f(ClientRect element)) => Collections.map(this, [], f); | 22312 String join([String separator]) => Collections.joinList(this, separator); |
21183 | 22313 |
21184 Collection<ClientRect> filter(bool f(ClientRect element)) => | 22314 List mappedBy(f(ClientRect element)) => new MappedList<ClientRect, dynamic>(th
is, f); |
21185 Collections.filter(this, <ClientRect>[], f); | 22315 |
| 22316 Iterable<ClientRect> where(bool f(ClientRect element)) => new WhereIterable<Cl
ientRect>(this, f); |
21186 | 22317 |
21187 bool every(bool f(ClientRect element)) => Collections.every(this, f); | 22318 bool every(bool f(ClientRect element)) => Collections.every(this, f); |
21188 | 22319 |
21189 bool some(bool f(ClientRect element)) => Collections.some(this, f); | 22320 bool any(bool f(ClientRect element)) => Collections.any(this, f); |
21190 | 22321 |
21191 bool get isEmpty => this.length == 0; | 22322 bool get isEmpty => this.length == 0; |
21192 | 22323 |
| 22324 List<ClientRect> take(int n) => new ListView<ClientRect>(this, 0, n); |
| 22325 |
| 22326 Iterable<ClientRect> takeWhile(bool test(ClientRect value)) { |
| 22327 return new TakeWhileIterable<ClientRect>(this, test); |
| 22328 } |
| 22329 |
| 22330 List<ClientRect> skip(int n) => new ListView<ClientRect>(this, n, null); |
| 22331 |
| 22332 Iterable<ClientRect> skipWhile(bool test(ClientRect value)) { |
| 22333 return new SkipWhileIterable<ClientRect>(this, test); |
| 22334 } |
| 22335 |
| 22336 ClientRect firstMatching(bool test(ClientRect value), { ClientRect orElse() })
{ |
| 22337 return Collections.firstMatching(this, test, orElse); |
| 22338 } |
| 22339 |
| 22340 ClientRect lastMatching(bool test(ClientRect value), {ClientRect orElse()}) { |
| 22341 return Collections.lastMatchingInList(this, test, orElse); |
| 22342 } |
| 22343 |
| 22344 ClientRect singleMatching(bool test(ClientRect value)) { |
| 22345 return Collections.singleMatching(this, test); |
| 22346 } |
| 22347 |
| 22348 ClientRect elementAt(int index) { |
| 22349 return this[index]; |
| 22350 } |
| 22351 |
| 22352 // From Collection<ClientRect>: |
| 22353 |
| 22354 void add(ClientRect value) { |
| 22355 throw new UnsupportedError("Cannot add to immutable List."); |
| 22356 } |
| 22357 |
| 22358 void addLast(ClientRect value) { |
| 22359 throw new UnsupportedError("Cannot add to immutable List."); |
| 22360 } |
| 22361 |
| 22362 void addAll(Iterable<ClientRect> iterable) { |
| 22363 throw new UnsupportedError("Cannot add to immutable List."); |
| 22364 } |
| 22365 |
21193 // From List<ClientRect>: | 22366 // From List<ClientRect>: |
21194 void set length(int value) { | 22367 void set length(int value) { |
21195 throw new UnsupportedError("Cannot resize immutable List."); | 22368 throw new UnsupportedError("Cannot resize immutable List."); |
21196 } | 22369 } |
21197 | 22370 |
21198 void clear() { | 22371 void clear() { |
21199 throw new UnsupportedError("Cannot clear immutable List."); | 22372 throw new UnsupportedError("Cannot clear immutable List."); |
21200 } | 22373 } |
21201 | 22374 |
21202 void sort([int compare(ClientRect a, ClientRect b)]) { | 22375 void sort([int compare(ClientRect a, ClientRect b)]) { |
21203 throw new UnsupportedError("Cannot sort immutable List."); | 22376 throw new UnsupportedError("Cannot sort immutable List."); |
21204 } | 22377 } |
21205 | 22378 |
21206 int indexOf(ClientRect element, [int start = 0]) => | 22379 int indexOf(ClientRect element, [int start = 0]) => |
21207 Lists.indexOf(this, element, start, this.length); | 22380 Lists.indexOf(this, element, start, this.length); |
21208 | 22381 |
21209 int lastIndexOf(ClientRect element, [int start]) { | 22382 int lastIndexOf(ClientRect element, [int start]) { |
21210 if (start == null) start = length - 1; | 22383 if (start == null) start = length - 1; |
21211 return Lists.lastIndexOf(this, element, start); | 22384 return Lists.lastIndexOf(this, element, start); |
21212 } | 22385 } |
21213 | 22386 |
21214 ClientRect get first => this[0]; | 22387 ClientRect get first { |
| 22388 if (this.length > 0) return this[0]; |
| 22389 throw new StateError("No elements"); |
| 22390 } |
21215 | 22391 |
21216 ClientRect get last => this[length - 1]; | 22392 ClientRect get last { |
| 22393 if (this.length > 0) return this[this.length - 1]; |
| 22394 throw new StateError("No elements"); |
| 22395 } |
| 22396 |
| 22397 ClientRect get single { |
| 22398 if (length == 1) return this[0]; |
| 22399 if (length == 0) throw new StateError("No elements"); |
| 22400 throw new StateError("More than one element"); |
| 22401 } |
| 22402 |
| 22403 ClientRect min([int compare(ClientRect a, ClientRect b)]) => _Collections.minI
nList(this, compare); |
| 22404 |
| 22405 ClientRect max([int compare(ClientRect a, ClientRect b)]) => _Collections.maxI
nList(this, compare); |
21217 | 22406 |
21218 ClientRect removeAt(int pos) { | 22407 ClientRect removeAt(int pos) { |
21219 throw new UnsupportedError("Cannot removeAt on immutable List."); | 22408 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21220 } | 22409 } |
21221 | 22410 |
21222 ClientRect removeLast() { | 22411 ClientRect removeLast() { |
21223 throw new UnsupportedError("Cannot removeLast on immutable List."); | 22412 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21224 } | 22413 } |
21225 | 22414 |
21226 void setRange(int start, int rangeLength, List<ClientRect> from, [int startFro
m]) { | 22415 void setRange(int start, int rangeLength, List<ClientRect> from, [int startFro
m]) { |
(...skipping 30 matching lines...) Expand all Loading... |
21257 CssRule operator[](int index) => JS("CssRule", "#[#]", this, index); | 22446 CssRule operator[](int index) => JS("CssRule", "#[#]", this, index); |
21258 | 22447 |
21259 void operator[]=(int index, CssRule value) { | 22448 void operator[]=(int index, CssRule value) { |
21260 throw new UnsupportedError("Cannot assign element of immutable List."); | 22449 throw new UnsupportedError("Cannot assign element of immutable List."); |
21261 } | 22450 } |
21262 // -- start List<CssRule> mixins. | 22451 // -- start List<CssRule> mixins. |
21263 // CssRule is the element type. | 22452 // CssRule is the element type. |
21264 | 22453 |
21265 // From Iterable<CssRule>: | 22454 // From Iterable<CssRule>: |
21266 | 22455 |
21267 Iterator<CssRule> iterator() { | 22456 Iterator<CssRule> get iterator { |
21268 // Note: NodeLists are not fixed size. And most probably length shouldn't | 22457 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21269 // be cached in both iterator _and_ forEach method. For now caching it | 22458 // be cached in both iterator _and_ forEach method. For now caching it |
21270 // for consistency. | 22459 // for consistency. |
21271 return new FixedSizeListIterator<CssRule>(this); | 22460 return new FixedSizeListIterator<CssRule>(this); |
21272 } | 22461 } |
21273 | 22462 |
21274 // From Collection<CssRule>: | |
21275 | |
21276 void add(CssRule value) { | |
21277 throw new UnsupportedError("Cannot add to immutable List."); | |
21278 } | |
21279 | |
21280 void addLast(CssRule value) { | |
21281 throw new UnsupportedError("Cannot add to immutable List."); | |
21282 } | |
21283 | |
21284 void addAll(Collection<CssRule> collection) { | |
21285 throw new UnsupportedError("Cannot add to immutable List."); | |
21286 } | |
21287 | |
21288 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, CssRule)) { | 22463 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, CssRule)) { |
21289 return Collections.reduce(this, initialValue, combine); | 22464 return Collections.reduce(this, initialValue, combine); |
21290 } | 22465 } |
21291 | 22466 |
21292 bool contains(CssRule element) => Collections.contains(this, element); | 22467 bool contains(CssRule element) => Collections.contains(this, element); |
21293 | 22468 |
21294 void forEach(void f(CssRule element)) => Collections.forEach(this, f); | 22469 void forEach(void f(CssRule element)) => Collections.forEach(this, f); |
21295 | 22470 |
21296 Collection map(f(CssRule element)) => Collections.map(this, [], f); | 22471 String join([String separator]) => Collections.joinList(this, separator); |
21297 | 22472 |
21298 Collection<CssRule> filter(bool f(CssRule element)) => | 22473 List mappedBy(f(CssRule element)) => new MappedList<CssRule, dynamic>(this, f)
; |
21299 Collections.filter(this, <CssRule>[], f); | 22474 |
| 22475 Iterable<CssRule> where(bool f(CssRule element)) => new WhereIterable<CssRule>
(this, f); |
21300 | 22476 |
21301 bool every(bool f(CssRule element)) => Collections.every(this, f); | 22477 bool every(bool f(CssRule element)) => Collections.every(this, f); |
21302 | 22478 |
21303 bool some(bool f(CssRule element)) => Collections.some(this, f); | 22479 bool any(bool f(CssRule element)) => Collections.any(this, f); |
21304 | 22480 |
21305 bool get isEmpty => this.length == 0; | 22481 bool get isEmpty => this.length == 0; |
21306 | 22482 |
| 22483 List<CssRule> take(int n) => new ListView<CssRule>(this, 0, n); |
| 22484 |
| 22485 Iterable<CssRule> takeWhile(bool test(CssRule value)) { |
| 22486 return new TakeWhileIterable<CssRule>(this, test); |
| 22487 } |
| 22488 |
| 22489 List<CssRule> skip(int n) => new ListView<CssRule>(this, n, null); |
| 22490 |
| 22491 Iterable<CssRule> skipWhile(bool test(CssRule value)) { |
| 22492 return new SkipWhileIterable<CssRule>(this, test); |
| 22493 } |
| 22494 |
| 22495 CssRule firstMatching(bool test(CssRule value), { CssRule orElse() }) { |
| 22496 return Collections.firstMatching(this, test, orElse); |
| 22497 } |
| 22498 |
| 22499 CssRule lastMatching(bool test(CssRule value), {CssRule orElse()}) { |
| 22500 return Collections.lastMatchingInList(this, test, orElse); |
| 22501 } |
| 22502 |
| 22503 CssRule singleMatching(bool test(CssRule value)) { |
| 22504 return Collections.singleMatching(this, test); |
| 22505 } |
| 22506 |
| 22507 CssRule elementAt(int index) { |
| 22508 return this[index]; |
| 22509 } |
| 22510 |
| 22511 // From Collection<CssRule>: |
| 22512 |
| 22513 void add(CssRule value) { |
| 22514 throw new UnsupportedError("Cannot add to immutable List."); |
| 22515 } |
| 22516 |
| 22517 void addLast(CssRule value) { |
| 22518 throw new UnsupportedError("Cannot add to immutable List."); |
| 22519 } |
| 22520 |
| 22521 void addAll(Iterable<CssRule> iterable) { |
| 22522 throw new UnsupportedError("Cannot add to immutable List."); |
| 22523 } |
| 22524 |
21307 // From List<CssRule>: | 22525 // From List<CssRule>: |
21308 void set length(int value) { | 22526 void set length(int value) { |
21309 throw new UnsupportedError("Cannot resize immutable List."); | 22527 throw new UnsupportedError("Cannot resize immutable List."); |
21310 } | 22528 } |
21311 | 22529 |
21312 void clear() { | 22530 void clear() { |
21313 throw new UnsupportedError("Cannot clear immutable List."); | 22531 throw new UnsupportedError("Cannot clear immutable List."); |
21314 } | 22532 } |
21315 | 22533 |
21316 void sort([int compare(CssRule a, CssRule b)]) { | 22534 void sort([int compare(CssRule a, CssRule b)]) { |
21317 throw new UnsupportedError("Cannot sort immutable List."); | 22535 throw new UnsupportedError("Cannot sort immutable List."); |
21318 } | 22536 } |
21319 | 22537 |
21320 int indexOf(CssRule element, [int start = 0]) => | 22538 int indexOf(CssRule element, [int start = 0]) => |
21321 Lists.indexOf(this, element, start, this.length); | 22539 Lists.indexOf(this, element, start, this.length); |
21322 | 22540 |
21323 int lastIndexOf(CssRule element, [int start]) { | 22541 int lastIndexOf(CssRule element, [int start]) { |
21324 if (start == null) start = length - 1; | 22542 if (start == null) start = length - 1; |
21325 return Lists.lastIndexOf(this, element, start); | 22543 return Lists.lastIndexOf(this, element, start); |
21326 } | 22544 } |
21327 | 22545 |
21328 CssRule get first => this[0]; | 22546 CssRule get first { |
| 22547 if (this.length > 0) return this[0]; |
| 22548 throw new StateError("No elements"); |
| 22549 } |
21329 | 22550 |
21330 CssRule get last => this[length - 1]; | 22551 CssRule get last { |
| 22552 if (this.length > 0) return this[this.length - 1]; |
| 22553 throw new StateError("No elements"); |
| 22554 } |
| 22555 |
| 22556 CssRule get single { |
| 22557 if (length == 1) return this[0]; |
| 22558 if (length == 0) throw new StateError("No elements"); |
| 22559 throw new StateError("More than one element"); |
| 22560 } |
| 22561 |
| 22562 CssRule min([int compare(CssRule a, CssRule b)]) => _Collections.minInList(thi
s, compare); |
| 22563 |
| 22564 CssRule max([int compare(CssRule a, CssRule b)]) => _Collections.maxInList(thi
s, compare); |
21331 | 22565 |
21332 CssRule removeAt(int pos) { | 22566 CssRule removeAt(int pos) { |
21333 throw new UnsupportedError("Cannot removeAt on immutable List."); | 22567 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21334 } | 22568 } |
21335 | 22569 |
21336 CssRule removeLast() { | 22570 CssRule removeLast() { |
21337 throw new UnsupportedError("Cannot removeLast on immutable List."); | 22571 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21338 } | 22572 } |
21339 | 22573 |
21340 void setRange(int start, int rangeLength, List<CssRule> from, [int startFrom])
{ | 22574 void setRange(int start, int rangeLength, List<CssRule> from, [int startFrom])
{ |
(...skipping 30 matching lines...) Expand all Loading... |
21371 CssValue operator[](int index) => JS("CssValue", "#[#]", this, index); | 22605 CssValue operator[](int index) => JS("CssValue", "#[#]", this, index); |
21372 | 22606 |
21373 void operator[]=(int index, CssValue value) { | 22607 void operator[]=(int index, CssValue value) { |
21374 throw new UnsupportedError("Cannot assign element of immutable List."); | 22608 throw new UnsupportedError("Cannot assign element of immutable List."); |
21375 } | 22609 } |
21376 // -- start List<CssValue> mixins. | 22610 // -- start List<CssValue> mixins. |
21377 // CssValue is the element type. | 22611 // CssValue is the element type. |
21378 | 22612 |
21379 // From Iterable<CssValue>: | 22613 // From Iterable<CssValue>: |
21380 | 22614 |
21381 Iterator<CssValue> iterator() { | 22615 Iterator<CssValue> get iterator { |
21382 // Note: NodeLists are not fixed size. And most probably length shouldn't | 22616 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21383 // be cached in both iterator _and_ forEach method. For now caching it | 22617 // be cached in both iterator _and_ forEach method. For now caching it |
21384 // for consistency. | 22618 // for consistency. |
21385 return new FixedSizeListIterator<CssValue>(this); | 22619 return new FixedSizeListIterator<CssValue>(this); |
21386 } | 22620 } |
21387 | 22621 |
21388 // From Collection<CssValue>: | |
21389 | |
21390 void add(CssValue value) { | |
21391 throw new UnsupportedError("Cannot add to immutable List."); | |
21392 } | |
21393 | |
21394 void addLast(CssValue value) { | |
21395 throw new UnsupportedError("Cannot add to immutable List."); | |
21396 } | |
21397 | |
21398 void addAll(Collection<CssValue> collection) { | |
21399 throw new UnsupportedError("Cannot add to immutable List."); | |
21400 } | |
21401 | |
21402 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, CssValue)) { | 22622 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, CssValue)) { |
21403 return Collections.reduce(this, initialValue, combine); | 22623 return Collections.reduce(this, initialValue, combine); |
21404 } | 22624 } |
21405 | 22625 |
21406 bool contains(CssValue element) => Collections.contains(this, element); | 22626 bool contains(CssValue element) => Collections.contains(this, element); |
21407 | 22627 |
21408 void forEach(void f(CssValue element)) => Collections.forEach(this, f); | 22628 void forEach(void f(CssValue element)) => Collections.forEach(this, f); |
21409 | 22629 |
21410 Collection map(f(CssValue element)) => Collections.map(this, [], f); | 22630 String join([String separator]) => Collections.joinList(this, separator); |
21411 | 22631 |
21412 Collection<CssValue> filter(bool f(CssValue element)) => | 22632 List mappedBy(f(CssValue element)) => new MappedList<CssValue, dynamic>(this,
f); |
21413 Collections.filter(this, <CssValue>[], f); | 22633 |
| 22634 Iterable<CssValue> where(bool f(CssValue element)) => new WhereIterable<CssVal
ue>(this, f); |
21414 | 22635 |
21415 bool every(bool f(CssValue element)) => Collections.every(this, f); | 22636 bool every(bool f(CssValue element)) => Collections.every(this, f); |
21416 | 22637 |
21417 bool some(bool f(CssValue element)) => Collections.some(this, f); | 22638 bool any(bool f(CssValue element)) => Collections.any(this, f); |
21418 | 22639 |
21419 bool get isEmpty => this.length == 0; | 22640 bool get isEmpty => this.length == 0; |
21420 | 22641 |
| 22642 List<CssValue> take(int n) => new ListView<CssValue>(this, 0, n); |
| 22643 |
| 22644 Iterable<CssValue> takeWhile(bool test(CssValue value)) { |
| 22645 return new TakeWhileIterable<CssValue>(this, test); |
| 22646 } |
| 22647 |
| 22648 List<CssValue> skip(int n) => new ListView<CssValue>(this, n, null); |
| 22649 |
| 22650 Iterable<CssValue> skipWhile(bool test(CssValue value)) { |
| 22651 return new SkipWhileIterable<CssValue>(this, test); |
| 22652 } |
| 22653 |
| 22654 CssValue firstMatching(bool test(CssValue value), { CssValue orElse() }) { |
| 22655 return Collections.firstMatching(this, test, orElse); |
| 22656 } |
| 22657 |
| 22658 CssValue lastMatching(bool test(CssValue value), {CssValue orElse()}) { |
| 22659 return Collections.lastMatchingInList(this, test, orElse); |
| 22660 } |
| 22661 |
| 22662 CssValue singleMatching(bool test(CssValue value)) { |
| 22663 return Collections.singleMatching(this, test); |
| 22664 } |
| 22665 |
| 22666 CssValue elementAt(int index) { |
| 22667 return this[index]; |
| 22668 } |
| 22669 |
| 22670 // From Collection<CssValue>: |
| 22671 |
| 22672 void add(CssValue value) { |
| 22673 throw new UnsupportedError("Cannot add to immutable List."); |
| 22674 } |
| 22675 |
| 22676 void addLast(CssValue value) { |
| 22677 throw new UnsupportedError("Cannot add to immutable List."); |
| 22678 } |
| 22679 |
| 22680 void addAll(Iterable<CssValue> iterable) { |
| 22681 throw new UnsupportedError("Cannot add to immutable List."); |
| 22682 } |
| 22683 |
21421 // From List<CssValue>: | 22684 // From List<CssValue>: |
21422 void set length(int value) { | 22685 void set length(int value) { |
21423 throw new UnsupportedError("Cannot resize immutable List."); | 22686 throw new UnsupportedError("Cannot resize immutable List."); |
21424 } | 22687 } |
21425 | 22688 |
21426 void clear() { | 22689 void clear() { |
21427 throw new UnsupportedError("Cannot clear immutable List."); | 22690 throw new UnsupportedError("Cannot clear immutable List."); |
21428 } | 22691 } |
21429 | 22692 |
21430 void sort([int compare(CssValue a, CssValue b)]) { | 22693 void sort([int compare(CssValue a, CssValue b)]) { |
21431 throw new UnsupportedError("Cannot sort immutable List."); | 22694 throw new UnsupportedError("Cannot sort immutable List."); |
21432 } | 22695 } |
21433 | 22696 |
21434 int indexOf(CssValue element, [int start = 0]) => | 22697 int indexOf(CssValue element, [int start = 0]) => |
21435 Lists.indexOf(this, element, start, this.length); | 22698 Lists.indexOf(this, element, start, this.length); |
21436 | 22699 |
21437 int lastIndexOf(CssValue element, [int start]) { | 22700 int lastIndexOf(CssValue element, [int start]) { |
21438 if (start == null) start = length - 1; | 22701 if (start == null) start = length - 1; |
21439 return Lists.lastIndexOf(this, element, start); | 22702 return Lists.lastIndexOf(this, element, start); |
21440 } | 22703 } |
21441 | 22704 |
21442 CssValue get first => this[0]; | 22705 CssValue get first { |
| 22706 if (this.length > 0) return this[0]; |
| 22707 throw new StateError("No elements"); |
| 22708 } |
21443 | 22709 |
21444 CssValue get last => this[length - 1]; | 22710 CssValue get last { |
| 22711 if (this.length > 0) return this[this.length - 1]; |
| 22712 throw new StateError("No elements"); |
| 22713 } |
| 22714 |
| 22715 CssValue get single { |
| 22716 if (length == 1) return this[0]; |
| 22717 if (length == 0) throw new StateError("No elements"); |
| 22718 throw new StateError("More than one element"); |
| 22719 } |
| 22720 |
| 22721 CssValue min([int compare(CssValue a, CssValue b)]) => _Collections.minInList(
this, compare); |
| 22722 |
| 22723 CssValue max([int compare(CssValue a, CssValue b)]) => _Collections.maxInList(
this, compare); |
21445 | 22724 |
21446 CssValue removeAt(int pos) { | 22725 CssValue removeAt(int pos) { |
21447 throw new UnsupportedError("Cannot removeAt on immutable List."); | 22726 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21448 } | 22727 } |
21449 | 22728 |
21450 CssValue removeLast() { | 22729 CssValue removeLast() { |
21451 throw new UnsupportedError("Cannot removeLast on immutable List."); | 22730 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21452 } | 22731 } |
21453 | 22732 |
21454 void setRange(int start, int rangeLength, List<CssValue> from, [int startFrom]
) { | 22733 void setRange(int start, int rangeLength, List<CssValue> from, [int startFrom]
) { |
(...skipping 30 matching lines...) Expand all Loading... |
21485 Entry operator[](int index) => JS("Entry", "#[#]", this, index); | 22764 Entry operator[](int index) => JS("Entry", "#[#]", this, index); |
21486 | 22765 |
21487 void operator[]=(int index, Entry value) { | 22766 void operator[]=(int index, Entry value) { |
21488 throw new UnsupportedError("Cannot assign element of immutable List."); | 22767 throw new UnsupportedError("Cannot assign element of immutable List."); |
21489 } | 22768 } |
21490 // -- start List<Entry> mixins. | 22769 // -- start List<Entry> mixins. |
21491 // Entry is the element type. | 22770 // Entry is the element type. |
21492 | 22771 |
21493 // From Iterable<Entry>: | 22772 // From Iterable<Entry>: |
21494 | 22773 |
21495 Iterator<Entry> iterator() { | 22774 Iterator<Entry> get iterator { |
21496 // Note: NodeLists are not fixed size. And most probably length shouldn't | 22775 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21497 // be cached in both iterator _and_ forEach method. For now caching it | 22776 // be cached in both iterator _and_ forEach method. For now caching it |
21498 // for consistency. | 22777 // for consistency. |
21499 return new FixedSizeListIterator<Entry>(this); | 22778 return new FixedSizeListIterator<Entry>(this); |
21500 } | 22779 } |
21501 | 22780 |
21502 // From Collection<Entry>: | |
21503 | |
21504 void add(Entry value) { | |
21505 throw new UnsupportedError("Cannot add to immutable List."); | |
21506 } | |
21507 | |
21508 void addLast(Entry value) { | |
21509 throw new UnsupportedError("Cannot add to immutable List."); | |
21510 } | |
21511 | |
21512 void addAll(Collection<Entry> collection) { | |
21513 throw new UnsupportedError("Cannot add to immutable List."); | |
21514 } | |
21515 | |
21516 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Entry)) { | 22781 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Entry)) { |
21517 return Collections.reduce(this, initialValue, combine); | 22782 return Collections.reduce(this, initialValue, combine); |
21518 } | 22783 } |
21519 | 22784 |
21520 bool contains(Entry element) => Collections.contains(this, element); | 22785 bool contains(Entry element) => Collections.contains(this, element); |
21521 | 22786 |
21522 void forEach(void f(Entry element)) => Collections.forEach(this, f); | 22787 void forEach(void f(Entry element)) => Collections.forEach(this, f); |
21523 | 22788 |
21524 Collection map(f(Entry element)) => Collections.map(this, [], f); | 22789 String join([String separator]) => Collections.joinList(this, separator); |
21525 | 22790 |
21526 Collection<Entry> filter(bool f(Entry element)) => | 22791 List mappedBy(f(Entry element)) => new MappedList<Entry, dynamic>(this, f); |
21527 Collections.filter(this, <Entry>[], f); | 22792 |
| 22793 Iterable<Entry> where(bool f(Entry element)) => new WhereIterable<Entry>(this,
f); |
21528 | 22794 |
21529 bool every(bool f(Entry element)) => Collections.every(this, f); | 22795 bool every(bool f(Entry element)) => Collections.every(this, f); |
21530 | 22796 |
21531 bool some(bool f(Entry element)) => Collections.some(this, f); | 22797 bool any(bool f(Entry element)) => Collections.any(this, f); |
21532 | 22798 |
21533 bool get isEmpty => this.length == 0; | 22799 bool get isEmpty => this.length == 0; |
21534 | 22800 |
| 22801 List<Entry> take(int n) => new ListView<Entry>(this, 0, n); |
| 22802 |
| 22803 Iterable<Entry> takeWhile(bool test(Entry value)) { |
| 22804 return new TakeWhileIterable<Entry>(this, test); |
| 22805 } |
| 22806 |
| 22807 List<Entry> skip(int n) => new ListView<Entry>(this, n, null); |
| 22808 |
| 22809 Iterable<Entry> skipWhile(bool test(Entry value)) { |
| 22810 return new SkipWhileIterable<Entry>(this, test); |
| 22811 } |
| 22812 |
| 22813 Entry firstMatching(bool test(Entry value), { Entry orElse() }) { |
| 22814 return Collections.firstMatching(this, test, orElse); |
| 22815 } |
| 22816 |
| 22817 Entry lastMatching(bool test(Entry value), {Entry orElse()}) { |
| 22818 return Collections.lastMatchingInList(this, test, orElse); |
| 22819 } |
| 22820 |
| 22821 Entry singleMatching(bool test(Entry value)) { |
| 22822 return Collections.singleMatching(this, test); |
| 22823 } |
| 22824 |
| 22825 Entry elementAt(int index) { |
| 22826 return this[index]; |
| 22827 } |
| 22828 |
| 22829 // From Collection<Entry>: |
| 22830 |
| 22831 void add(Entry value) { |
| 22832 throw new UnsupportedError("Cannot add to immutable List."); |
| 22833 } |
| 22834 |
| 22835 void addLast(Entry value) { |
| 22836 throw new UnsupportedError("Cannot add to immutable List."); |
| 22837 } |
| 22838 |
| 22839 void addAll(Iterable<Entry> iterable) { |
| 22840 throw new UnsupportedError("Cannot add to immutable List."); |
| 22841 } |
| 22842 |
21535 // From List<Entry>: | 22843 // From List<Entry>: |
21536 void set length(int value) { | 22844 void set length(int value) { |
21537 throw new UnsupportedError("Cannot resize immutable List."); | 22845 throw new UnsupportedError("Cannot resize immutable List."); |
21538 } | 22846 } |
21539 | 22847 |
21540 void clear() { | 22848 void clear() { |
21541 throw new UnsupportedError("Cannot clear immutable List."); | 22849 throw new UnsupportedError("Cannot clear immutable List."); |
21542 } | 22850 } |
21543 | 22851 |
21544 void sort([int compare(Entry a, Entry b)]) { | 22852 void sort([int compare(Entry a, Entry b)]) { |
21545 throw new UnsupportedError("Cannot sort immutable List."); | 22853 throw new UnsupportedError("Cannot sort immutable List."); |
21546 } | 22854 } |
21547 | 22855 |
21548 int indexOf(Entry element, [int start = 0]) => | 22856 int indexOf(Entry element, [int start = 0]) => |
21549 Lists.indexOf(this, element, start, this.length); | 22857 Lists.indexOf(this, element, start, this.length); |
21550 | 22858 |
21551 int lastIndexOf(Entry element, [int start]) { | 22859 int lastIndexOf(Entry element, [int start]) { |
21552 if (start == null) start = length - 1; | 22860 if (start == null) start = length - 1; |
21553 return Lists.lastIndexOf(this, element, start); | 22861 return Lists.lastIndexOf(this, element, start); |
21554 } | 22862 } |
21555 | 22863 |
21556 Entry get first => this[0]; | 22864 Entry get first { |
| 22865 if (this.length > 0) return this[0]; |
| 22866 throw new StateError("No elements"); |
| 22867 } |
21557 | 22868 |
21558 Entry get last => this[length - 1]; | 22869 Entry get last { |
| 22870 if (this.length > 0) return this[this.length - 1]; |
| 22871 throw new StateError("No elements"); |
| 22872 } |
| 22873 |
| 22874 Entry get single { |
| 22875 if (length == 1) return this[0]; |
| 22876 if (length == 0) throw new StateError("No elements"); |
| 22877 throw new StateError("More than one element"); |
| 22878 } |
| 22879 |
| 22880 Entry min([int compare(Entry a, Entry b)]) => _Collections.minInList(this, com
pare); |
| 22881 |
| 22882 Entry max([int compare(Entry a, Entry b)]) => _Collections.maxInList(this, com
pare); |
21559 | 22883 |
21560 Entry removeAt(int pos) { | 22884 Entry removeAt(int pos) { |
21561 throw new UnsupportedError("Cannot removeAt on immutable List."); | 22885 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21562 } | 22886 } |
21563 | 22887 |
21564 Entry removeLast() { | 22888 Entry removeLast() { |
21565 throw new UnsupportedError("Cannot removeLast on immutable List."); | 22889 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21566 } | 22890 } |
21567 | 22891 |
21568 void setRange(int start, int rangeLength, List<Entry> from, [int startFrom]) { | 22892 void setRange(int start, int rangeLength, List<Entry> from, [int startFrom]) { |
(...skipping 30 matching lines...) Expand all Loading... |
21599 EntrySync operator[](int index) => JS("EntrySync", "#[#]", this, index); | 22923 EntrySync operator[](int index) => JS("EntrySync", "#[#]", this, index); |
21600 | 22924 |
21601 void operator[]=(int index, EntrySync value) { | 22925 void operator[]=(int index, EntrySync value) { |
21602 throw new UnsupportedError("Cannot assign element of immutable List."); | 22926 throw new UnsupportedError("Cannot assign element of immutable List."); |
21603 } | 22927 } |
21604 // -- start List<EntrySync> mixins. | 22928 // -- start List<EntrySync> mixins. |
21605 // EntrySync is the element type. | 22929 // EntrySync is the element type. |
21606 | 22930 |
21607 // From Iterable<EntrySync>: | 22931 // From Iterable<EntrySync>: |
21608 | 22932 |
21609 Iterator<EntrySync> iterator() { | 22933 Iterator<EntrySync> get iterator { |
21610 // Note: NodeLists are not fixed size. And most probably length shouldn't | 22934 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21611 // be cached in both iterator _and_ forEach method. For now caching it | 22935 // be cached in both iterator _and_ forEach method. For now caching it |
21612 // for consistency. | 22936 // for consistency. |
21613 return new FixedSizeListIterator<EntrySync>(this); | 22937 return new FixedSizeListIterator<EntrySync>(this); |
21614 } | 22938 } |
21615 | 22939 |
21616 // From Collection<EntrySync>: | |
21617 | |
21618 void add(EntrySync value) { | |
21619 throw new UnsupportedError("Cannot add to immutable List."); | |
21620 } | |
21621 | |
21622 void addLast(EntrySync value) { | |
21623 throw new UnsupportedError("Cannot add to immutable List."); | |
21624 } | |
21625 | |
21626 void addAll(Collection<EntrySync> collection) { | |
21627 throw new UnsupportedError("Cannot add to immutable List."); | |
21628 } | |
21629 | |
21630 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, EntrySync)) { | 22940 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, EntrySync)) { |
21631 return Collections.reduce(this, initialValue, combine); | 22941 return Collections.reduce(this, initialValue, combine); |
21632 } | 22942 } |
21633 | 22943 |
21634 bool contains(EntrySync element) => Collections.contains(this, element); | 22944 bool contains(EntrySync element) => Collections.contains(this, element); |
21635 | 22945 |
21636 void forEach(void f(EntrySync element)) => Collections.forEach(this, f); | 22946 void forEach(void f(EntrySync element)) => Collections.forEach(this, f); |
21637 | 22947 |
21638 Collection map(f(EntrySync element)) => Collections.map(this, [], f); | 22948 String join([String separator]) => Collections.joinList(this, separator); |
21639 | 22949 |
21640 Collection<EntrySync> filter(bool f(EntrySync element)) => | 22950 List mappedBy(f(EntrySync element)) => new MappedList<EntrySync, dynamic>(this
, f); |
21641 Collections.filter(this, <EntrySync>[], f); | 22951 |
| 22952 Iterable<EntrySync> where(bool f(EntrySync element)) => new WhereIterable<Entr
ySync>(this, f); |
21642 | 22953 |
21643 bool every(bool f(EntrySync element)) => Collections.every(this, f); | 22954 bool every(bool f(EntrySync element)) => Collections.every(this, f); |
21644 | 22955 |
21645 bool some(bool f(EntrySync element)) => Collections.some(this, f); | 22956 bool any(bool f(EntrySync element)) => Collections.any(this, f); |
21646 | 22957 |
21647 bool get isEmpty => this.length == 0; | 22958 bool get isEmpty => this.length == 0; |
21648 | 22959 |
| 22960 List<EntrySync> take(int n) => new ListView<EntrySync>(this, 0, n); |
| 22961 |
| 22962 Iterable<EntrySync> takeWhile(bool test(EntrySync value)) { |
| 22963 return new TakeWhileIterable<EntrySync>(this, test); |
| 22964 } |
| 22965 |
| 22966 List<EntrySync> skip(int n) => new ListView<EntrySync>(this, n, null); |
| 22967 |
| 22968 Iterable<EntrySync> skipWhile(bool test(EntrySync value)) { |
| 22969 return new SkipWhileIterable<EntrySync>(this, test); |
| 22970 } |
| 22971 |
| 22972 EntrySync firstMatching(bool test(EntrySync value), { EntrySync orElse() }) { |
| 22973 return Collections.firstMatching(this, test, orElse); |
| 22974 } |
| 22975 |
| 22976 EntrySync lastMatching(bool test(EntrySync value), {EntrySync orElse()}) { |
| 22977 return Collections.lastMatchingInList(this, test, orElse); |
| 22978 } |
| 22979 |
| 22980 EntrySync singleMatching(bool test(EntrySync value)) { |
| 22981 return Collections.singleMatching(this, test); |
| 22982 } |
| 22983 |
| 22984 EntrySync elementAt(int index) { |
| 22985 return this[index]; |
| 22986 } |
| 22987 |
| 22988 // From Collection<EntrySync>: |
| 22989 |
| 22990 void add(EntrySync value) { |
| 22991 throw new UnsupportedError("Cannot add to immutable List."); |
| 22992 } |
| 22993 |
| 22994 void addLast(EntrySync value) { |
| 22995 throw new UnsupportedError("Cannot add to immutable List."); |
| 22996 } |
| 22997 |
| 22998 void addAll(Iterable<EntrySync> iterable) { |
| 22999 throw new UnsupportedError("Cannot add to immutable List."); |
| 23000 } |
| 23001 |
21649 // From List<EntrySync>: | 23002 // From List<EntrySync>: |
21650 void set length(int value) { | 23003 void set length(int value) { |
21651 throw new UnsupportedError("Cannot resize immutable List."); | 23004 throw new UnsupportedError("Cannot resize immutable List."); |
21652 } | 23005 } |
21653 | 23006 |
21654 void clear() { | 23007 void clear() { |
21655 throw new UnsupportedError("Cannot clear immutable List."); | 23008 throw new UnsupportedError("Cannot clear immutable List."); |
21656 } | 23009 } |
21657 | 23010 |
21658 void sort([int compare(EntrySync a, EntrySync b)]) { | 23011 void sort([int compare(EntrySync a, EntrySync b)]) { |
21659 throw new UnsupportedError("Cannot sort immutable List."); | 23012 throw new UnsupportedError("Cannot sort immutable List."); |
21660 } | 23013 } |
21661 | 23014 |
21662 int indexOf(EntrySync element, [int start = 0]) => | 23015 int indexOf(EntrySync element, [int start = 0]) => |
21663 Lists.indexOf(this, element, start, this.length); | 23016 Lists.indexOf(this, element, start, this.length); |
21664 | 23017 |
21665 int lastIndexOf(EntrySync element, [int start]) { | 23018 int lastIndexOf(EntrySync element, [int start]) { |
21666 if (start == null) start = length - 1; | 23019 if (start == null) start = length - 1; |
21667 return Lists.lastIndexOf(this, element, start); | 23020 return Lists.lastIndexOf(this, element, start); |
21668 } | 23021 } |
21669 | 23022 |
21670 EntrySync get first => this[0]; | 23023 EntrySync get first { |
| 23024 if (this.length > 0) return this[0]; |
| 23025 throw new StateError("No elements"); |
| 23026 } |
21671 | 23027 |
21672 EntrySync get last => this[length - 1]; | 23028 EntrySync get last { |
| 23029 if (this.length > 0) return this[this.length - 1]; |
| 23030 throw new StateError("No elements"); |
| 23031 } |
| 23032 |
| 23033 EntrySync get single { |
| 23034 if (length == 1) return this[0]; |
| 23035 if (length == 0) throw new StateError("No elements"); |
| 23036 throw new StateError("More than one element"); |
| 23037 } |
| 23038 |
| 23039 EntrySync min([int compare(EntrySync a, EntrySync b)]) => _Collections.minInLi
st(this, compare); |
| 23040 |
| 23041 EntrySync max([int compare(EntrySync a, EntrySync b)]) => _Collections.maxInLi
st(this, compare); |
21673 | 23042 |
21674 EntrySync removeAt(int pos) { | 23043 EntrySync removeAt(int pos) { |
21675 throw new UnsupportedError("Cannot removeAt on immutable List."); | 23044 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21676 } | 23045 } |
21677 | 23046 |
21678 EntrySync removeLast() { | 23047 EntrySync removeLast() { |
21679 throw new UnsupportedError("Cannot removeLast on immutable List."); | 23048 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21680 } | 23049 } |
21681 | 23050 |
21682 void setRange(int start, int rangeLength, List<EntrySync> from, [int startFrom
]) { | 23051 void setRange(int start, int rangeLength, List<EntrySync> from, [int startFrom
]) { |
(...skipping 30 matching lines...) Expand all Loading... |
21713 Gamepad operator[](int index) => JS("Gamepad", "#[#]", this, index); | 23082 Gamepad operator[](int index) => JS("Gamepad", "#[#]", this, index); |
21714 | 23083 |
21715 void operator[]=(int index, Gamepad value) { | 23084 void operator[]=(int index, Gamepad value) { |
21716 throw new UnsupportedError("Cannot assign element of immutable List."); | 23085 throw new UnsupportedError("Cannot assign element of immutable List."); |
21717 } | 23086 } |
21718 // -- start List<Gamepad> mixins. | 23087 // -- start List<Gamepad> mixins. |
21719 // Gamepad is the element type. | 23088 // Gamepad is the element type. |
21720 | 23089 |
21721 // From Iterable<Gamepad>: | 23090 // From Iterable<Gamepad>: |
21722 | 23091 |
21723 Iterator<Gamepad> iterator() { | 23092 Iterator<Gamepad> get iterator { |
21724 // Note: NodeLists are not fixed size. And most probably length shouldn't | 23093 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21725 // be cached in both iterator _and_ forEach method. For now caching it | 23094 // be cached in both iterator _and_ forEach method. For now caching it |
21726 // for consistency. | 23095 // for consistency. |
21727 return new FixedSizeListIterator<Gamepad>(this); | 23096 return new FixedSizeListIterator<Gamepad>(this); |
21728 } | 23097 } |
21729 | 23098 |
21730 // From Collection<Gamepad>: | |
21731 | |
21732 void add(Gamepad value) { | |
21733 throw new UnsupportedError("Cannot add to immutable List."); | |
21734 } | |
21735 | |
21736 void addLast(Gamepad value) { | |
21737 throw new UnsupportedError("Cannot add to immutable List."); | |
21738 } | |
21739 | |
21740 void addAll(Collection<Gamepad> collection) { | |
21741 throw new UnsupportedError("Cannot add to immutable List."); | |
21742 } | |
21743 | |
21744 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Gamepad)) { | 23099 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Gamepad)) { |
21745 return Collections.reduce(this, initialValue, combine); | 23100 return Collections.reduce(this, initialValue, combine); |
21746 } | 23101 } |
21747 | 23102 |
21748 bool contains(Gamepad element) => Collections.contains(this, element); | 23103 bool contains(Gamepad element) => Collections.contains(this, element); |
21749 | 23104 |
21750 void forEach(void f(Gamepad element)) => Collections.forEach(this, f); | 23105 void forEach(void f(Gamepad element)) => Collections.forEach(this, f); |
21751 | 23106 |
21752 Collection map(f(Gamepad element)) => Collections.map(this, [], f); | 23107 String join([String separator]) => Collections.joinList(this, separator); |
21753 | 23108 |
21754 Collection<Gamepad> filter(bool f(Gamepad element)) => | 23109 List mappedBy(f(Gamepad element)) => new MappedList<Gamepad, dynamic>(this, f)
; |
21755 Collections.filter(this, <Gamepad>[], f); | 23110 |
| 23111 Iterable<Gamepad> where(bool f(Gamepad element)) => new WhereIterable<Gamepad>
(this, f); |
21756 | 23112 |
21757 bool every(bool f(Gamepad element)) => Collections.every(this, f); | 23113 bool every(bool f(Gamepad element)) => Collections.every(this, f); |
21758 | 23114 |
21759 bool some(bool f(Gamepad element)) => Collections.some(this, f); | 23115 bool any(bool f(Gamepad element)) => Collections.any(this, f); |
21760 | 23116 |
21761 bool get isEmpty => this.length == 0; | 23117 bool get isEmpty => this.length == 0; |
21762 | 23118 |
| 23119 List<Gamepad> take(int n) => new ListView<Gamepad>(this, 0, n); |
| 23120 |
| 23121 Iterable<Gamepad> takeWhile(bool test(Gamepad value)) { |
| 23122 return new TakeWhileIterable<Gamepad>(this, test); |
| 23123 } |
| 23124 |
| 23125 List<Gamepad> skip(int n) => new ListView<Gamepad>(this, n, null); |
| 23126 |
| 23127 Iterable<Gamepad> skipWhile(bool test(Gamepad value)) { |
| 23128 return new SkipWhileIterable<Gamepad>(this, test); |
| 23129 } |
| 23130 |
| 23131 Gamepad firstMatching(bool test(Gamepad value), { Gamepad orElse() }) { |
| 23132 return Collections.firstMatching(this, test, orElse); |
| 23133 } |
| 23134 |
| 23135 Gamepad lastMatching(bool test(Gamepad value), {Gamepad orElse()}) { |
| 23136 return Collections.lastMatchingInList(this, test, orElse); |
| 23137 } |
| 23138 |
| 23139 Gamepad singleMatching(bool test(Gamepad value)) { |
| 23140 return Collections.singleMatching(this, test); |
| 23141 } |
| 23142 |
| 23143 Gamepad elementAt(int index) { |
| 23144 return this[index]; |
| 23145 } |
| 23146 |
| 23147 // From Collection<Gamepad>: |
| 23148 |
| 23149 void add(Gamepad value) { |
| 23150 throw new UnsupportedError("Cannot add to immutable List."); |
| 23151 } |
| 23152 |
| 23153 void addLast(Gamepad value) { |
| 23154 throw new UnsupportedError("Cannot add to immutable List."); |
| 23155 } |
| 23156 |
| 23157 void addAll(Iterable<Gamepad> iterable) { |
| 23158 throw new UnsupportedError("Cannot add to immutable List."); |
| 23159 } |
| 23160 |
21763 // From List<Gamepad>: | 23161 // From List<Gamepad>: |
21764 void set length(int value) { | 23162 void set length(int value) { |
21765 throw new UnsupportedError("Cannot resize immutable List."); | 23163 throw new UnsupportedError("Cannot resize immutable List."); |
21766 } | 23164 } |
21767 | 23165 |
21768 void clear() { | 23166 void clear() { |
21769 throw new UnsupportedError("Cannot clear immutable List."); | 23167 throw new UnsupportedError("Cannot clear immutable List."); |
21770 } | 23168 } |
21771 | 23169 |
21772 void sort([int compare(Gamepad a, Gamepad b)]) { | 23170 void sort([int compare(Gamepad a, Gamepad b)]) { |
21773 throw new UnsupportedError("Cannot sort immutable List."); | 23171 throw new UnsupportedError("Cannot sort immutable List."); |
21774 } | 23172 } |
21775 | 23173 |
21776 int indexOf(Gamepad element, [int start = 0]) => | 23174 int indexOf(Gamepad element, [int start = 0]) => |
21777 Lists.indexOf(this, element, start, this.length); | 23175 Lists.indexOf(this, element, start, this.length); |
21778 | 23176 |
21779 int lastIndexOf(Gamepad element, [int start]) { | 23177 int lastIndexOf(Gamepad element, [int start]) { |
21780 if (start == null) start = length - 1; | 23178 if (start == null) start = length - 1; |
21781 return Lists.lastIndexOf(this, element, start); | 23179 return Lists.lastIndexOf(this, element, start); |
21782 } | 23180 } |
21783 | 23181 |
21784 Gamepad get first => this[0]; | 23182 Gamepad get first { |
| 23183 if (this.length > 0) return this[0]; |
| 23184 throw new StateError("No elements"); |
| 23185 } |
21785 | 23186 |
21786 Gamepad get last => this[length - 1]; | 23187 Gamepad get last { |
| 23188 if (this.length > 0) return this[this.length - 1]; |
| 23189 throw new StateError("No elements"); |
| 23190 } |
| 23191 |
| 23192 Gamepad get single { |
| 23193 if (length == 1) return this[0]; |
| 23194 if (length == 0) throw new StateError("No elements"); |
| 23195 throw new StateError("More than one element"); |
| 23196 } |
| 23197 |
| 23198 Gamepad min([int compare(Gamepad a, Gamepad b)]) => _Collections.minInList(thi
s, compare); |
| 23199 |
| 23200 Gamepad max([int compare(Gamepad a, Gamepad b)]) => _Collections.maxInList(thi
s, compare); |
21787 | 23201 |
21788 Gamepad removeAt(int pos) { | 23202 Gamepad removeAt(int pos) { |
21789 throw new UnsupportedError("Cannot removeAt on immutable List."); | 23203 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21790 } | 23204 } |
21791 | 23205 |
21792 Gamepad removeLast() { | 23206 Gamepad removeLast() { |
21793 throw new UnsupportedError("Cannot removeLast on immutable List."); | 23207 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21794 } | 23208 } |
21795 | 23209 |
21796 void setRange(int start, int rangeLength, List<Gamepad> from, [int startFrom])
{ | 23210 void setRange(int start, int rangeLength, List<Gamepad> from, [int startFrom])
{ |
(...skipping 30 matching lines...) Expand all Loading... |
21827 MediaStream operator[](int index) => JS("MediaStream", "#[#]", this, index); | 23241 MediaStream operator[](int index) => JS("MediaStream", "#[#]", this, index); |
21828 | 23242 |
21829 void operator[]=(int index, MediaStream value) { | 23243 void operator[]=(int index, MediaStream value) { |
21830 throw new UnsupportedError("Cannot assign element of immutable List."); | 23244 throw new UnsupportedError("Cannot assign element of immutable List."); |
21831 } | 23245 } |
21832 // -- start List<MediaStream> mixins. | 23246 // -- start List<MediaStream> mixins. |
21833 // MediaStream is the element type. | 23247 // MediaStream is the element type. |
21834 | 23248 |
21835 // From Iterable<MediaStream>: | 23249 // From Iterable<MediaStream>: |
21836 | 23250 |
21837 Iterator<MediaStream> iterator() { | 23251 Iterator<MediaStream> get iterator { |
21838 // Note: NodeLists are not fixed size. And most probably length shouldn't | 23252 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21839 // be cached in both iterator _and_ forEach method. For now caching it | 23253 // be cached in both iterator _and_ forEach method. For now caching it |
21840 // for consistency. | 23254 // for consistency. |
21841 return new FixedSizeListIterator<MediaStream>(this); | 23255 return new FixedSizeListIterator<MediaStream>(this); |
21842 } | 23256 } |
21843 | 23257 |
21844 // From Collection<MediaStream>: | |
21845 | |
21846 void add(MediaStream value) { | |
21847 throw new UnsupportedError("Cannot add to immutable List."); | |
21848 } | |
21849 | |
21850 void addLast(MediaStream value) { | |
21851 throw new UnsupportedError("Cannot add to immutable List."); | |
21852 } | |
21853 | |
21854 void addAll(Collection<MediaStream> collection) { | |
21855 throw new UnsupportedError("Cannot add to immutable List."); | |
21856 } | |
21857 | |
21858 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, MediaStream)) { | 23258 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, MediaStream)) { |
21859 return Collections.reduce(this, initialValue, combine); | 23259 return Collections.reduce(this, initialValue, combine); |
21860 } | 23260 } |
21861 | 23261 |
21862 bool contains(MediaStream element) => Collections.contains(this, element); | 23262 bool contains(MediaStream element) => Collections.contains(this, element); |
21863 | 23263 |
21864 void forEach(void f(MediaStream element)) => Collections.forEach(this, f); | 23264 void forEach(void f(MediaStream element)) => Collections.forEach(this, f); |
21865 | 23265 |
21866 Collection map(f(MediaStream element)) => Collections.map(this, [], f); | 23266 String join([String separator]) => Collections.joinList(this, separator); |
21867 | 23267 |
21868 Collection<MediaStream> filter(bool f(MediaStream element)) => | 23268 List mappedBy(f(MediaStream element)) => new MappedList<MediaStream, dynamic>(
this, f); |
21869 Collections.filter(this, <MediaStream>[], f); | 23269 |
| 23270 Iterable<MediaStream> where(bool f(MediaStream element)) => new WhereIterable<
MediaStream>(this, f); |
21870 | 23271 |
21871 bool every(bool f(MediaStream element)) => Collections.every(this, f); | 23272 bool every(bool f(MediaStream element)) => Collections.every(this, f); |
21872 | 23273 |
21873 bool some(bool f(MediaStream element)) => Collections.some(this, f); | 23274 bool any(bool f(MediaStream element)) => Collections.any(this, f); |
21874 | 23275 |
21875 bool get isEmpty => this.length == 0; | 23276 bool get isEmpty => this.length == 0; |
21876 | 23277 |
| 23278 List<MediaStream> take(int n) => new ListView<MediaStream>(this, 0, n); |
| 23279 |
| 23280 Iterable<MediaStream> takeWhile(bool test(MediaStream value)) { |
| 23281 return new TakeWhileIterable<MediaStream>(this, test); |
| 23282 } |
| 23283 |
| 23284 List<MediaStream> skip(int n) => new ListView<MediaStream>(this, n, null); |
| 23285 |
| 23286 Iterable<MediaStream> skipWhile(bool test(MediaStream value)) { |
| 23287 return new SkipWhileIterable<MediaStream>(this, test); |
| 23288 } |
| 23289 |
| 23290 MediaStream firstMatching(bool test(MediaStream value), { MediaStream orElse()
}) { |
| 23291 return Collections.firstMatching(this, test, orElse); |
| 23292 } |
| 23293 |
| 23294 MediaStream lastMatching(bool test(MediaStream value), {MediaStream orElse()})
{ |
| 23295 return Collections.lastMatchingInList(this, test, orElse); |
| 23296 } |
| 23297 |
| 23298 MediaStream singleMatching(bool test(MediaStream value)) { |
| 23299 return Collections.singleMatching(this, test); |
| 23300 } |
| 23301 |
| 23302 MediaStream elementAt(int index) { |
| 23303 return this[index]; |
| 23304 } |
| 23305 |
| 23306 // From Collection<MediaStream>: |
| 23307 |
| 23308 void add(MediaStream value) { |
| 23309 throw new UnsupportedError("Cannot add to immutable List."); |
| 23310 } |
| 23311 |
| 23312 void addLast(MediaStream value) { |
| 23313 throw new UnsupportedError("Cannot add to immutable List."); |
| 23314 } |
| 23315 |
| 23316 void addAll(Iterable<MediaStream> iterable) { |
| 23317 throw new UnsupportedError("Cannot add to immutable List."); |
| 23318 } |
| 23319 |
21877 // From List<MediaStream>: | 23320 // From List<MediaStream>: |
21878 void set length(int value) { | 23321 void set length(int value) { |
21879 throw new UnsupportedError("Cannot resize immutable List."); | 23322 throw new UnsupportedError("Cannot resize immutable List."); |
21880 } | 23323 } |
21881 | 23324 |
21882 void clear() { | 23325 void clear() { |
21883 throw new UnsupportedError("Cannot clear immutable List."); | 23326 throw new UnsupportedError("Cannot clear immutable List."); |
21884 } | 23327 } |
21885 | 23328 |
21886 void sort([int compare(MediaStream a, MediaStream b)]) { | 23329 void sort([int compare(MediaStream a, MediaStream b)]) { |
21887 throw new UnsupportedError("Cannot sort immutable List."); | 23330 throw new UnsupportedError("Cannot sort immutable List."); |
21888 } | 23331 } |
21889 | 23332 |
21890 int indexOf(MediaStream element, [int start = 0]) => | 23333 int indexOf(MediaStream element, [int start = 0]) => |
21891 Lists.indexOf(this, element, start, this.length); | 23334 Lists.indexOf(this, element, start, this.length); |
21892 | 23335 |
21893 int lastIndexOf(MediaStream element, [int start]) { | 23336 int lastIndexOf(MediaStream element, [int start]) { |
21894 if (start == null) start = length - 1; | 23337 if (start == null) start = length - 1; |
21895 return Lists.lastIndexOf(this, element, start); | 23338 return Lists.lastIndexOf(this, element, start); |
21896 } | 23339 } |
21897 | 23340 |
21898 MediaStream get first => this[0]; | 23341 MediaStream get first { |
| 23342 if (this.length > 0) return this[0]; |
| 23343 throw new StateError("No elements"); |
| 23344 } |
21899 | 23345 |
21900 MediaStream get last => this[length - 1]; | 23346 MediaStream get last { |
| 23347 if (this.length > 0) return this[this.length - 1]; |
| 23348 throw new StateError("No elements"); |
| 23349 } |
| 23350 |
| 23351 MediaStream get single { |
| 23352 if (length == 1) return this[0]; |
| 23353 if (length == 0) throw new StateError("No elements"); |
| 23354 throw new StateError("More than one element"); |
| 23355 } |
| 23356 |
| 23357 MediaStream min([int compare(MediaStream a, MediaStream b)]) => _Collections.m
inInList(this, compare); |
| 23358 |
| 23359 MediaStream max([int compare(MediaStream a, MediaStream b)]) => _Collections.m
axInList(this, compare); |
21901 | 23360 |
21902 MediaStream removeAt(int pos) { | 23361 MediaStream removeAt(int pos) { |
21903 throw new UnsupportedError("Cannot removeAt on immutable List."); | 23362 throw new UnsupportedError("Cannot removeAt on immutable List."); |
21904 } | 23363 } |
21905 | 23364 |
21906 MediaStream removeLast() { | 23365 MediaStream removeLast() { |
21907 throw new UnsupportedError("Cannot removeLast on immutable List."); | 23366 throw new UnsupportedError("Cannot removeLast on immutable List."); |
21908 } | 23367 } |
21909 | 23368 |
21910 void setRange(int start, int rangeLength, List<MediaStream> from, [int startFr
om]) { | 23369 void setRange(int start, int rangeLength, List<MediaStream> from, [int startFr
om]) { |
(...skipping 30 matching lines...) Expand all Loading... |
21941 SpeechInputResult operator[](int index) => JS("SpeechInputResult", "#[#]", thi
s, index); | 23400 SpeechInputResult operator[](int index) => JS("SpeechInputResult", "#[#]", thi
s, index); |
21942 | 23401 |
21943 void operator[]=(int index, SpeechInputResult value) { | 23402 void operator[]=(int index, SpeechInputResult value) { |
21944 throw new UnsupportedError("Cannot assign element of immutable List."); | 23403 throw new UnsupportedError("Cannot assign element of immutable List."); |
21945 } | 23404 } |
21946 // -- start List<SpeechInputResult> mixins. | 23405 // -- start List<SpeechInputResult> mixins. |
21947 // SpeechInputResult is the element type. | 23406 // SpeechInputResult is the element type. |
21948 | 23407 |
21949 // From Iterable<SpeechInputResult>: | 23408 // From Iterable<SpeechInputResult>: |
21950 | 23409 |
21951 Iterator<SpeechInputResult> iterator() { | 23410 Iterator<SpeechInputResult> get iterator { |
21952 // Note: NodeLists are not fixed size. And most probably length shouldn't | 23411 // Note: NodeLists are not fixed size. And most probably length shouldn't |
21953 // be cached in both iterator _and_ forEach method. For now caching it | 23412 // be cached in both iterator _and_ forEach method. For now caching it |
21954 // for consistency. | 23413 // for consistency. |
21955 return new FixedSizeListIterator<SpeechInputResult>(this); | 23414 return new FixedSizeListIterator<SpeechInputResult>(this); |
21956 } | 23415 } |
21957 | 23416 |
21958 // From Collection<SpeechInputResult>: | |
21959 | |
21960 void add(SpeechInputResult value) { | |
21961 throw new UnsupportedError("Cannot add to immutable List."); | |
21962 } | |
21963 | |
21964 void addLast(SpeechInputResult value) { | |
21965 throw new UnsupportedError("Cannot add to immutable List."); | |
21966 } | |
21967 | |
21968 void addAll(Collection<SpeechInputResult> collection) { | |
21969 throw new UnsupportedError("Cannot add to immutable List."); | |
21970 } | |
21971 | |
21972 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SpeechInputResul
t)) { | 23417 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SpeechInputResul
t)) { |
21973 return Collections.reduce(this, initialValue, combine); | 23418 return Collections.reduce(this, initialValue, combine); |
21974 } | 23419 } |
21975 | 23420 |
21976 bool contains(SpeechInputResult element) => Collections.contains(this, element
); | 23421 bool contains(SpeechInputResult element) => Collections.contains(this, element
); |
21977 | 23422 |
21978 void forEach(void f(SpeechInputResult element)) => Collections.forEach(this, f
); | 23423 void forEach(void f(SpeechInputResult element)) => Collections.forEach(this, f
); |
21979 | 23424 |
21980 Collection map(f(SpeechInputResult element)) => Collections.map(this, [], f); | 23425 String join([String separator]) => Collections.joinList(this, separator); |
21981 | 23426 |
21982 Collection<SpeechInputResult> filter(bool f(SpeechInputResult element)) => | 23427 List mappedBy(f(SpeechInputResult element)) => new MappedList<SpeechInputResul
t, dynamic>(this, f); |
21983 Collections.filter(this, <SpeechInputResult>[], f); | 23428 |
| 23429 Iterable<SpeechInputResult> where(bool f(SpeechInputResult element)) => new Wh
ereIterable<SpeechInputResult>(this, f); |
21984 | 23430 |
21985 bool every(bool f(SpeechInputResult element)) => Collections.every(this, f); | 23431 bool every(bool f(SpeechInputResult element)) => Collections.every(this, f); |
21986 | 23432 |
21987 bool some(bool f(SpeechInputResult element)) => Collections.some(this, f); | 23433 bool any(bool f(SpeechInputResult element)) => Collections.any(this, f); |
21988 | 23434 |
21989 bool get isEmpty => this.length == 0; | 23435 bool get isEmpty => this.length == 0; |
21990 | 23436 |
| 23437 List<SpeechInputResult> take(int n) => new ListView<SpeechInputResult>(this, 0
, n); |
| 23438 |
| 23439 Iterable<SpeechInputResult> takeWhile(bool test(SpeechInputResult value)) { |
| 23440 return new TakeWhileIterable<SpeechInputResult>(this, test); |
| 23441 } |
| 23442 |
| 23443 List<SpeechInputResult> skip(int n) => new ListView<SpeechInputResult>(this, n
, null); |
| 23444 |
| 23445 Iterable<SpeechInputResult> skipWhile(bool test(SpeechInputResult value)) { |
| 23446 return new SkipWhileIterable<SpeechInputResult>(this, test); |
| 23447 } |
| 23448 |
| 23449 SpeechInputResult firstMatching(bool test(SpeechInputResult value), { SpeechIn
putResult orElse() }) { |
| 23450 return Collections.firstMatching(this, test, orElse); |
| 23451 } |
| 23452 |
| 23453 SpeechInputResult lastMatching(bool test(SpeechInputResult value), {SpeechInpu
tResult orElse()}) { |
| 23454 return Collections.lastMatchingInList(this, test, orElse); |
| 23455 } |
| 23456 |
| 23457 SpeechInputResult singleMatching(bool test(SpeechInputResult value)) { |
| 23458 return Collections.singleMatching(this, test); |
| 23459 } |
| 23460 |
| 23461 SpeechInputResult elementAt(int index) { |
| 23462 return this[index]; |
| 23463 } |
| 23464 |
| 23465 // From Collection<SpeechInputResult>: |
| 23466 |
| 23467 void add(SpeechInputResult value) { |
| 23468 throw new UnsupportedError("Cannot add to immutable List."); |
| 23469 } |
| 23470 |
| 23471 void addLast(SpeechInputResult value) { |
| 23472 throw new UnsupportedError("Cannot add to immutable List."); |
| 23473 } |
| 23474 |
| 23475 void addAll(Iterable<SpeechInputResult> iterable) { |
| 23476 throw new UnsupportedError("Cannot add to immutable List."); |
| 23477 } |
| 23478 |
21991 // From List<SpeechInputResult>: | 23479 // From List<SpeechInputResult>: |
21992 void set length(int value) { | 23480 void set length(int value) { |
21993 throw new UnsupportedError("Cannot resize immutable List."); | 23481 throw new UnsupportedError("Cannot resize immutable List."); |
21994 } | 23482 } |
21995 | 23483 |
21996 void clear() { | 23484 void clear() { |
21997 throw new UnsupportedError("Cannot clear immutable List."); | 23485 throw new UnsupportedError("Cannot clear immutable List."); |
21998 } | 23486 } |
21999 | 23487 |
22000 void sort([int compare(SpeechInputResult a, SpeechInputResult b)]) { | 23488 void sort([int compare(SpeechInputResult a, SpeechInputResult b)]) { |
22001 throw new UnsupportedError("Cannot sort immutable List."); | 23489 throw new UnsupportedError("Cannot sort immutable List."); |
22002 } | 23490 } |
22003 | 23491 |
22004 int indexOf(SpeechInputResult element, [int start = 0]) => | 23492 int indexOf(SpeechInputResult element, [int start = 0]) => |
22005 Lists.indexOf(this, element, start, this.length); | 23493 Lists.indexOf(this, element, start, this.length); |
22006 | 23494 |
22007 int lastIndexOf(SpeechInputResult element, [int start]) { | 23495 int lastIndexOf(SpeechInputResult element, [int start]) { |
22008 if (start == null) start = length - 1; | 23496 if (start == null) start = length - 1; |
22009 return Lists.lastIndexOf(this, element, start); | 23497 return Lists.lastIndexOf(this, element, start); |
22010 } | 23498 } |
22011 | 23499 |
22012 SpeechInputResult get first => this[0]; | 23500 SpeechInputResult get first { |
| 23501 if (this.length > 0) return this[0]; |
| 23502 throw new StateError("No elements"); |
| 23503 } |
22013 | 23504 |
22014 SpeechInputResult get last => this[length - 1]; | 23505 SpeechInputResult get last { |
| 23506 if (this.length > 0) return this[this.length - 1]; |
| 23507 throw new StateError("No elements"); |
| 23508 } |
| 23509 |
| 23510 SpeechInputResult get single { |
| 23511 if (length == 1) return this[0]; |
| 23512 if (length == 0) throw new StateError("No elements"); |
| 23513 throw new StateError("More than one element"); |
| 23514 } |
| 23515 |
| 23516 SpeechInputResult min([int compare(SpeechInputResult a, SpeechInputResult b)])
=> _Collections.minInList(this, compare); |
| 23517 |
| 23518 SpeechInputResult max([int compare(SpeechInputResult a, SpeechInputResult b)])
=> _Collections.maxInList(this, compare); |
22015 | 23519 |
22016 SpeechInputResult removeAt(int pos) { | 23520 SpeechInputResult removeAt(int pos) { |
22017 throw new UnsupportedError("Cannot removeAt on immutable List."); | 23521 throw new UnsupportedError("Cannot removeAt on immutable List."); |
22018 } | 23522 } |
22019 | 23523 |
22020 SpeechInputResult removeLast() { | 23524 SpeechInputResult removeLast() { |
22021 throw new UnsupportedError("Cannot removeLast on immutable List."); | 23525 throw new UnsupportedError("Cannot removeLast on immutable List."); |
22022 } | 23526 } |
22023 | 23527 |
22024 void setRange(int start, int rangeLength, List<SpeechInputResult> from, [int s
tartFrom]) { | 23528 void setRange(int start, int rangeLength, List<SpeechInputResult> from, [int s
tartFrom]) { |
(...skipping 30 matching lines...) Expand all Loading... |
22055 SpeechRecognitionResult operator[](int index) => JS("SpeechRecognitionResult",
"#[#]", this, index); | 23559 SpeechRecognitionResult operator[](int index) => JS("SpeechRecognitionResult",
"#[#]", this, index); |
22056 | 23560 |
22057 void operator[]=(int index, SpeechRecognitionResult value) { | 23561 void operator[]=(int index, SpeechRecognitionResult value) { |
22058 throw new UnsupportedError("Cannot assign element of immutable List."); | 23562 throw new UnsupportedError("Cannot assign element of immutable List."); |
22059 } | 23563 } |
22060 // -- start List<SpeechRecognitionResult> mixins. | 23564 // -- start List<SpeechRecognitionResult> mixins. |
22061 // SpeechRecognitionResult is the element type. | 23565 // SpeechRecognitionResult is the element type. |
22062 | 23566 |
22063 // From Iterable<SpeechRecognitionResult>: | 23567 // From Iterable<SpeechRecognitionResult>: |
22064 | 23568 |
22065 Iterator<SpeechRecognitionResult> iterator() { | 23569 Iterator<SpeechRecognitionResult> get iterator { |
22066 // Note: NodeLists are not fixed size. And most probably length shouldn't | 23570 // Note: NodeLists are not fixed size. And most probably length shouldn't |
22067 // be cached in both iterator _and_ forEach method. For now caching it | 23571 // be cached in both iterator _and_ forEach method. For now caching it |
22068 // for consistency. | 23572 // for consistency. |
22069 return new FixedSizeListIterator<SpeechRecognitionResult>(this); | 23573 return new FixedSizeListIterator<SpeechRecognitionResult>(this); |
22070 } | 23574 } |
22071 | 23575 |
22072 // From Collection<SpeechRecognitionResult>: | |
22073 | |
22074 void add(SpeechRecognitionResult value) { | |
22075 throw new UnsupportedError("Cannot add to immutable List."); | |
22076 } | |
22077 | |
22078 void addLast(SpeechRecognitionResult value) { | |
22079 throw new UnsupportedError("Cannot add to immutable List."); | |
22080 } | |
22081 | |
22082 void addAll(Collection<SpeechRecognitionResult> collection) { | |
22083 throw new UnsupportedError("Cannot add to immutable List."); | |
22084 } | |
22085 | |
22086 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SpeechRecognitio
nResult)) { | 23576 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, SpeechRecognitio
nResult)) { |
22087 return Collections.reduce(this, initialValue, combine); | 23577 return Collections.reduce(this, initialValue, combine); |
22088 } | 23578 } |
22089 | 23579 |
22090 bool contains(SpeechRecognitionResult element) => Collections.contains(this, e
lement); | 23580 bool contains(SpeechRecognitionResult element) => Collections.contains(this, e
lement); |
22091 | 23581 |
22092 void forEach(void f(SpeechRecognitionResult element)) => Collections.forEach(t
his, f); | 23582 void forEach(void f(SpeechRecognitionResult element)) => Collections.forEach(t
his, f); |
22093 | 23583 |
22094 Collection map(f(SpeechRecognitionResult element)) => Collections.map(this, []
, f); | 23584 String join([String separator]) => Collections.joinList(this, separator); |
22095 | 23585 |
22096 Collection<SpeechRecognitionResult> filter(bool f(SpeechRecognitionResult elem
ent)) => | 23586 List mappedBy(f(SpeechRecognitionResult element)) => new MappedList<SpeechReco
gnitionResult, dynamic>(this, f); |
22097 Collections.filter(this, <SpeechRecognitionResult>[], f); | 23587 |
| 23588 Iterable<SpeechRecognitionResult> where(bool f(SpeechRecognitionResult element
)) => new WhereIterable<SpeechRecognitionResult>(this, f); |
22098 | 23589 |
22099 bool every(bool f(SpeechRecognitionResult element)) => Collections.every(this,
f); | 23590 bool every(bool f(SpeechRecognitionResult element)) => Collections.every(this,
f); |
22100 | 23591 |
22101 bool some(bool f(SpeechRecognitionResult element)) => Collections.some(this, f
); | 23592 bool any(bool f(SpeechRecognitionResult element)) => Collections.any(this, f); |
22102 | 23593 |
22103 bool get isEmpty => this.length == 0; | 23594 bool get isEmpty => this.length == 0; |
22104 | 23595 |
| 23596 List<SpeechRecognitionResult> take(int n) => new ListView<SpeechRecognitionRes
ult>(this, 0, n); |
| 23597 |
| 23598 Iterable<SpeechRecognitionResult> takeWhile(bool test(SpeechRecognitionResult
value)) { |
| 23599 return new TakeWhileIterable<SpeechRecognitionResult>(this, test); |
| 23600 } |
| 23601 |
| 23602 List<SpeechRecognitionResult> skip(int n) => new ListView<SpeechRecognitionRes
ult>(this, n, null); |
| 23603 |
| 23604 Iterable<SpeechRecognitionResult> skipWhile(bool test(SpeechRecognitionResult
value)) { |
| 23605 return new SkipWhileIterable<SpeechRecognitionResult>(this, test); |
| 23606 } |
| 23607 |
| 23608 SpeechRecognitionResult firstMatching(bool test(SpeechRecognitionResult value)
, { SpeechRecognitionResult orElse() }) { |
| 23609 return Collections.firstMatching(this, test, orElse); |
| 23610 } |
| 23611 |
| 23612 SpeechRecognitionResult lastMatching(bool test(SpeechRecognitionResult value),
{SpeechRecognitionResult orElse()}) { |
| 23613 return Collections.lastMatchingInList(this, test, orElse); |
| 23614 } |
| 23615 |
| 23616 SpeechRecognitionResult singleMatching(bool test(SpeechRecognitionResult value
)) { |
| 23617 return Collections.singleMatching(this, test); |
| 23618 } |
| 23619 |
| 23620 SpeechRecognitionResult elementAt(int index) { |
| 23621 return this[index]; |
| 23622 } |
| 23623 |
| 23624 // From Collection<SpeechRecognitionResult>: |
| 23625 |
| 23626 void add(SpeechRecognitionResult value) { |
| 23627 throw new UnsupportedError("Cannot add to immutable List."); |
| 23628 } |
| 23629 |
| 23630 void addLast(SpeechRecognitionResult value) { |
| 23631 throw new UnsupportedError("Cannot add to immutable List."); |
| 23632 } |
| 23633 |
| 23634 void addAll(Iterable<SpeechRecognitionResult> iterable) { |
| 23635 throw new UnsupportedError("Cannot add to immutable List."); |
| 23636 } |
| 23637 |
22105 // From List<SpeechRecognitionResult>: | 23638 // From List<SpeechRecognitionResult>: |
22106 void set length(int value) { | 23639 void set length(int value) { |
22107 throw new UnsupportedError("Cannot resize immutable List."); | 23640 throw new UnsupportedError("Cannot resize immutable List."); |
22108 } | 23641 } |
22109 | 23642 |
22110 void clear() { | 23643 void clear() { |
22111 throw new UnsupportedError("Cannot clear immutable List."); | 23644 throw new UnsupportedError("Cannot clear immutable List."); |
22112 } | 23645 } |
22113 | 23646 |
22114 void sort([int compare(SpeechRecognitionResult a, SpeechRecognitionResult b)])
{ | 23647 void sort([int compare(SpeechRecognitionResult a, SpeechRecognitionResult b)])
{ |
22115 throw new UnsupportedError("Cannot sort immutable List."); | 23648 throw new UnsupportedError("Cannot sort immutable List."); |
22116 } | 23649 } |
22117 | 23650 |
22118 int indexOf(SpeechRecognitionResult element, [int start = 0]) => | 23651 int indexOf(SpeechRecognitionResult element, [int start = 0]) => |
22119 Lists.indexOf(this, element, start, this.length); | 23652 Lists.indexOf(this, element, start, this.length); |
22120 | 23653 |
22121 int lastIndexOf(SpeechRecognitionResult element, [int start]) { | 23654 int lastIndexOf(SpeechRecognitionResult element, [int start]) { |
22122 if (start == null) start = length - 1; | 23655 if (start == null) start = length - 1; |
22123 return Lists.lastIndexOf(this, element, start); | 23656 return Lists.lastIndexOf(this, element, start); |
22124 } | 23657 } |
22125 | 23658 |
22126 SpeechRecognitionResult get first => this[0]; | 23659 SpeechRecognitionResult get first { |
| 23660 if (this.length > 0) return this[0]; |
| 23661 throw new StateError("No elements"); |
| 23662 } |
22127 | 23663 |
22128 SpeechRecognitionResult get last => this[length - 1]; | 23664 SpeechRecognitionResult get last { |
| 23665 if (this.length > 0) return this[this.length - 1]; |
| 23666 throw new StateError("No elements"); |
| 23667 } |
| 23668 |
| 23669 SpeechRecognitionResult get single { |
| 23670 if (length == 1) return this[0]; |
| 23671 if (length == 0) throw new StateError("No elements"); |
| 23672 throw new StateError("More than one element"); |
| 23673 } |
| 23674 |
| 23675 SpeechRecognitionResult min([int compare(SpeechRecognitionResult a, SpeechReco
gnitionResult b)]) => _Collections.minInList(this, compare); |
| 23676 |
| 23677 SpeechRecognitionResult max([int compare(SpeechRecognitionResult a, SpeechReco
gnitionResult b)]) => _Collections.maxInList(this, compare); |
22129 | 23678 |
22130 SpeechRecognitionResult removeAt(int pos) { | 23679 SpeechRecognitionResult removeAt(int pos) { |
22131 throw new UnsupportedError("Cannot removeAt on immutable List."); | 23680 throw new UnsupportedError("Cannot removeAt on immutable List."); |
22132 } | 23681 } |
22133 | 23682 |
22134 SpeechRecognitionResult removeLast() { | 23683 SpeechRecognitionResult removeLast() { |
22135 throw new UnsupportedError("Cannot removeLast on immutable List."); | 23684 throw new UnsupportedError("Cannot removeLast on immutable List."); |
22136 } | 23685 } |
22137 | 23686 |
22138 void setRange(int start, int rangeLength, List<SpeechRecognitionResult> from,
[int startFrom]) { | 23687 void setRange(int start, int rangeLength, List<SpeechRecognitionResult> from,
[int startFrom]) { |
(...skipping 30 matching lines...) Expand all Loading... |
22169 StyleSheet operator[](int index) => JS("StyleSheet", "#[#]", this, index); | 23718 StyleSheet operator[](int index) => JS("StyleSheet", "#[#]", this, index); |
22170 | 23719 |
22171 void operator[]=(int index, StyleSheet value) { | 23720 void operator[]=(int index, StyleSheet value) { |
22172 throw new UnsupportedError("Cannot assign element of immutable List."); | 23721 throw new UnsupportedError("Cannot assign element of immutable List."); |
22173 } | 23722 } |
22174 // -- start List<StyleSheet> mixins. | 23723 // -- start List<StyleSheet> mixins. |
22175 // StyleSheet is the element type. | 23724 // StyleSheet is the element type. |
22176 | 23725 |
22177 // From Iterable<StyleSheet>: | 23726 // From Iterable<StyleSheet>: |
22178 | 23727 |
22179 Iterator<StyleSheet> iterator() { | 23728 Iterator<StyleSheet> get iterator { |
22180 // Note: NodeLists are not fixed size. And most probably length shouldn't | 23729 // Note: NodeLists are not fixed size. And most probably length shouldn't |
22181 // be cached in both iterator _and_ forEach method. For now caching it | 23730 // be cached in both iterator _and_ forEach method. For now caching it |
22182 // for consistency. | 23731 // for consistency. |
22183 return new FixedSizeListIterator<StyleSheet>(this); | 23732 return new FixedSizeListIterator<StyleSheet>(this); |
22184 } | 23733 } |
22185 | 23734 |
22186 // From Collection<StyleSheet>: | |
22187 | |
22188 void add(StyleSheet value) { | |
22189 throw new UnsupportedError("Cannot add to immutable List."); | |
22190 } | |
22191 | |
22192 void addLast(StyleSheet value) { | |
22193 throw new UnsupportedError("Cannot add to immutable List."); | |
22194 } | |
22195 | |
22196 void addAll(Collection<StyleSheet> collection) { | |
22197 throw new UnsupportedError("Cannot add to immutable List."); | |
22198 } | |
22199 | |
22200 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, StyleSheet)) { | 23735 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, StyleSheet)) { |
22201 return Collections.reduce(this, initialValue, combine); | 23736 return Collections.reduce(this, initialValue, combine); |
22202 } | 23737 } |
22203 | 23738 |
22204 bool contains(StyleSheet element) => Collections.contains(this, element); | 23739 bool contains(StyleSheet element) => Collections.contains(this, element); |
22205 | 23740 |
22206 void forEach(void f(StyleSheet element)) => Collections.forEach(this, f); | 23741 void forEach(void f(StyleSheet element)) => Collections.forEach(this, f); |
22207 | 23742 |
22208 Collection map(f(StyleSheet element)) => Collections.map(this, [], f); | 23743 String join([String separator]) => Collections.joinList(this, separator); |
22209 | 23744 |
22210 Collection<StyleSheet> filter(bool f(StyleSheet element)) => | 23745 List mappedBy(f(StyleSheet element)) => new MappedList<StyleSheet, dynamic>(th
is, f); |
22211 Collections.filter(this, <StyleSheet>[], f); | 23746 |
| 23747 Iterable<StyleSheet> where(bool f(StyleSheet element)) => new WhereIterable<St
yleSheet>(this, f); |
22212 | 23748 |
22213 bool every(bool f(StyleSheet element)) => Collections.every(this, f); | 23749 bool every(bool f(StyleSheet element)) => Collections.every(this, f); |
22214 | 23750 |
22215 bool some(bool f(StyleSheet element)) => Collections.some(this, f); | 23751 bool any(bool f(StyleSheet element)) => Collections.any(this, f); |
22216 | 23752 |
22217 bool get isEmpty => this.length == 0; | 23753 bool get isEmpty => this.length == 0; |
22218 | 23754 |
| 23755 List<StyleSheet> take(int n) => new ListView<StyleSheet>(this, 0, n); |
| 23756 |
| 23757 Iterable<StyleSheet> takeWhile(bool test(StyleSheet value)) { |
| 23758 return new TakeWhileIterable<StyleSheet>(this, test); |
| 23759 } |
| 23760 |
| 23761 List<StyleSheet> skip(int n) => new ListView<StyleSheet>(this, n, null); |
| 23762 |
| 23763 Iterable<StyleSheet> skipWhile(bool test(StyleSheet value)) { |
| 23764 return new SkipWhileIterable<StyleSheet>(this, test); |
| 23765 } |
| 23766 |
| 23767 StyleSheet firstMatching(bool test(StyleSheet value), { StyleSheet orElse() })
{ |
| 23768 return Collections.firstMatching(this, test, orElse); |
| 23769 } |
| 23770 |
| 23771 StyleSheet lastMatching(bool test(StyleSheet value), {StyleSheet orElse()}) { |
| 23772 return Collections.lastMatchingInList(this, test, orElse); |
| 23773 } |
| 23774 |
| 23775 StyleSheet singleMatching(bool test(StyleSheet value)) { |
| 23776 return Collections.singleMatching(this, test); |
| 23777 } |
| 23778 |
| 23779 StyleSheet elementAt(int index) { |
| 23780 return this[index]; |
| 23781 } |
| 23782 |
| 23783 // From Collection<StyleSheet>: |
| 23784 |
| 23785 void add(StyleSheet value) { |
| 23786 throw new UnsupportedError("Cannot add to immutable List."); |
| 23787 } |
| 23788 |
| 23789 void addLast(StyleSheet value) { |
| 23790 throw new UnsupportedError("Cannot add to immutable List."); |
| 23791 } |
| 23792 |
| 23793 void addAll(Iterable<StyleSheet> iterable) { |
| 23794 throw new UnsupportedError("Cannot add to immutable List."); |
| 23795 } |
| 23796 |
22219 // From List<StyleSheet>: | 23797 // From List<StyleSheet>: |
22220 void set length(int value) { | 23798 void set length(int value) { |
22221 throw new UnsupportedError("Cannot resize immutable List."); | 23799 throw new UnsupportedError("Cannot resize immutable List."); |
22222 } | 23800 } |
22223 | 23801 |
22224 void clear() { | 23802 void clear() { |
22225 throw new UnsupportedError("Cannot clear immutable List."); | 23803 throw new UnsupportedError("Cannot clear immutable List."); |
22226 } | 23804 } |
22227 | 23805 |
22228 void sort([int compare(StyleSheet a, StyleSheet b)]) { | 23806 void sort([int compare(StyleSheet a, StyleSheet b)]) { |
22229 throw new UnsupportedError("Cannot sort immutable List."); | 23807 throw new UnsupportedError("Cannot sort immutable List."); |
22230 } | 23808 } |
22231 | 23809 |
22232 int indexOf(StyleSheet element, [int start = 0]) => | 23810 int indexOf(StyleSheet element, [int start = 0]) => |
22233 Lists.indexOf(this, element, start, this.length); | 23811 Lists.indexOf(this, element, start, this.length); |
22234 | 23812 |
22235 int lastIndexOf(StyleSheet element, [int start]) { | 23813 int lastIndexOf(StyleSheet element, [int start]) { |
22236 if (start == null) start = length - 1; | 23814 if (start == null) start = length - 1; |
22237 return Lists.lastIndexOf(this, element, start); | 23815 return Lists.lastIndexOf(this, element, start); |
22238 } | 23816 } |
22239 | 23817 |
22240 StyleSheet get first => this[0]; | 23818 StyleSheet get first { |
| 23819 if (this.length > 0) return this[0]; |
| 23820 throw new StateError("No elements"); |
| 23821 } |
22241 | 23822 |
22242 StyleSheet get last => this[length - 1]; | 23823 StyleSheet get last { |
| 23824 if (this.length > 0) return this[this.length - 1]; |
| 23825 throw new StateError("No elements"); |
| 23826 } |
| 23827 |
| 23828 StyleSheet get single { |
| 23829 if (length == 1) return this[0]; |
| 23830 if (length == 0) throw new StateError("No elements"); |
| 23831 throw new StateError("More than one element"); |
| 23832 } |
| 23833 |
| 23834 StyleSheet min([int compare(StyleSheet a, StyleSheet b)]) => _Collections.minI
nList(this, compare); |
| 23835 |
| 23836 StyleSheet max([int compare(StyleSheet a, StyleSheet b)]) => _Collections.maxI
nList(this, compare); |
22243 | 23837 |
22244 StyleSheet removeAt(int pos) { | 23838 StyleSheet removeAt(int pos) { |
22245 throw new UnsupportedError("Cannot removeAt on immutable List."); | 23839 throw new UnsupportedError("Cannot removeAt on immutable List."); |
22246 } | 23840 } |
22247 | 23841 |
22248 StyleSheet removeLast() { | 23842 StyleSheet removeLast() { |
22249 throw new UnsupportedError("Cannot removeLast on immutable List."); | 23843 throw new UnsupportedError("Cannot removeLast on immutable List."); |
22250 } | 23844 } |
22251 | 23845 |
22252 void setRange(int start, int rangeLength, List<StyleSheet> from, [int startFro
m]) { | 23846 void setRange(int start, int rangeLength, List<StyleSheet> from, [int startFro
m]) { |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
22424 */ | 24018 */ |
22425 class _DataAttributeMap implements Map<String, String> { | 24019 class _DataAttributeMap implements Map<String, String> { |
22426 | 24020 |
22427 final Map<String, String> $dom_attributes; | 24021 final Map<String, String> $dom_attributes; |
22428 | 24022 |
22429 _DataAttributeMap(this.$dom_attributes); | 24023 _DataAttributeMap(this.$dom_attributes); |
22430 | 24024 |
22431 // interface Map | 24025 // interface Map |
22432 | 24026 |
22433 // TODO: Use lazy iterator when it is available on Map. | 24027 // TODO: Use lazy iterator when it is available on Map. |
22434 bool containsValue(String value) => values.some((v) => v == value); | 24028 bool containsValue(String value) => values.any((v) => v == value); |
22435 | 24029 |
22436 bool containsKey(String key) => $dom_attributes.containsKey(_attr(key)); | 24030 bool containsKey(String key) => $dom_attributes.containsKey(_attr(key)); |
22437 | 24031 |
22438 String operator [](String key) => $dom_attributes[_attr(key)]; | 24032 String operator [](String key) => $dom_attributes[_attr(key)]; |
22439 | 24033 |
22440 void operator []=(String key, value) { | 24034 void operator []=(String key, value) { |
22441 $dom_attributes[_attr(key)] = '$value'; | 24035 $dom_attributes[_attr(key)] = '$value'; |
22442 } | 24036 } |
22443 | 24037 |
22444 String putIfAbsent(String key, String ifAbsent()) => | 24038 String putIfAbsent(String key, String ifAbsent()) => |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
22647 return result; | 24241 return result; |
22648 } | 24242 } |
22649 | 24243 |
22650 /** | 24244 /** |
22651 * Returns [:true:] if classes cannot be added or removed from this | 24245 * Returns [:true:] if classes cannot be added or removed from this |
22652 * [:CssClassSet:]. | 24246 * [:CssClassSet:]. |
22653 */ | 24247 */ |
22654 bool get frozen => false; | 24248 bool get frozen => false; |
22655 | 24249 |
22656 // interface Iterable - BEGIN | 24250 // interface Iterable - BEGIN |
22657 Iterator<String> iterator() => readClasses().iterator(); | 24251 Iterator<String> get iterator => readClasses().iterator; |
22658 // interface Iterable - END | 24252 // interface Iterable - END |
22659 | 24253 |
22660 // interface Collection - BEGIN | 24254 // interface Collection - BEGIN |
22661 void forEach(void f(String element)) { | 24255 void forEach(void f(String element)) { |
22662 readClasses().forEach(f); | 24256 readClasses().forEach(f); |
22663 } | 24257 } |
22664 | 24258 |
22665 Collection map(f(String element)) => readClasses().map(f); | 24259 String join([String separator]) => readClasses().join(separator); |
22666 | 24260 |
22667 Collection<String> filter(bool f(String element)) => readClasses().filter(f); | 24261 Iterable mappedBy(f(String element)) => readClasses().mappedBy(f); |
| 24262 |
| 24263 Iterable<String> where(bool f(String element)) => readClasses().where(f); |
22668 | 24264 |
22669 bool every(bool f(String element)) => readClasses().every(f); | 24265 bool every(bool f(String element)) => readClasses().every(f); |
22670 | 24266 |
22671 bool some(bool f(String element)) => readClasses().some(f); | 24267 bool any(bool f(String element)) => readClasses().any(f); |
22672 | 24268 |
22673 bool get isEmpty => readClasses().isEmpty; | 24269 bool get isEmpty => readClasses().isEmpty; |
22674 | 24270 |
22675 int get length =>readClasses().length; | 24271 int get length =>readClasses().length; |
22676 | 24272 |
22677 dynamic reduce(dynamic initialValue, | 24273 dynamic reduce(dynamic initialValue, |
22678 dynamic combine(dynamic previousValue, String element)) { | 24274 dynamic combine(dynamic previousValue, String element)) { |
22679 return readClasses().reduce(initialValue, combine); | 24275 return readClasses().reduce(initialValue, combine); |
22680 } | 24276 } |
22681 // interface Collection - END | 24277 // interface Collection - END |
22682 | 24278 |
22683 // interface Set - BEGIN | 24279 // interface Set - BEGIN |
22684 bool contains(String value) => readClasses().contains(value); | 24280 bool contains(String value) => readClasses().contains(value); |
22685 | 24281 |
22686 void add(String value) { | 24282 void add(String value) { |
22687 // TODO - figure out if we need to do any validation here | 24283 // TODO - figure out if we need to do any validation here |
22688 // or if the browser natively does enough | 24284 // or if the browser natively does enough |
22689 _modify((s) => s.add(value)); | 24285 _modify((s) => s.add(value)); |
22690 } | 24286 } |
22691 | 24287 |
22692 bool remove(String value) { | 24288 bool remove(String value) { |
22693 Set<String> s = readClasses(); | 24289 Set<String> s = readClasses(); |
22694 bool result = s.remove(value); | 24290 bool result = s.remove(value); |
22695 writeClasses(s); | 24291 writeClasses(s); |
22696 return result; | 24292 return result; |
22697 } | 24293 } |
22698 | 24294 |
22699 void addAll(Collection<String> collection) { | 24295 void addAll(Iterable<String> iterable) { |
22700 // TODO - see comment above about validation | 24296 // TODO - see comment above about validation |
22701 _modify((s) => s.addAll(collection)); | 24297 _modify((s) => s.addAll(iterable)); |
22702 } | 24298 } |
22703 | 24299 |
22704 void removeAll(Collection<String> collection) { | 24300 void removeAll(Iterable<String> iterable) { |
22705 _modify((s) => s.removeAll(collection)); | 24301 _modify((s) => s.removeAll(iterable)); |
22706 } | 24302 } |
22707 | 24303 |
22708 bool isSubsetOf(Collection<String> collection) => | 24304 bool isSubsetOf(Collection<String> collection) => |
22709 readClasses().isSubsetOf(collection); | 24305 readClasses().isSubsetOf(collection); |
22710 | 24306 |
22711 bool containsAll(Collection<String> collection) => | 24307 bool containsAll(Collection<String> collection) => |
22712 readClasses().containsAll(collection); | 24308 readClasses().containsAll(collection); |
22713 | 24309 |
22714 Set<String> intersection(Collection<String> other) => | 24310 Set<String> intersection(Collection<String> other) => |
22715 readClasses().intersection(other); | 24311 readClasses().intersection(other); |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
22934 if (_callbacks.length == 0) { | 24530 if (_callbacks.length == 0) { |
22935 // If we have no listeners, don't bother keeping track of keypresses. | 24531 // If we have no listeners, don't bother keeping track of keypresses. |
22936 _target.on.keyDown.remove(_keyDown); | 24532 _target.on.keyDown.remove(_keyDown); |
22937 _target.on.keyPress.remove(_keyPress); | 24533 _target.on.keyPress.remove(_keyPress); |
22938 _target.on.keyUp.remove(_keyUp); | 24534 _target.on.keyUp.remove(_keyUp); |
22939 } | 24535 } |
22940 } | 24536 } |
22941 | 24537 |
22942 /** Determine if caps lock is one of the currently depressed keys. */ | 24538 /** Determine if caps lock is one of the currently depressed keys. */ |
22943 bool get _capsLockOn => | 24539 bool get _capsLockOn => |
22944 _keyDownList.some((var element) => element.keyCode == KeyCode.CAPS_LOCK); | 24540 _keyDownList.any((var element) => element.keyCode == KeyCode.CAPS_LOCK); |
22945 | 24541 |
22946 /** | 24542 /** |
22947 * Given the previously recorded keydown key codes, see if we can determine | 24543 * Given the previously recorded keydown key codes, see if we can determine |
22948 * the keycode of this keypress [event]. (Generally browsers only provide | 24544 * the keycode of this keypress [event]. (Generally browsers only provide |
22949 * charCode information for keypress events, but with a little | 24545 * charCode information for keypress events, but with a little |
22950 * reverse-engineering, we can also determine the keyCode.) Returns | 24546 * reverse-engineering, we can also determine the keyCode.) Returns |
22951 * KeyCode.UNKNOWN if the keycode could not be determined. | 24547 * KeyCode.UNKNOWN if the keycode could not be determined. |
22952 */ | 24548 */ |
22953 int _determineKeyCodeForKeypress(KeyboardEvent event) { | 24549 int _determineKeyCodeForKeypress(KeyboardEvent event) { |
22954 // Note: This function is a work in progress. We'll expand this function | 24550 // Note: This function is a work in progress. We'll expand this function |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
23163 // pressed, given previous keydown information. | 24759 // pressed, given previous keydown information. |
23164 e._shadowKeyCode = _determineKeyCodeForKeypress(e); | 24760 e._shadowKeyCode = _determineKeyCodeForKeypress(e); |
23165 | 24761 |
23166 // Correct the key value for certain browser-specific quirks. | 24762 // Correct the key value for certain browser-specific quirks. |
23167 if (e._shadowKeyIdentifier != null && | 24763 if (e._shadowKeyIdentifier != null && |
23168 _keyIdentifier.containsKey(e._shadowKeyIdentifier)) { | 24764 _keyIdentifier.containsKey(e._shadowKeyIdentifier)) { |
23169 // This is needed for Safari Windows because it currently doesn't give a | 24765 // This is needed for Safari Windows because it currently doesn't give a |
23170 // keyCode/which for non printable keys. | 24766 // keyCode/which for non printable keys. |
23171 e._shadowKeyCode = _keyIdentifier[e._shadowKeyIdentifier]; | 24767 e._shadowKeyCode = _keyIdentifier[e._shadowKeyIdentifier]; |
23172 } | 24768 } |
23173 e._shadowAltKey = _keyDownList.some((var element) => element.altKey); | 24769 e._shadowAltKey = _keyDownList.any((var element) => element.altKey); |
23174 _dispatch(e); | 24770 _dispatch(e); |
23175 } | 24771 } |
23176 | 24772 |
23177 /** Handle keyup events. */ | 24773 /** Handle keyup events. */ |
23178 void processKeyUp(KeyboardEvent event) { | 24774 void processKeyUp(KeyboardEvent event) { |
23179 var e = new KeyEvent(event); | 24775 var e = new KeyEvent(event); |
23180 KeyboardEvent toRemove = null; | 24776 KeyboardEvent toRemove = null; |
23181 for (var key in _keyDownList) { | 24777 for (var key in _keyDownList) { |
23182 if (key.keyCode == e.keyCode) { | 24778 if (key.keyCode == e.keyCode) { |
23183 toRemove = key; | 24779 toRemove = key; |
23184 } | 24780 } |
23185 } | 24781 } |
23186 if (toRemove != null) { | 24782 if (toRemove != null) { |
23187 _keyDownList = _keyDownList.filter((element) => element != toRemove); | 24783 _keyDownList = |
| 24784 _keyDownList.where((element) => element != toRemove).toList(); |
23188 } else if (_keyDownList.length > 0) { | 24785 } else if (_keyDownList.length > 0) { |
23189 // This happens when we've reached some international keyboard case we | 24786 // This happens when we've reached some international keyboard case we |
23190 // haven't accounted for or we haven't correctly eliminated all browser | 24787 // haven't accounted for or we haven't correctly eliminated all browser |
23191 // inconsistencies. Filing bugs on when this is reached is welcome! | 24788 // inconsistencies. Filing bugs on when this is reached is welcome! |
23192 _keyDownList.removeLast(); | 24789 _keyDownList.removeLast(); |
23193 } | 24790 } |
23194 _dispatch(e); | 24791 _dispatch(e); |
23195 } | 24792 } |
23196 } | 24793 } |
23197 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 24794 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
(...skipping 935 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
24133 return _deserialize(result); | 25730 return _deserialize(result); |
24134 } | 25731 } |
24135 | 25732 |
24136 static _call(int isolateId, int portId, var message) { | 25733 static _call(int isolateId, int portId, var message) { |
24137 var target = 'dart-port-$isolateId-$portId'; | 25734 var target = 'dart-port-$isolateId-$portId'; |
24138 // TODO(vsm): Make this re-entrant. | 25735 // TODO(vsm): Make this re-entrant. |
24139 // TODO(vsm): Set this up set once, on the first call. | 25736 // TODO(vsm): Set this up set once, on the first call. |
24140 var source = '$target-result'; | 25737 var source = '$target-result'; |
24141 var result = null; | 25738 var result = null; |
24142 var listener = (Event e) { | 25739 var listener = (Event e) { |
24143 result = JSON.parse(_getPortSyncEventData(e)); | 25740 result = json.parse(_getPortSyncEventData(e)); |
24144 }; | 25741 }; |
24145 window.on[source].add(listener); | 25742 window.on[source].add(listener); |
24146 _dispatchEvent(target, [source, message]); | 25743 _dispatchEvent(target, [source, message]); |
24147 window.on[source].remove(listener); | 25744 window.on[source].remove(listener); |
24148 return result; | 25745 return result; |
24149 } | 25746 } |
24150 } | 25747 } |
24151 | 25748 |
24152 // The receiver is in the same Dart isolate, compiled to JS. | 25749 // The receiver is in the same Dart isolate, compiled to JS. |
24153 class _LocalSendPortSync implements SendPortSync { | 25750 class _LocalSendPortSync implements SendPortSync { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
24205 } | 25802 } |
24206 | 25803 |
24207 static String _getListenerName(isolateId, portId) => | 25804 static String _getListenerName(isolateId, portId) => |
24208 'dart-port-$isolateId-$portId'; | 25805 'dart-port-$isolateId-$portId'; |
24209 String get _listenerName => _getListenerName(_isolateId, _portId); | 25806 String get _listenerName => _getListenerName(_isolateId, _portId); |
24210 | 25807 |
24211 void receive(callback(var message)) { | 25808 void receive(callback(var message)) { |
24212 _callback = callback; | 25809 _callback = callback; |
24213 if (_listener == null) { | 25810 if (_listener == null) { |
24214 _listener = (Event e) { | 25811 _listener = (Event e) { |
24215 var data = JSON.parse(_getPortSyncEventData(e)); | 25812 var data = json.parse(_getPortSyncEventData(e)); |
24216 var replyTo = data[0]; | 25813 var replyTo = data[0]; |
24217 var message = _deserialize(data[1]); | 25814 var message = _deserialize(data[1]); |
24218 var result = _callback(message); | 25815 var result = _callback(message); |
24219 _dispatchEvent(replyTo, _serialize(result)); | 25816 _dispatchEvent(replyTo, _serialize(result)); |
24220 }; | 25817 }; |
24221 window.on[_listenerName].add(_listener); | 25818 window.on[_listenerName].add(_listener); |
24222 } | 25819 } |
24223 } | 25820 } |
24224 | 25821 |
24225 void close() { | 25822 void close() { |
(...skipping 10 matching lines...) Expand all Loading... |
24236 return _portMap[portId].toSendPort(); | 25833 return _portMap[portId].toSendPort(); |
24237 } else { | 25834 } else { |
24238 return new _RemoteSendPortSync(isolateId, portId); | 25835 return new _RemoteSendPortSync(isolateId, portId); |
24239 } | 25836 } |
24240 } | 25837 } |
24241 } | 25838 } |
24242 | 25839 |
24243 get _isolateId => ReceivePortSync._isolateId; | 25840 get _isolateId => ReceivePortSync._isolateId; |
24244 | 25841 |
24245 void _dispatchEvent(String receiver, var message) { | 25842 void _dispatchEvent(String receiver, var message) { |
24246 var event = new CustomEvent(receiver, false, false, JSON.stringify(message)); | 25843 var event = new CustomEvent(receiver, false, false, json.stringify(message)); |
24247 window.$dom_dispatchEvent(event); | 25844 window.$dom_dispatchEvent(event); |
24248 } | 25845 } |
24249 | 25846 |
24250 String _getPortSyncEventData(CustomEvent event) => event.detail; | 25847 String _getPortSyncEventData(CustomEvent event) => event.detail; |
24251 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 25848 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
24252 // for details. All rights reserved. Use of this source code is governed by a | 25849 // for details. All rights reserved. Use of this source code is governed by a |
24253 // BSD-style license that can be found in the LICENSE file. | 25850 // BSD-style license that can be found in the LICENSE file. |
24254 | 25851 |
24255 | 25852 |
24256 typedef Object ComputeValue(); | 25853 typedef Object ComputeValue(); |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
24531 // TODO(floitsch): we are losing the generic type. | 26128 // TODO(floitsch): we are losing the generic type. |
24532 return ['list', id, jsArray]; | 26129 return ['list', id, jsArray]; |
24533 } | 26130 } |
24534 | 26131 |
24535 visitMap(Map map) { | 26132 visitMap(Map map) { |
24536 int copyId = _visited[map]; | 26133 int copyId = _visited[map]; |
24537 if (copyId != null) return ['ref', copyId]; | 26134 if (copyId != null) return ['ref', copyId]; |
24538 | 26135 |
24539 int id = _nextFreeRefId++; | 26136 int id = _nextFreeRefId++; |
24540 _visited[map] = id; | 26137 _visited[map] = id; |
24541 var keys = _serializeList(map.keys); | 26138 var keys = _serializeList(map.keys.toList()); |
24542 var values = _serializeList(map.values); | 26139 var values = _serializeList(map.values.toList()); |
24543 // TODO(floitsch): we are losing the generic type. | 26140 // TODO(floitsch): we are losing the generic type. |
24544 return ['map', id, keys, values]; | 26141 return ['map', id, keys, values]; |
24545 } | 26142 } |
24546 | 26143 |
24547 _serializeList(List list) { | 26144 _serializeList(List list) { |
24548 int len = list.length; | 26145 int len = list.length; |
24549 var result = new List(len); | 26146 var result = new List.fixedLength(len); |
24550 for (int i = 0; i < len; i++) { | 26147 for (int i = 0; i < len; i++) { |
24551 result[i] = _dispatch(list[i]); | 26148 result[i] = _dispatch(list[i]); |
24552 } | 26149 } |
24553 return result; | 26150 return result; |
24554 } | 26151 } |
24555 } | 26152 } |
24556 | 26153 |
24557 /** Deserializes arrays created with [_Serializer]. */ | 26154 /** Deserializes arrays created with [_Serializer]. */ |
24558 abstract class _Deserializer { | 26155 abstract class _Deserializer { |
24559 Map<int, dynamic> _deserialized; | 26156 Map<int, dynamic> _deserialized; |
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
25267 target.$dom_removeEventListener(type, listener, useCapture); | 26864 target.$dom_removeEventListener(type, listener, useCapture); |
25268 } | 26865 } |
25269 | 26866 |
25270 } | 26867 } |
25271 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 26868 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
25272 // for details. All rights reserved. Use of this source code is governed by a | 26869 // for details. All rights reserved. Use of this source code is governed by a |
25273 // BSD-style license that can be found in the LICENSE file. | 26870 // BSD-style license that can be found in the LICENSE file. |
25274 | 26871 |
25275 | 26872 |
25276 // Iterator for arrays with fixed size. | 26873 // Iterator for arrays with fixed size. |
25277 class FixedSizeListIterator<T> extends _VariableSizeListIterator<T> { | 26874 class FixedSizeListIterator<T> implements Iterator<T> { |
| 26875 final List<T> _array; |
| 26876 final int _length; // Cache array length for faster access. |
| 26877 int _position; |
| 26878 T _current; |
| 26879 |
25278 FixedSizeListIterator(List<T> array) | 26880 FixedSizeListIterator(List<T> array) |
25279 : super(array), | 26881 : _array = array, |
| 26882 _position = -1, |
25280 _length = array.length; | 26883 _length = array.length; |
25281 | 26884 |
25282 bool get hasNext => _length > _pos; | 26885 bool moveNext() { |
| 26886 int nextPosition = _position + 1; |
| 26887 if (nextPosition < _length) { |
| 26888 _current = _array[nextPosition]; |
| 26889 _position = nextPosition; |
| 26890 return true; |
| 26891 } |
| 26892 _current = null; |
| 26893 _position = _length; |
| 26894 return false; |
| 26895 } |
25283 | 26896 |
25284 final int _length; // Cache array length for faster access. | 26897 T get current => _current; |
25285 } | 26898 } |
25286 | 26899 |
25287 // Iterator for arrays with variable size. | 26900 // Iterator for arrays with variable size. |
25288 class _VariableSizeListIterator<T> implements Iterator<T> { | 26901 class _VariableSizeListIterator<T> implements Iterator<T> { |
| 26902 final List<T> _array; |
| 26903 int _position; |
| 26904 T _current; |
| 26905 |
25289 _VariableSizeListIterator(List<T> array) | 26906 _VariableSizeListIterator(List<T> array) |
25290 : _array = array, | 26907 : _array = array, |
25291 _pos = 0; | 26908 _position = -1; |
25292 | 26909 |
25293 bool get hasNext => _array.length > _pos; | 26910 bool moveNext() { |
25294 | 26911 int nextPosition = _position + 1; |
25295 T next() { | 26912 if (nextPosition < _array.length) { |
25296 if (!hasNext) { | 26913 _current = _array[nextPosition]; |
25297 throw new StateError("No more elements"); | 26914 _position = nextPosition; |
| 26915 return true; |
25298 } | 26916 } |
25299 return _array[_pos++]; | 26917 _current = null; |
| 26918 _position = _array.length; |
| 26919 return false; |
25300 } | 26920 } |
25301 | 26921 |
25302 final List<T> _array; | 26922 T get current => _current; |
25303 int _pos; | |
25304 } | 26923 } |
OLD | NEW |