@Nonnull public BaseDexReader readerAt(int offset) { return new BaseDexReader<BaseDexBuffer>(this, offset); }
/** * Reads a "large" uleb128. That is, one that may legitimately be greater than a signed int. * * The value is returned as if it were signed. i.e. a value of 0xFFFFFFFF would be returned as -1. It is up to the * caller to handle the value appropriately. */ public int readLargeUleb128() { return readUleb128(true); }
public int peekSmallUleb128Size() { return peekUleb128Size(false); }
private void performTest(int expectedValue, byte[] buf, int expectedLength) { BaseDexBuffer dexBuf = new BaseDexBuffer(buf); BaseDexReader reader = dexBuf.readerAt(0); Assert.assertEquals(expectedValue, reader.readSmallUleb128()); Assert.assertEquals(expectedLength, reader.getOffset()); reader = dexBuf.readerAt(0); reader.skipUleb128(); Assert.assertEquals(expectedLength, reader.getOffset()); reader = dexBuf.readerAt(0); Assert.assertEquals(expectedLength, reader.peekSmallUleb128Size()); }
private void performTest(int expectedValue, byte[] buf, int expectedLength) { BaseDexBuffer dexBuf = new BaseDexBuffer(buf); BaseDexReader reader = dexBuf.readerAt(0); Assert.assertEquals(expectedValue, reader.readSleb128()); Assert.assertEquals(expectedLength, reader.getOffset()); reader = dexBuf.readerAt(0); Assert.assertEquals(expectedLength, reader.peekSleb128Size()); }
private void performFailureTest(byte[] buf) { BaseDexBuffer dexBuf = new BaseDexBuffer(buf); BaseDexReader reader = dexBuf.readerAt(0); try { reader.peekSmallUleb128Size(); Assert.fail(); } catch (ExceptionWithContext ex) { // expected exception } try { reader.readSmallUleb128(); Assert.fail(); } catch (ExceptionWithContext ex) { // expected exception } } }
@Override public int readSmallUleb128() { return reader.readSmallUleb128(); } }
private void performFailureTest(byte[] buf) { BaseDexBuffer dexBuf = new BaseDexBuffer(buf); BaseDexReader reader = dexBuf.readerAt(0); try { reader.peekSleb128Size(); Assert.fail(); } catch (ExceptionWithContext ex) { // expected exception } try { reader.readSleb128(); Assert.fail(); } catch (ExceptionWithContext ex) { // expected exception } } }
private void performSizedIntFailureTest(byte[] buf) { BaseDexBuffer dexBuf = new BaseDexBuffer(buf); BaseDexReader reader = dexBuf.readerAt(0); try { reader.readSizedInt(buf.length); Assert.fail(); } catch (ExceptionWithContext ex) { // expected } }
@Override public int readInt(int offset) { return reader.readInt(offset); }
private void performSizedIntTest(int expectedValue, byte[] buf) { BaseDexBuffer dexBuf = new BaseDexBuffer(buf); BaseDexReader reader = dexBuf.readerAt(0); Assert.assertEquals(expectedValue, reader.readSizedInt(buf.length)); }
/** * Reads a "large" uleb128. That is, one that may legitimately be greater * than a signed int. * * The value is returned as if it were signed. i.e. a value of 0xFFFFFFFF * would be returned as -1. It is up to the caller to handle the value * appropriately. */ public int readLargeUleb128() { return readUleb128(true); }
@Nonnull public BaseDexReader readerAt(int offset) { return new BaseDexReader<BaseDexBuffer>(this, offset); }
public int peekSmallUleb128Size() { return peekUleb128Size(false); }
/** * Reads a "large" uleb128. That is, one that may legitimately be greater than a signed int. * * The value is returned as if it were signed. i.e. a value of 0xFFFFFFFF would be returned as -1. It is up to the * caller to handle the value appropriately. */ public int readLargeUleb128() { return readUleb128(true); }
@Nonnull public BaseDexReader readerAt(int offset) { return new BaseDexReader<BaseDexBuffer>(this, offset); }
public int readSmallUleb128() { return readUleb128(false); }
public int readSmallUleb128() { return readUleb128(false); }
public int readSmallUleb128() { return readUleb128(false); }