Index: lib/dom/templates/immutable_list_mixin.darttemplate |
diff --git a/lib/dom/templates/immutable_list_mixin.darttemplate b/lib/dom/templates/immutable_list_mixin.darttemplate |
index befa0d71b7413662508dd1f5bf4893c0e2b686c3..d2e2c0adc0caac1a68c28eec7300232c4b43e93c 100644 |
--- a/lib/dom/templates/immutable_list_mixin.darttemplate |
+++ b/lib/dom/templates/immutable_list_mixin.darttemplate |
@@ -46,21 +46,30 @@ |
int indexOf($E element, [int start = 0]) => |
_Lists.indexOf(this, element, start, this.length); |
- int lastIndexOf($E element, [int start = 0]) => |
- _Lists.lastIndexOf(this, element, start); |
+ int lastIndexOf($E element, [int start]) { |
+ if (start === null) start = length - 1; |
+ return _Lists.lastIndexOf(this, element, start); |
+ } |
$E last() => this[length - 1]; |
+ $E removeLast() { |
+ throw new UnsupportedOperationException("Cannot removeLast on immutable List."); |
+ } |
+ |
// FIXME: implement these. |
void setRange(int start, int rangeLength, List<$E> from, [int startFrom]) { |
throw new UnsupportedOperationException("Cannot setRange on immutable List."); |
} |
+ |
void removeRange(int start, int rangeLength) { |
throw new UnsupportedOperationException("Cannot removeRange on immutable List."); |
} |
+ |
void insertRange(int start, int rangeLength, [$E initialValue]) { |
throw new UnsupportedOperationException("Cannot insertRange on immutable List."); |
} |
+ |
List<$E> getRange(int start, int rangeLength) => |
_Lists.getRange(this, start, rangeLength, <$E>[]); |