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.DataInputStream
Extends the DataInputStream with a code position.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CodeInputStream.ByteCodeArrayInputStream
-
Constructor Summary
Constructors Modifier Constructor Description (package private)
CodeInputStream(byte[] buf, int offset, int length, Code code)
Create a new instance of CodeInputStream.private
CodeInputStream(CodeInputStream.ByteCodeArrayInputStream in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getCodePosition()
Get the code index of the current read position.int
getLineNumber()
Line number in the source code or -1 if not availableint
readUnsignedIndex(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.IOException
Read 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
-
-