private int seekPrevious() { for (int i = iterators.length - 1; i >= 0; i --) { if (iterators[i].hasPrevious()) { return i; } } return -1; }
public boolean hasPrevious() { return iter.hasPrevious(); }
public boolean hasPrevious() { return start > 0 && iter.hasPrevious(); }
public boolean hasPrevious() { return lo || iter.hasPrevious(); }
public boolean hasPrevious() { return iter.hasPrevious(); }
@Override public int peekType() throws ASN1Exception { long currOffset = bi.getIndex(); int tag = readTag(); while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } return tag; }
private void readTag(int expectedTag) throws ASN1Exception { if (implicitTag != -1) { expectedTag = implicitTag | (expectedTag & CONSTRUCTED_MASK); implicitTag = -1; } long currOffset = bi.getIndex(); int actualTag = readTag(); if (actualTag != expectedTag) { while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } throw log.asnUnexpectedTag(); } }
private boolean hasCompleteElement() { boolean hasNext; long currOffset = bi.getIndex(); try { readTag(); int length = readLength(); int i; for (i = 0; (i < length) && bi.hasNext(); i++) { bi.next(); } hasNext = (i == length); } catch (ASN1Exception e) { hasNext = false; } while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } return hasNext; }
@Override public byte[] drainElement() throws ASN1Exception { if (implicitTag != -1) { implicitTag = -1; } long currOffset = bi.getIndex(); readTag(); int valueLength = readLength(); int length = (int) ((bi.getIndex() - currOffset) + valueLength); while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } byte[] element = new byte[length]; if ((length != 0) && (bi.drain(element) != length)) { throw log.asnUnexpectedEndOfInput(); } return element; }
private int seekPrevious() { for (int i = iterators.length - 1; i >= 0; i --) { if (iterators[i].hasPrevious()) { return i; } } return -1; }
private int seekPrevious() { for (int i = iterators.length - 1; i >= 0; i --) { if (iterators[i].hasPrevious()) { return i; } } return -1; }
public boolean hasPrevious() { return start > 0 && iter.hasPrevious(); }
public boolean hasPrevious() { return iter.hasPrevious(); }
public boolean hasPrevious() { return lo || iter.hasPrevious(); }
public boolean hasPrevious() { return iter.hasPrevious(); }
@Override public int peekType() throws ASN1Exception { long currOffset = bi.getIndex(); int tag = readTag(); while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } return tag; }
@Override public int peekType() throws ASN1Exception { long currOffset = bi.getIndex(); int tag = readTag(); while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } return tag; }
@Override public int peekType() throws ASN1Exception { long currOffset = bi.getIndex(); int tag = readTag(); while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } return tag; }
private void readTag(int expectedTag) throws ASN1Exception { if (implicitTag != -1) { expectedTag = implicitTag | (expectedTag & CONSTRUCTED_MASK); implicitTag = -1; } long currOffset = bi.getIndex(); int actualTag = readTag(); if (actualTag != expectedTag) { while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } throw log.asnUnexpectedTag(); } }
private void readTag(int expectedTag) throws ASN1Exception { if (implicitTag != -1) { expectedTag = implicitTag | (expectedTag & CONSTRUCTED_MASK); implicitTag = -1; } long currOffset = bi.getIndex(); int actualTag = readTag(); if (actualTag != expectedTag) { while ((bi.getIndex() != currOffset) && bi.hasPrevious()) { bi.previous(); } throw log.asnUnexpectedTag(); } }