nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java
changeset 26886 18c744ab4df2
parent 26768 751b0f427090
child 27525 e7d3c00b9fb8
equal deleted inserted replaced
26786:f0c5e4b732da 26886:18c744ab4df2
    37 abstract class ArrayFilter extends ArrayData {
    37 abstract class ArrayFilter extends ArrayData {
    38     /** Underlying array. */
    38     /** Underlying array. */
    39     protected ArrayData underlying;
    39     protected ArrayData underlying;
    40 
    40 
    41     ArrayFilter(final ArrayData underlying) {
    41     ArrayFilter(final ArrayData underlying) {
    42         super(underlying.length());
    42         super(underlying.length);
    43         this.underlying = underlying;
    43         this.underlying = underlying;
    44     }
    44     }
    45 
    45 
    46     /**
    46     /**
    47      * Get the underlying {@link ArrayData} that this filter wraps
    47      * Get the underlying {@link ArrayData} that this filter wraps
    68     }
    68     }
    69 
    69 
    70     @Override
    70     @Override
    71     public void shiftLeft(final int by) {
    71     public void shiftLeft(final int by) {
    72         underlying.shiftLeft(by);
    72         underlying.shiftLeft(by);
    73         setLength(underlying.length());
    73         setLength(underlying.length);
    74     }
    74     }
    75 
    75 
    76     @Override
    76     @Override
    77     public ArrayData shiftRight(final int by) {
    77     public ArrayData shiftRight(final int by) {
    78         underlying = underlying.shiftRight(by);
    78         underlying = underlying.shiftRight(by);
    79         setLength(underlying.length());
    79         setLength(underlying.length);
    80 
    80 
    81         return this;
    81         return this;
    82     }
    82     }
    83 
    83 
    84     @Override
    84     @Override
    85     public ArrayData ensure(final long safeIndex) {
    85     public ArrayData ensure(final long safeIndex) {
    86         underlying = underlying.ensure(safeIndex);
    86         underlying = underlying.ensure(safeIndex);
    87         setLength(underlying.length());
    87         setLength(underlying.length);
    88 
    88 
    89         return this;
    89         return this;
    90     }
    90     }
    91 
    91 
    92     @Override
    92     @Override
    93     public ArrayData shrink(final long newLength) {
    93     public ArrayData shrink(final long newLength) {
    94         underlying = underlying.shrink(newLength);
    94         underlying = underlying.shrink(newLength);
    95         setLength(underlying.length());
    95         setLength(underlying.length);
    96 
    96 
    97         return this;
    97         return this;
    98     }
    98     }
    99 
    99 
   100     @Override
   100     @Override
   101     public ArrayData set(final int index, final Object value, final boolean strict) {
   101     public ArrayData set(final int index, final Object value, final boolean strict) {
   102         underlying = underlying.set(index, value, strict);
   102         underlying = underlying.set(index, value, strict);
   103         setLength(underlying.length());
   103         setLength(underlying.length);
   104 
   104 
   105         return this;
   105         return this;
   106     }
   106     }
   107 
   107 
   108     @Override
   108     @Override
   109     public ArrayData set(final int index, final int value, final boolean strict) {
   109     public ArrayData set(final int index, final int value, final boolean strict) {
   110         underlying = underlying.set(index, value, strict);
   110         underlying = underlying.set(index, value, strict);
   111         setLength(underlying.length());
   111         setLength(underlying.length);
   112 
   112 
   113         return this;
   113         return this;
   114     }
   114     }
   115 
   115 
   116     @Override
   116     @Override
   117     public ArrayData set(final int index, final long value, final boolean strict) {
   117     public ArrayData set(final int index, final long value, final boolean strict) {
   118         underlying = underlying.set(index, value, strict);
   118         underlying = underlying.set(index, value, strict);
   119         setLength(underlying.length());
   119         setLength(underlying.length);
   120 
   120 
   121         return this;
   121         return this;
   122     }
   122     }
   123 
   123 
   124     @Override
   124     @Override
   125     public ArrayData set(final int index, final double value, final boolean strict) {
   125     public ArrayData set(final int index, final double value, final boolean strict) {
   126         underlying = underlying.set(index, value, strict);
   126         underlying = underlying.set(index, value, strict);
   127         setLength(underlying.length());
   127         setLength(underlying.length);
   128 
   128 
   129         return this;
   129         return this;
   130     }
   130     }
   131 
   131 
   132     @Override
   132     @Override
   187     }
   187     }
   188 
   188 
   189     @Override
   189     @Override
   190     public ArrayData delete(final int index) {
   190     public ArrayData delete(final int index) {
   191         underlying = underlying.delete(index);
   191         underlying = underlying.delete(index);
   192         setLength(underlying.length());
   192         setLength(underlying.length);
   193         return this;
   193         return this;
   194     }
   194     }
   195 
   195 
   196     @Override
   196     @Override
   197     public ArrayData delete(final long from, final long to) {
   197     public ArrayData delete(final long from, final long to) {
   198         underlying = underlying.delete(from, to);
   198         underlying = underlying.delete(from, to);
   199         setLength(underlying.length());
   199         setLength(underlying.length);
   200         return this;
   200         return this;
   201     }
   201     }
   202 
   202 
   203     @Override
   203     @Override
   204     public ArrayData convert(final Class<?> type) {
   204     public ArrayData convert(final Class<?> type) {
   205         underlying = underlying.convert(type);
   205         underlying = underlying.convert(type);
   206         setLength(underlying.length());
   206         setLength(underlying.length);
   207         return this;
   207         return this;
   208     }
   208     }
   209 
   209 
   210     @Override
   210     @Override
   211     public Object pop() {
   211     public Object pop() {
   212         final Object value = underlying.pop();
   212         final Object value = underlying.pop();
   213         setLength(underlying.length());
   213         setLength(underlying.length);
   214 
   214 
   215         return value;
   215         return value;
   216     }
   216     }
   217 
   217 
   218     @Override
   218     @Override