Package org.openjdk.asmtools.jasm
Class CodeAttr
- java.lang.Object
-
- org.openjdk.asmtools.jasm.AttrData
-
- org.openjdk.asmtools.jasm.CodeAttr
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description CodeAttr(MethodData mtd, int pos, int paramcnt, Argument max_stack, Argument max_locals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
Methods inherited from class org.openjdk.asmtools.jasm.AttrData
getClassData, getLength
-
-
-
-
Field Detail
-
cls
protected ClassData cls
-
mtd
protected MethodData mtd
-
env
protected Environment env
-
max_stack
protected Argument max_stack
-
max_locals
protected Argument max_locals
-
zeroInstr
protected Instr zeroInstr
-
lastInstr
protected Instr lastInstr
-
cur_pc
protected int cur_pc
-
trap_table
protected DataVector<CodeAttr.TrapData> trap_table
-
lin_num_tb
protected DataVectorAttr<CodeAttr.LineNumData> lin_num_tb
-
lastln
protected int lastln
-
loc_var_tb
protected DataVectorAttr<CodeAttr.LocVarData> loc_var_tb
-
attrs
protected DataVector<DataVectorAttr<? extends Data>> attrs
-
slots
protected java.util.ArrayList<java.lang.Integer> slots
-
locvarsHash
protected java.util.HashMap<java.lang.String,CodeAttr.LocVarData> locvarsHash
-
labelsHash
protected java.util.HashMap<java.lang.String,CodeAttr.Label> labelsHash
-
trapsHash
protected java.util.HashMap<java.lang.String,CodeAttr.Trap> trapsHash
-
curMapEntry
protected StackMapData curMapEntry
-
stackMap
protected DataVectorAttr<StackMapData> stackMap
-
type_annotAttrVis
protected DataVectorAttr<TypeAnnotationData> type_annotAttrVis
-
type_annotAttrInv
protected DataVectorAttr<TypeAnnotationData> type_annotAttrInv
-
-
Constructor Detail
-
CodeAttr
public CodeAttr(MethodData mtd, int pos, int paramcnt, Argument max_stack, Argument max_locals)
-
-
Method Detail
-
endCode
void endCode()
-
addAnnotations
public void addAnnotations(java.util.ArrayList<AnnotationData> list)
-
trapDecl
CodeAttr.Trap trapDecl(int pos, java.lang.String name)
-
beginTrap
void beginTrap(int pos, java.lang.String name)
-
endTrap
void endTrap(int pos, java.lang.String name)
-
trapHandler
void trapHandler(int pos, java.lang.String name, Argument type)
-
checkTraps
void checkTraps()
-
labelDecl
CodeAttr.Label labelDecl(java.lang.String name)
-
LabelDef
public CodeAttr.Label LabelDef(int pos, java.lang.String name)
-
LabelRef
public CodeAttr.Label LabelRef(java.lang.String name)
-
checkLabels
void checkLabels()
-
locvarDecl
CodeAttr.LocVarData locvarDecl(java.lang.String name)
-
LocVarDataDef
public void LocVarDataDef(int slot)
-
LocVarDataDef
public void LocVarDataDef(java.lang.String name, ConstantPool.ConstCell type)
-
LocVarDataRef
public Argument LocVarDataRef(java.lang.String name)
-
LocVarDataEnd
public void LocVarDataEnd(int slot)
-
LocVarDataEnd
public void LocVarDataEnd(java.lang.String name)
-
checkLocVars
void checkLocVars()
-
getStackMap
public StackMapData getStackMap()
-
addInstr
void addInstr(int mnenoc_pos, OpcodeTables.Opcode opcode, Argument arg, java.lang.Object arg2)
-
attrLength
public int attrLength()
- Overrides:
attrLength
in classAttrData
-
write
public void write(CheckedDataOutputStream out) throws java.io.IOException, Parser.CompilerError
- Specified by:
write
in interfaceData
- Overrides:
write
in classAttrData
- Throws:
java.io.IOException
Parser.CompilerError
-
-