< prev index next >

src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java

Print this page

        

@@ -119,13 +119,19 @@
         }
         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 >