Index: third_party/pkg/js/lib/src/wrapping/js/array_to_list_adapter.dart |
diff --git a/third_party/pkg/js/lib/src/wrapping/js/array_to_list_adapter.dart b/third_party/pkg/js/lib/src/wrapping/js/array_to_list_adapter.dart |
index 95660bbae9e4989b5a88d0c39cc7f0cef11c8c82..a2aefa902a1d619b823f7dd7302b34c1b1b14f66 100644 |
--- a/third_party/pkg/js/lib/src/wrapping/js/array_to_list_adapter.dart |
+++ b/third_party/pkg/js/lib/src/wrapping/js/array_to_list_adapter.dart |
@@ -34,12 +34,15 @@ class JsArrayToListAdapter<E> extends TypedProxy /*with ListMixin<E>*/ |
@override Iterator<E> get iterator => new _JsIterator<E>(this); |
@override int get length => $unsafe.length; |
- // Collection |
+ // List |
+ @override void set last(E value) { |
+ if (length == 0) throw new StateError("No element"); |
+ this[length - 1] = value; |
+ } |
@override void add(E value) { $unsafe.push(_toJs(value)); } |
@override void clear() { this.length = 0; } |
@override bool remove(Object element) => removeAt(indexOf(element)) != null; |
- // List |
@override E operator [](int index) { |
if (index < 0 || index >= this.length) throw new RangeError.value(index); |
return _fromJs($unsafe[index]); |