< prev index next >

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

Print this page

        

@@ -174,13 +174,20 @@
             return convertToObject();
         }
     }
 
     @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 >