00001 package de.fub.bytecode.util;
00002
00003 import java.io.*;
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 public final class ByteSequence extends DataInputStream {
00014 private ByteArrayStream byte_stream;
00015
00016 private static final class ByteArrayStream extends ByteArrayInputStream {
00017 ByteArrayStream(byte[] bytes) { super(bytes); }
00018 final int getPosition() { return pos; }
00019 final void unreadByte() { if(pos > 0) pos--; }
00020 }
00021 public ByteSequence(byte[] bytes) {
00022 super(new ByteArrayStream(bytes));
00023 byte_stream = (ByteArrayStream)in;
00024 }
00025 public final int getIndex() { return byte_stream.getPosition(); }
00026 final void unreadByte() { byte_stream.unreadByte(); }
00027 }