public final class LocalVariableTableWriter extends ClassWriter.Element
Constructor and Description |
---|
LocalVariableTableWriter(ClassWriter w)
Create a blank LocalVariableTable.
|
Modifier and Type | Method and Description |
---|---|
int |
copyInto(byte[] buf,
int offset)
Copy the bytes into 'buf' at offset 'offset'.
|
int |
getSize() |
static int[] |
makeRawTable(int[][] varMap,
Compiler.Output output)
Build a raw local variable table from a formatted variable map.
|
void |
setRawTable(int[] table)
Set the raw local variable table values.
|
public LocalVariableTableWriter(ClassWriter w)
IllegalArgumentException
- if w is nullpublic void setRawTable(int[] table)
table
- the raw values, a flattened sequence of (startPC, length, nameIndex, typeIndex, var) tuplespublic int getSize()
getSize
in class ClassWriter.Element
public int copyInto(byte[] buf, int offset) throws IllegalArgumentException
ClassWriter.Element
copyInto
in class ClassWriter.Element
IllegalArgumentException
public static int[] makeRawTable(int[][] varMap, Compiler.Output output) throws IllegalArgumentException
varMap
- an array mapping bytecode offsets to a variable map for each offset; a variable map is a array of 2*localVars
elements, containing a (nameIndex, typeIndex) for each local variable; the pair (0,0) indicates that there is no
information about that local variable at that offsetIllegalArgumentException
- if varMap == null