Documentation ¶
Index ¶
Constants ¶
View Source
const ( //Array Type atype AT_BOOLEAN = 4 AT_CHAR = 5 AT_FLOAT = 6 AT_DOUBLE = 7 AT_BYTE = 8 AT_SHORT = 9 AT_INT = 10 AT_LONG = 11 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ANEW_ARRAY ¶ added in v1.8.0
type ANEW_ARRAY struct{ base.Index16Instruction }
Create new array of reference 引用类型数组需要两个操作数 第一个16位操作数用来表示从当前类的运行时常量池中找到类符号引用 第二个操作数是数组长度
func (*ANEW_ARRAY) Execute ¶ added in v1.8.0
func (self *ANEW_ARRAY) Execute(frame *rtda.Frame)
type ARRAY_LENGTH ¶ added in v1.8.0
type ARRAY_LENGTH struct{ base.NoOperandsInstruction }
Get length of array
func (*ARRAY_LENGTH) Execute ¶ added in v1.8.0
func (self *ARRAY_LENGTH) Execute(frame *rtda.Frame)
type CHECK_CAST ¶
type CHECK_CAST struct{ base.Index16Instruction }
func (*CHECK_CAST) Execute ¶
func (self *CHECK_CAST) Execute(frame *rtda.Frame)
type GET_FIELD ¶
type GET_FIELD struct{ base.Index16Instruction }
type GET_STATIC ¶
type GET_STATIC struct{ base.Index16Instruction }
func (*GET_STATIC) Execute ¶
func (self *GET_STATIC) Execute(frame *rtda.Frame)
type INSTANCE_OF ¶
type INSTANCE_OF struct{ base.Index16Instruction }
func (*INSTANCE_OF) Execute ¶
func (self *INSTANCE_OF) Execute(frame *rtda.Frame)
type INVOKE_INTERFACE ¶ added in v1.7.0
type INVOKE_INTERFACE struct {
// contains filtered or unexported fields
}
用于调用接口方法
func (*INVOKE_INTERFACE) Execute ¶ added in v1.7.0
func (self *INVOKE_INTERFACE) Execute(frame *rtda.Frame)
func (*INVOKE_INTERFACE) FetchOperands ¶ added in v1.7.0
func (self *INVOKE_INTERFACE) FetchOperands(reader *base.BytecodeReader)
invoke_interface指令需要读取32位的操作码 前2字节和其他指令一样,作为运行池索引 后两个字节中,第一个字节表示方法参数数量,第二个字节留给oracle的某些虚拟机实现使用的
type INVOKE_SPECIAL ¶
type INVOKE_SPECIAL struct{ base.Index16Instruction }
用于调用构造函数
func (*INVOKE_SPECIAL) Execute ¶
func (self *INVOKE_SPECIAL) Execute(frame *rtda.Frame)
type INVOKE_STATIC ¶ added in v1.7.0
type INVOKE_STATIC struct{ base.Index16Instruction }
调用静态方法
func (*INVOKE_STATIC) Execute ¶ added in v1.7.0
func (self *INVOKE_STATIC) Execute(frame *rtda.Frame)
type INVOKE_VIRTUAL ¶
type INVOKE_VIRTUAL struct{ base.Index16Instruction }
invoke_virtual用来调用实例方法
func (*INVOKE_VIRTUAL) Execute ¶
func (self *INVOKE_VIRTUAL) Execute(frame *rtda.Frame)
type MULTI_ANEW_ARRAY ¶ added in v1.8.0
type MULTI_ANEW_ARRAY struct {
// contains filtered or unexported fields
}
Create new multidimensional array
func (*MULTI_ANEW_ARRAY) Execute ¶ added in v1.8.0
func (self *MULTI_ANEW_ARRAY) Execute(frame *rtda.Frame)
func (*MULTI_ANEW_ARRAY) FetchOperands ¶ added in v1.8.0
func (self *MULTI_ANEW_ARRAY) FetchOperands(reader *base.BytecodeReader)
type NEW ¶
type NEW struct {
base.Index16Instruction
}
type NEW_ARRAY ¶ added in v1.8.0
type NEW_ARRAY struct {
// contains filtered or unexported fields
}
Create new array newarray需要两个操作数 第一个操作数表示数组的类型 type 第二个操作数表示数组的长度 count
func (*NEW_ARRAY) FetchOperands ¶ added in v1.8.0
func (self *NEW_ARRAY) FetchOperands(reader *base.BytecodeReader)
获取type
type PUT_FIELD ¶
type PUT_FIELD struct{ base.Index16Instruction }
type PUT_STATIC ¶
type PUT_STATIC struct {
base.Index16Instruction
}
* putstatic要给静态变量赋值
func (PUT_STATIC) Execute ¶
func (self PUT_STATIC) Execute(frame *rtda.Frame)
Click to show internal directories.
Click to hide internal directories.