< prev index next >

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

Print this page




 146 
 147     @Override
 148     public ArrayData set(final int index, final int value, final boolean strict) {
 149         final long longIndex = ArrayIndex.toLongIndex(index);
 150         if (longIndex < lo || longIndex > hi) {
 151             return super.set(index, value, strict);
 152         } else if (longIndex > lo && longIndex < hi) {
 153             return getDeletedArrayFilter().set(index, value, strict);
 154         }
 155         if (longIndex == lo) {
 156             lo++;
 157         } else {
 158             assert longIndex == hi;
 159             hi--;
 160         }
 161 
 162         return isEmpty() ? getUnderlying().set(index, value, strict) : super.set(index, value, strict);
 163     }
 164 
 165     @Override
 166     public ArrayData set(final int index, final long value, final boolean strict) {
 167         final long longIndex = ArrayIndex.toLongIndex(index);
 168         if (longIndex < lo || longIndex > hi) {
 169             return super.set(index, value, strict);
 170         } else if (longIndex > lo && longIndex < hi) {
 171             return getDeletedArrayFilter().set(index, value, strict);
 172         }
 173         if (longIndex == lo) {
 174             lo++;
 175         } else {
 176             assert longIndex == hi;
 177             hi--;
 178         }
 179 
 180         return isEmpty() ? getUnderlying().set(index, value, strict) : super.set(index, value, strict);
 181     }
 182 
 183     @Override
 184     public ArrayData set(final int index, final double value, final boolean strict) {
 185         final long longIndex = ArrayIndex.toLongIndex(index);
 186         if (longIndex < lo || longIndex > hi) {
 187             return super.set(index, value, strict);
 188         } else if (longIndex > lo && longIndex < hi) {
 189             return getDeletedArrayFilter().set(index, value, strict);
 190         }
 191         if (longIndex == lo) {
 192             lo++;
 193         } else {
 194             assert longIndex == hi;
 195             hi--;
 196         }
 197 
 198         return isEmpty() ? getUnderlying().set(index, value, strict) : super.set(index, value, strict);
 199     }
 200 
 201     @Override
 202     public boolean has(final int index) {
 203         return super.has(index) && !isDeleted(index);




 146 
 147     @Override
 148     public ArrayData set(final int index, final int value, final boolean strict) {
 149         final long longIndex = ArrayIndex.toLongIndex(index);
 150         if (longIndex < lo || longIndex > hi) {
 151             return super.set(index, value, strict);
 152         } else if (longIndex > lo && longIndex < hi) {
 153             return getDeletedArrayFilter().set(index, value, strict);
 154         }
 155         if (longIndex == lo) {
 156             lo++;
 157         } else {
 158             assert longIndex == hi;
 159             hi--;
 160         }
 161 
 162         return isEmpty() ? getUnderlying().set(index, value, strict) : super.set(index, value, strict);
 163     }
 164 
 165     @Override


















 166     public ArrayData set(final int index, final double value, final boolean strict) {
 167         final long longIndex = ArrayIndex.toLongIndex(index);
 168         if (longIndex < lo || longIndex > hi) {
 169             return super.set(index, value, strict);
 170         } else if (longIndex > lo && longIndex < hi) {
 171             return getDeletedArrayFilter().set(index, value, strict);
 172         }
 173         if (longIndex == lo) {
 174             lo++;
 175         } else {
 176             assert longIndex == hi;
 177             hi--;
 178         }
 179 
 180         return isEmpty() ? getUnderlying().set(index, value, strict) : super.set(index, value, strict);
 181     }
 182 
 183     @Override
 184     public boolean has(final int index) {
 185         return super.has(index) && !isDeleted(index);


< prev index next >