< prev index next >
src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java
Print this page
@@ -96,13 +96,19 @@
public ObjectArrayData convert(final Class<?> type) {
return this;
}
@Override
- public void shiftLeft(final int by) {
+ public ArrayData shiftLeft(final int by) {
+ if (by >= length()) {
+ shrink(0);
+ } else {
System.arraycopy(array, by, array, 0, array.length - by);
}
+ setLength(Math.max(0, length() - by));
+ return this;
+ }
@Override
public ArrayData shiftRight(final int by) {
final ArrayData newData = ensure(by + length() - 1);
if (newData != this) {
< prev index next >