Documentation ¶
Index ¶
- type ByteCode
- func LookupSwitch(op string, p *uint32, r io.Reader) (bc *ByteCode, err error)
- func Read(r io.Reader) (codes []*ByteCode, err error)
- func Simple(op string, c *Context) (*ByteCode, error)
- func TableSwitch(op string, p *uint32, r io.Reader) (bc *ByteCode, err error)
- func Wide(op string, p *uint32, r io.Reader) (bc *ByteCode, err error)
- func WithArgs(op string, c *Context, index bool, count int) (bc *ByteCode, err error)
- type Context
- type MatchOffset
- type Reader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ByteCode ¶
func TableSwitch ¶
A tableswitch is a variable-length instruction. Immediately after the tableswitch opcode, between zero and three bytes must act as padding, such that defaultbyte1 begins at an address that is a multiple of four bytes from the start of the current method (the opcode of its first instruction). Immediately after the padding are bytes constituting three signed 32-bit values: default, low, and high. Immediately following are bytes constituting a series of high - low + 1 signed 32-bit offsets. The value low must be less than or equal to high. The high - low + 1 signed 32-bit offsets are treated as a 0-based jump table. Each of these signed 32-bit values is constructed as (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4.
func (*ByteCode) StringWithIndex ¶
func (bc *ByteCode) StringWithIndex(pool cpool.ConstantPool) string