| 限定符和类型 | 方法和说明 |
|---|---|
MagicScriptCompiler |
MagicScriptCompiler.arithmetic(String methodName)
执行算术运算
|
MagicScriptCompiler |
MagicScriptCompiler.asBoolean()
将boolean值装箱
|
MagicScriptCompiler |
MagicScriptCompiler.asInteger()
将int值装箱
|
MagicScriptCompiler |
MagicScriptCompiler.bipush(int value) |
MagicScriptCompiler |
MagicScriptCompiler.bit(String methodName)
位运算
|
MagicScriptCompiler |
MagicScriptCompiler.call(String methodName,
int arguments)
invokedynamic调用
|
MagicScriptCompiler |
MagicScriptCompiler.compile(List<? extends Node> nodes)
编译
|
MagicScriptCompiler |
MagicScriptCompiler.compile(Node node)
编译AST节点
|
MagicScriptCompiler |
MagicScriptCompiler.compile(Node node,
boolean pop)
编译AST节点
|
MagicScriptCompiler |
MagicScriptCompiler.createMethod(int access,
String methodName,
String descriptor)
创建方法
|
MagicScriptCompiler |
MagicScriptCompiler.end()
跳转到break位置
|
MagicScriptCompiler |
MagicScriptCompiler.exitLabel()
消除标记
|
MagicScriptCompiler |
MagicScriptCompiler.insn(int opcode) |
MagicScriptCompiler |
MagicScriptCompiler.invoke(int opcode,
Class<?> target,
String method,
boolean isInterface,
Class<?> returnType,
Class<?>... argumentTypes)
调用方法
|
MagicScriptCompiler |
MagicScriptCompiler.invoke(int opcode,
Class<?> target,
String method,
Class<?> returnType,
Class<?>... argumentTypes)
调用方法
|
MagicScriptCompiler |
MagicScriptCompiler.jump(int opcode,
Label label)
跳转
|
MagicScriptCompiler |
MagicScriptCompiler.label(Label label) |
MagicScriptCompiler |
MagicScriptCompiler.lambda(String methodName)
将方法转为lambda
|
MagicScriptCompiler |
MagicScriptCompiler.ldc(Object value) |
MagicScriptCompiler |
MagicScriptCompiler.lineNumber(Span span) |
MagicScriptCompiler |
MagicScriptCompiler.load(int index)
加载变量
|
MagicScriptCompiler |
MagicScriptCompiler.load(String name)
加载变量
|
MagicScriptCompiler |
MagicScriptCompiler.load(VarIndex varIndex)
加载变量
|
MagicScriptCompiler |
MagicScriptCompiler.load0()
加载this
|
MagicScriptCompiler |
MagicScriptCompiler.load1()
加载context
|
MagicScriptCompiler |
MagicScriptCompiler.load2()
加载Variables
|
MagicScriptCompiler |
MagicScriptCompiler.load3()
加载3号变量,一般指异常(临时变量)
|
MagicScriptCompiler |
MagicScriptCompiler.loadContext() |
MagicScriptCompiler |
MagicScriptCompiler.markLabel(Label start,
Label end)
标识continue和break位置
|
MagicScriptCompiler |
MagicScriptCompiler.newArray(List<Expression> values)
编译数组
|
MagicScriptCompiler |
MagicScriptCompiler.newRuntimeContext() |
MagicScriptCompiler |
MagicScriptCompiler.operator(String methodName)
二元运算
|
MagicScriptCompiler |
MagicScriptCompiler.pop() |
MagicScriptCompiler |
MagicScriptCompiler.pre_store(int index)
写变量前的准备
|
MagicScriptCompiler |
MagicScriptCompiler.pre_store(VarIndex varIndex)
写变量前的准备
|
MagicScriptCompiler |
MagicScriptCompiler.remove(String name)
移除变量
|
MagicScriptCompiler |
MagicScriptCompiler.remove(VarIndex varIndex)
移除变量
|
MagicScriptCompiler |
MagicScriptCompiler.scopeStore()
配合pre_store使用,保存至数组中
|
MagicScriptCompiler |
MagicScriptCompiler.start()
跳转到continue位置
|
MagicScriptCompiler |
MagicScriptCompiler.store()
配合pre_store使用,保存至数组中
|
MagicScriptCompiler |
MagicScriptCompiler.store(int index)
保存变量
|
MagicScriptCompiler |
MagicScriptCompiler.store(VarIndex varIndex)
配合pre_store使用,保存至数组中
|
MagicScriptCompiler |
MagicScriptCompiler.tryCatch(Label start,
Label end,
Label handle,
Class<?> target) |
MagicScriptCompiler |
MagicScriptCompiler.typeInsn(int opcode,
Class<?> target) |
MagicScriptCompiler |
MagicScriptCompiler.visit(List<? extends Node> nodes)
访问
|
MagicScriptCompiler |
MagicScriptCompiler.visit(Node node)
访问AST节点
|
MagicScriptCompiler |
MagicScriptCompiler.visitInt(int value)
编译int值
|
| 限定符和类型 | 方法和说明 |
|---|---|
default void |
VariableSetter.compile_visit_variable(MagicScriptCompiler compiler) |
void |
UnaryOperation.compile(MagicScriptCompiler compiler) |
void |
TernaryOperation.compile(MagicScriptCompiler compiler) |
void |
Node.compile(MagicScriptCompiler compiler) |
void |
Literal.compile(MagicScriptCompiler compiler) |
void |
LanguageExpression.compile(MagicScriptCompiler compiler) |
void |
UnaryOperation.visitMethod(MagicScriptCompiler compiler) |
void |
TernaryOperation.visitMethod(MagicScriptCompiler compiler) |
void |
Node.visitMethod(MagicScriptCompiler compiler) |
void |
BinaryOperation.visitMethod(MagicScriptCompiler compiler) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
XorOperation.compile(MagicScriptCompiler compiler) |
void |
SubtractionOperation.compile(MagicScriptCompiler compiler) |
void |
RShiftOperation.compile(MagicScriptCompiler compiler) |
void |
RShift2Operation.compile(MagicScriptCompiler compiler) |
void |
OrOperation.compile(MagicScriptCompiler compiler) |
void |
NotEqualOperation.compile(MagicScriptCompiler compiler) |
void |
MultiplicationOperation.compile(MagicScriptCompiler compiler) |
void |
ModuloOperation.compile(MagicScriptCompiler compiler) |
void |
LShiftOperation.compile(MagicScriptCompiler compiler) |
void |
LessOperation.compile(MagicScriptCompiler compiler) |
void |
LessEqualOperation.compile(MagicScriptCompiler compiler) |
void |
GreaterOperation.compile(MagicScriptCompiler compiler) |
void |
GreaterEqualOperation.compile(MagicScriptCompiler compiler) |
void |
EqualOperation.compile(MagicScriptCompiler compiler) |
void |
DivisionOperation.compile(MagicScriptCompiler compiler) |
void |
BitOrOperation.compile(MagicScriptCompiler compiler) |
void |
BitAndOperation.compile(MagicScriptCompiler compiler) |
void |
AssigmentOperation.compile(MagicScriptCompiler compiler) |
void |
AndOperation.compile(MagicScriptCompiler compiler) |
void |
AddOperation.compile(MagicScriptCompiler compiler) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
WholeLiteral.compile(MagicScriptCompiler compiler) |
void |
LinqSelect.compile(MagicScriptCompiler compiler) |
void |
LinqJoin.compile(MagicScriptCompiler compiler) |
void |
LinqExpression.compile(MagicScriptCompiler compiler) |
void |
LinqSelect.visitMethod(MagicScriptCompiler compiler) |
void |
LinqJoin.visitMethod(MagicScriptCompiler compiler) |
void |
LinqExpression.visitMethod(MagicScriptCompiler compiler) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
StringLiteral.compile(MagicScriptCompiler compiler) |
void |
ShortLiteral.compile(MagicScriptCompiler context) |
void |
RegexpLiteral.compile(MagicScriptCompiler context) |
void |
NullLiteral.compile(MagicScriptCompiler context) |
void |
MapLiteral.compile(MagicScriptCompiler compiler) |
void |
LongLiteral.compile(MagicScriptCompiler context) |
void |
ListLiteral.compile(MagicScriptCompiler compiler) |
void |
IntegerLiteral.compile(MagicScriptCompiler context) |
void |
FloatLiteral.compile(MagicScriptCompiler context) |
void |
DoubleLiteral.compile(MagicScriptCompiler context) |
void |
ByteLiteral.compile(MagicScriptCompiler context) |
void |
BooleanLiteral.compile(MagicScriptCompiler compiler) |
void |
BigDecimalLiteral.compile(MagicScriptCompiler compiler) |
void |
StringLiteral.visitMethod(MagicScriptCompiler compiler) |
void |
MapLiteral.visitMethod(MagicScriptCompiler compiler) |
void |
ListLiteral.visitMethod(MagicScriptCompiler compiler) |
Copyright © 2020–2021. All rights reserved.