Package de.inetsoftware.classparser
Class CodeInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.io.DataInputStream
-
- de.inetsoftware.classparser.CodeInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.DataInput,java.lang.AutoCloseable
public class CodeInputStream extends java.io.DataInputStreamExtends the DataInputStream with a code position.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCodeInputStream.ByteCodeArrayInputStream
-
Constructor Summary
Constructors Modifier Constructor Description (package private)CodeInputStream(byte[] buf, int offset, int length, Code code)Create a new instance of CodeInputStream.privateCodeInputStream(CodeInputStream.ByteCodeArrayInputStream in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetCodePosition()Get the code index of the current read position.intgetLineNumber()Line number in the source code or -1 if not availableintreadUnsignedIndex(boolean wide)Read an unsigned index.-
Methods inherited from class java.io.DataInputStream
read, read, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, readUTF, skipBytes
-
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, reset, skip
-
-
-
-
Field Detail
-
code
private Code code
-
-
Constructor Detail
-
CodeInputStream
CodeInputStream(byte[] buf, int offset, int length, Code code)Create a new instance of CodeInputStream.- Parameters:
buf- the buffer with the Java byte codeoffset- the offset in the arraylength- the lengthcode- the calling code to get the line numbers
-
CodeInputStream
private CodeInputStream(CodeInputStream.ByteCodeArrayInputStream in)
-
-
Method Detail
-
getCodePosition
public int getCodePosition()
Get the code index of the current read position.- Returns:
- the position
-
getLineNumber
public int getLineNumber()
Line number in the source code or -1 if not available- Returns:
- the line number
-
readUnsignedIndex
public int readUnsignedIndex(boolean wide) throws java.io.IOExceptionRead an unsigned index. For example for a variable.- Parameters:
wide- true, 2 byte index- Returns:
- the unsigned value
- Throws:
java.io.IOException- if any I/O errors occur
-
-