< prev index next >
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ByteSequence.java
Print this page
*** 19,49 ****
* limitations under the License.
*/
package com.sun.org.apache.bcel.internal.util;
! import java.io.*;
/**
* Utility class that implements a sequence of bytes which can be read
* via the `readByte()' method. This is used to implement a wrapper for the
* Java byte code stream to gain some more readability.
*
! * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
*/
public final class ByteSequence extends DataInputStream {
- private ByteArrayStream byte_stream;
! public ByteSequence(byte[] bytes) {
super(new ByteArrayStream(bytes));
! byte_stream = (ByteArrayStream)in;
}
! public final int getIndex() { return byte_stream.getPosition(); }
! final void unreadByte() { byte_stream.unreadByte(); }
private static final class ByteArrayStream extends ByteArrayInputStream {
! ByteArrayStream(byte[] bytes) { super(bytes); }
! final int getPosition() { return pos; } // is protected in ByteArrayInputStream
! final void unreadByte() { if(pos > 0) pos--; }
}
}
--- 19,71 ----
* limitations under the License.
*/
package com.sun.org.apache.bcel.internal.util;
! import java.io.ByteArrayInputStream;
! import java.io.DataInputStream;
/**
* Utility class that implements a sequence of bytes which can be read
* via the `readByte()' method. This is used to implement a wrapper for the
* Java byte code stream to gain some more readability.
*
! * @version $Id: ByteSequence.java 1747278 2016-06-07 17:28:43Z britter $
*/
public final class ByteSequence extends DataInputStream {
! private final ByteArrayStream byteStream;
!
!
! public ByteSequence(final byte[] bytes) {
super(new ByteArrayStream(bytes));
! byteStream = (ByteArrayStream) in;
}
!
! public final int getIndex() {
! return byteStream.getPosition();
! }
!
!
! final void unreadByte() {
! byteStream.unreadByte();
! }
private static final class ByteArrayStream extends ByteArrayInputStream {
!
! ByteArrayStream(final byte[] bytes) {
! super(bytes);
! }
!
! final int getPosition() {
! // pos is protected in ByteArrayInputStream
! return pos;
! }
!
! final void unreadByte() {
! if (pos > 0) {
! pos--;
! }
! }
}
}
< prev index next >