Modifier and Type | Class and Description |
---|---|
static class |
CodeAttr.Label |
(package private) class |
CodeAttr.LineNumData |
static class |
CodeAttr.Local |
(package private) class |
CodeAttr.LocVarData |
(package private) class |
CodeAttr.Trap |
(package private) class |
CodeAttr.TrapData |
Modifier and Type | Field and Description |
---|---|
protected DataVector<DataVectorAttr<? extends Data>> |
attrs |
protected ClassData |
cls |
protected int |
cur_pc |
protected StackMapData |
curMapEntry |
protected Environment |
env |
protected java.util.HashMap<java.lang.String,CodeAttr.Label> |
labelsHash |
protected Instr |
lastInstr |
protected int |
lastln |
protected DataVectorAttr<CodeAttr.LineNumData> |
lin_num_tb |
protected DataVectorAttr<CodeAttr.LocVarData> |
loc_var_tb |
protected java.util.HashMap<java.lang.String,CodeAttr.LocVarData> |
locvarsHash |
protected Argument |
max_locals |
protected Argument |
max_stack |
protected MethodData |
mtd |
protected java.util.ArrayList<java.lang.Integer> |
slots |
protected DataVectorAttr<StackMapData> |
stackMap |
protected DataVector<CodeAttr.TrapData> |
trap_table |
protected java.util.HashMap<java.lang.String,CodeAttr.Trap> |
trapsHash |
protected DataVectorAttr<TypeAnnotationData> |
type_annotAttrInv |
protected DataVectorAttr<TypeAnnotationData> |
type_annotAttrVis |
protected Instr |
zeroInstr |
Constructor and Description |
---|
CodeAttr(MethodData mtd,
int pos,
int paramcnt,
Argument max_stack,
Argument max_locals) |
Modifier and Type | Method and Description |
---|---|
void |
addAnnotations(java.util.ArrayList<AnnotationData> list) |
(package private) void |
addInstr(int mnenoc_pos,
OpcodeTables.Opcode opcode,
Argument arg,
java.lang.Object arg2) |
int |
attrLength() |
(package private) void |
beginTrap(int pos,
java.lang.String name) |
(package private) void |
checkLabels() |
(package private) void |
checkLocVars() |
(package private) void |
checkTraps() |
(package private) void |
endCode() |
(package private) void |
endTrap(int pos,
java.lang.String name) |
StackMapData |
getStackMap() |
(package private) CodeAttr.Label |
labelDecl(java.lang.String name) |
CodeAttr.Label |
LabelDef(int pos,
java.lang.String name) |
CodeAttr.Label |
LabelRef(java.lang.String name) |
void |
LocVarDataDef(int slot) |
void |
LocVarDataDef(java.lang.String name,
ConstantPool.ConstCell type) |
void |
LocVarDataEnd(int slot) |
void |
LocVarDataEnd(java.lang.String name) |
Argument |
LocVarDataRef(java.lang.String name) |
(package private) CodeAttr.LocVarData |
locvarDecl(java.lang.String name) |
(package private) CodeAttr.Trap |
trapDecl(int pos,
java.lang.String name) |
(package private) void |
trapHandler(int pos,
java.lang.String name,
Argument type) |
void |
write(CheckedDataOutputStream out) |
getClassData, getLength
protected ClassData cls
protected MethodData mtd
protected Environment env
protected Argument max_stack
protected Argument max_locals
protected Instr zeroInstr
protected Instr lastInstr
protected int cur_pc
protected DataVector<CodeAttr.TrapData> trap_table
protected DataVectorAttr<CodeAttr.LineNumData> lin_num_tb
protected int lastln
protected DataVectorAttr<CodeAttr.LocVarData> loc_var_tb
protected DataVector<DataVectorAttr<? extends Data>> attrs
protected java.util.ArrayList<java.lang.Integer> slots
protected java.util.HashMap<java.lang.String,CodeAttr.LocVarData> locvarsHash
protected java.util.HashMap<java.lang.String,CodeAttr.Label> labelsHash
protected java.util.HashMap<java.lang.String,CodeAttr.Trap> trapsHash
protected StackMapData curMapEntry
protected DataVectorAttr<StackMapData> stackMap
protected DataVectorAttr<TypeAnnotationData> type_annotAttrVis
protected DataVectorAttr<TypeAnnotationData> type_annotAttrInv
public CodeAttr(MethodData mtd, int pos, int paramcnt, Argument max_stack, Argument max_locals)
void endCode()
public void addAnnotations(java.util.ArrayList<AnnotationData> list)
CodeAttr.Trap trapDecl(int pos, java.lang.String name)
void beginTrap(int pos, java.lang.String name)
void endTrap(int pos, java.lang.String name)
void trapHandler(int pos, java.lang.String name, Argument type)
void checkTraps()
CodeAttr.Label labelDecl(java.lang.String name)
public CodeAttr.Label LabelDef(int pos, java.lang.String name)
public CodeAttr.Label LabelRef(java.lang.String name)
void checkLabels()
CodeAttr.LocVarData locvarDecl(java.lang.String name)
public void LocVarDataDef(int slot)
public void LocVarDataDef(java.lang.String name, ConstantPool.ConstCell type)
public Argument LocVarDataRef(java.lang.String name)
public void LocVarDataEnd(int slot)
public void LocVarDataEnd(java.lang.String name)
void checkLocVars()
public StackMapData getStackMap()
void addInstr(int mnenoc_pos, OpcodeTables.Opcode opcode, Argument arg, java.lang.Object arg2)
public int attrLength()
attrLength
in class AttrData
public void write(CheckedDataOutputStream out) throws java.io.IOException, Parser.CompilerError
write
in interface Data
write
in class AttrData
java.io.IOException
Parser.CompilerError