| 限定符和类型 | 方法和说明 |
|---|---|
void |
CompilerContext.addByteCode(ByteCode byteCode)
为当前方法增加指令
|
| 限定符和类型 | 方法和说明 |
|---|---|
List<ByteCode> |
ExpressionCode.getByteCodes() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ExpressionCode.addByteCode(ByteCode byteCode) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ExpressionCode.setByteCodes(List<ByteCode> byteCodes) |
| 构造器和说明 |
|---|
ExpressionCode(List<ByteCode> byteCodes) |
| 限定符和类型 | 方法和说明 |
|---|---|
static Class<? extends ByteCode> |
ByteCodeUtils.getByteCodeByOperatorCode(int operatorCode) |
| 限定符和类型 | 方法和说明 |
|---|---|
static Class<?>[] |
ByteCodeUtils.getOperatorClasses(Class<? extends ByteCode> clazz) |
static int |
ByteCodeUtils.getOperatorCode(Class<? extends ByteCode> clazz) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
_goto
跳转指令,无条件跳转
< before → after >
< → >
|
class |
_ifeq
跳转指令,等于0时跳转
< before → after >
< value → >
|
class |
_ifge
大于等于0时跳转
< before → after >
< value → >
|
class |
_ifgt
大于0时跳转
< before → after >
< value → >
|
class |
_ifle
小于等于0时跳转
< before → after >
< value → >
|
class |
_iflt
小于0时跳转
< before → after >
< value → >
|
class |
_ifne
跳转指令,不等于0时跳转
< before → after >
< value → >
|
class |
ConditionalControlTransfer
条件跳转指令的基类
|
class |
ControlTransfer
跳转指令的抽象基类
|
| 限定符和类型 | 类和说明 |
|---|---|
class |
_add
相加
< before → after >
< value1, value2 → result >
|
class |
_and
位与
< before → after >
< value1, value2 → result >
|
class |
_cmp
比较两个变量的大小
0:相同
1:value1 > value2
-1:value1 < value2
< before → after >
< value1, value2 → result >
|
class |
_div
除法
< before → after >
< value1, value2 → result >
|
class |
_mul
乘法
< before → after >
< value1, value2 → result >
|
class |
_neg
取负数
< before → after >
< value → result >
|
class |
_or
位或
< before → after >
< value1, value2 → result >
|
class |
_rem
求余
< before → after >
< value1, value2 → result >
|
class |
_shl
循环左移
< before → after >
< value1, value2 → result >
|
class |
_shr
循环右移
< before → after >
< value1, value2 → result >
|
class |
_sub
相减
< before → after >
< value1, value2 → result >
|
class |
_ushr
无符号右移
< before → after >
< value1, value2 → result >
|
class |
_xor
位异或
< before → after >
< value1, value2 → result >
|
class |
Compute
运算指令的抽象基类
|
| 限定符和类型 | 类和说明 |
|---|---|
class |
_invokestatic
方法调用指令
< before → after >
< arg1,arg2,... → result >
|
class |
_return
返回类型为void的方法的返回指令
< before → after >
< → [empty] >
|
class |
Invoke
方法调用的字节码的基类
|
class |
Return
返回字节码的基类
|
| 限定符和类型 | 类和说明 |
|---|---|
class |
_newarray
一维数组创建指令
< before → after >
< item1,item2,... → array >
|
class |
ObjectCreate |
| 限定符和类型 | 类和说明 |
|---|---|
class |
_aaload
加载数组元素
< before → after >
< array, index → item >
|
class |
_bconst |
class |
_cconst |
class |
_dconst
加载double常量
< before → after >
< → value >
|
class |
_lconst
加载long常量
< before → after >
< → value >
|
class |
_nconst
加载null常量
< before → after >
< → value >
|
class |
_pload
加载属性值
< before → after >
< → value >
|
class |
_sconst
加载String常量
< before → after >
< → value >
|
class |
Const |
class |
Load
存储加载指令的抽象基类
|
Copyright © 2020. All rights reserved.