blob: c1f72dc78f617741278b474987483a82270f3d01 [file] [log] [blame]
// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.lightir;
import it.unimi.dsi.fastutil.bytes.ByteIterator;
/** Simple implementation of an iterator over a primitive byte array. */
public class ByteArrayIterator implements ByteIterator {
private final int size;
private final byte[] buffer;
private int index = 0;
public ByteArrayIterator(byte[] bytes) {
size = bytes.length;
buffer = bytes;
}
@Override
public boolean hasNext() {
return index < size;
}
@Override
public byte nextByte() {
return buffer[index++];
}
@Override
public Byte next() {
return nextByte();
}
@Override
public int skip(int i) {
int actual = index + i <= size ? i : size - index;
index += actual;
return actual;
}
}