func (self *TABLE_SWITCH) FetchOperands(reader *base.BytecodeReader) { reader.SkipPadding() self.defaultOffset = reader.ReadInt32() self.low = reader.ReadInt32() self.high = reader.ReadInt32() jumpOffsetsCount := self.high - self.low + 1 self.jumpOffsets = reader.ReadInt32s(jumpOffsetsCount) }
func (self *IINC) FetchOperands(reader *base.BytecodeReader) { self.Index = uint(reader.ReadUint8()) self.Const = int32(reader.ReadInt8()) }
func (self *INVOKE_INTERFACE) FetchOperands(reader *base.BytecodeReader) { self.index = uint(reader.ReadUint16()) reader.ReadUint8() // count reader.ReadUint8() // must be 0 }
func (self *LOOKUP_SWITCH) FetchOperands(reader *base.BytecodeReader) { reader.SkipPadding() self.defaultOffset = reader.ReadInt32() self.npairs = reader.ReadInt32() self.matchOffsets = reader.ReadInt32s(self.npairs * 2) }
func (self *MULTI_ANEW_ARRAY) FetchOperands(reader *base.BytecodeReader) { self.index = reader.ReadUint16() self.dimensions = reader.ReadUint8() }
func (self *NEW_ARRAY) FetchOperands(reader *base.BytecodeReader) { self.atype = reader.ReadUint8() }
func (self *JSR_W) FetchOperands(reader *base.BytecodeReader) { self.offset = int(reader.ReadInt32()) }
func (self *SIPUSH) FetchOperands(reader *base.BytecodeReader) { self.val = reader.ReadInt16() }
func (self *INVOKE_DYNAMIC) FetchOperands(reader *base.BytecodeReader) { self.index = reader.ReadUint16() reader.ReadUint8() // must be 0 reader.ReadUint8() // must be 0 }
func (self *WIDE) FetchOperands(reader *base.BytecodeReader) { opcode := reader.ReadUint8() switch opcode { case 0x15: inst := &loads.ILOAD{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x16: inst := &loads.LLOAD{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x17: inst := &loads.FLOAD{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x18: inst := &loads.DLOAD{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x19: inst := &loads.ALOAD{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x36: inst := &stores.ISTORE{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x37: inst := &stores.LSTORE{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x38: inst := &stores.FSTORE{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x39: inst := &stores.DSTORE{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x3a: inst := &stores.ASTORE{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0xa9: inst := &control.RET{} inst.Index = uint(reader.ReadUint16()) self.modifiedInstruction = inst case 0x84: inst := &math.IINC{} inst.Index = uint(reader.ReadUint16()) inst.Const = int32(reader.ReadInt16()) self.modifiedInstruction = inst } }