类的使用
org.ssssssss.script.compile.MagicScriptCompiler
使用MagicScriptCompiler的程序包
程序包
说明
-
org.ssssssss.script.compile中MagicScriptCompiler的使用
修饰符和类型方法说明MagicScriptCompiler.arithmetic(String methodName) 执行算术运算MagicScriptCompiler.asBoolean()将boolean值装箱MagicScriptCompiler.asInteger()将int值装箱MagicScriptCompiler.bipush(int value) 位运算invokedynamic调用编译编译AST节点编译AST节点MagicScriptCompiler.createMethod(int access, String methodName, String descriptor) 创建方法MagicScriptCompiler.end()跳转到break位置MagicScriptCompiler.exitLabel()消除标记保存变量MagicScriptCompiler.insn(int opcode) MagicScriptCompiler.invoke(int opcode, Class<?> target, String method, boolean isInterface, Class<?> returnType, Class<?>... argumentTypes) 调用方法MagicScriptCompiler.invoke(int opcode, Class<?> target, String method, Class<?> returnType, Class<?>... argumentTypes) 调用方法跳转将方法转为lambdaMagicScriptCompiler.lineNumber(Span span) MagicScriptCompiler.load(int index) 加载变量加载变量加载变量MagicScriptCompiler.load0()加载thisMagicScriptCompiler.load1()加载contextMagicScriptCompiler.load2()加载VariablesMagicScriptCompiler.load3()加载3号变量,一般指异常(临时变量)MagicScriptCompiler.load4()MagicScriptCompiler.loadContext()标识continue和break位置MagicScriptCompiler.newArray(List<Expression> values) 编译数组MagicScriptCompiler.newRuntimeContext()二元运算MagicScriptCompiler.pop()MagicScriptCompiler.pre_store(int index) 写变量前的准备写变量前的准备移除变量移除变量MagicScriptCompiler.scopeStore()配合pre_store使用,保存至数组中MagicScriptCompiler.start()跳转到continue位置MagicScriptCompiler.store()配合pre_store使用,保存至数组中MagicScriptCompiler.store(int index) 保存变量配合pre_store使用,保存至数组中设定tryCatch跳转 如果在Label start到Label end代码范围内捕获到type异常,则跳转到Label handler type为null则表示finally,只要抛异常就跳转到handler访问访问AST节点MagicScriptCompiler.visitInt(int value) 编译int值 -
org.ssssssss.script.parsing.ast中MagicScriptCompiler的使用
修饰符和类型方法说明voidLanguageExpression.compile(MagicScriptCompiler compiler) voidLiteral.compile(MagicScriptCompiler compiler) voidNode.compile(MagicScriptCompiler compiler) voidTernaryOperation.compile(MagicScriptCompiler compiler) voidUnaryOperation.compile(MagicScriptCompiler compiler) default voidVariableSetter.compile_visit_variable(MagicScriptCompiler compiler) voidBinaryOperation.visitMethod(MagicScriptCompiler compiler) voidNode.visitMethod(MagicScriptCompiler compiler) voidTernaryOperation.visitMethod(MagicScriptCompiler compiler) voidUnaryOperation.visitMethod(MagicScriptCompiler compiler) -
org.ssssssss.script.parsing.ast.binary中MagicScriptCompiler的使用
修饰符和类型方法说明voidAddOperation.compile(MagicScriptCompiler compiler) voidAndOperation.compile(MagicScriptCompiler compiler) voidAssigmentOperation.compile(MagicScriptCompiler compiler) voidBitAndOperation.compile(MagicScriptCompiler compiler) voidBitOrOperation.compile(MagicScriptCompiler compiler) voidDivisionOperation.compile(MagicScriptCompiler compiler) voidEqualOperation.compile(MagicScriptCompiler compiler) voidGreaterEqualOperation.compile(MagicScriptCompiler compiler) voidGreaterOperation.compile(MagicScriptCompiler compiler) voidInstanceofOperation.compile(MagicScriptCompiler compiler) voidLessEqualOperation.compile(MagicScriptCompiler compiler) voidLessOperation.compile(MagicScriptCompiler compiler) voidLShiftOperation.compile(MagicScriptCompiler compiler) voidModuloOperation.compile(MagicScriptCompiler compiler) voidMultiplicationOperation.compile(MagicScriptCompiler compiler) voidNotEqualOperation.compile(MagicScriptCompiler compiler) voidOrOperation.compile(MagicScriptCompiler compiler) voidRShift2Operation.compile(MagicScriptCompiler compiler) voidRShiftOperation.compile(MagicScriptCompiler compiler) voidSubtractionOperation.compile(MagicScriptCompiler compiler) voidXorOperation.compile(MagicScriptCompiler compiler) -
org.ssssssss.script.parsing.ast.linq中MagicScriptCompiler的使用
修饰符和类型方法说明voidLinqExpression.compile(MagicScriptCompiler compiler) voidLinqJoin.compile(MagicScriptCompiler compiler) voidLinqSelect.compile(MagicScriptCompiler compiler) voidWholeLiteral.compile(MagicScriptCompiler compiler) voidLinqExpression.visitMethod(MagicScriptCompiler compiler) voidLinqJoin.visitMethod(MagicScriptCompiler compiler) voidLinqSelect.visitMethod(MagicScriptCompiler compiler) -
org.ssssssss.script.parsing.ast.literal中MagicScriptCompiler的使用
修饰符和类型方法说明voidBigDecimalLiteral.compile(MagicScriptCompiler compiler) voidBooleanLiteral.compile(MagicScriptCompiler compiler) voidByteLiteral.compile(MagicScriptCompiler context) voidDoubleLiteral.compile(MagicScriptCompiler context) voidFloatLiteral.compile(MagicScriptCompiler context) voidIntegerLiteral.compile(MagicScriptCompiler context) voidListLiteral.compile(MagicScriptCompiler compiler) voidLongLiteral.compile(MagicScriptCompiler context) voidMapLiteral.compile(MagicScriptCompiler compiler) voidNullLiteral.compile(MagicScriptCompiler context) voidRegexpLiteral.compile(MagicScriptCompiler context) voidShortLiteral.compile(MagicScriptCompiler context) voidStringLiteral.compile(MagicScriptCompiler compiler) voidListLiteral.visitMethod(MagicScriptCompiler compiler) voidMapLiteral.visitMethod(MagicScriptCompiler compiler) voidStringLiteral.visitMethod(MagicScriptCompiler compiler) -
org.ssssssss.script.parsing.ast.statement中MagicScriptCompiler的使用
修饰符和类型方法说明voidAssert.compile(MagicScriptCompiler compiler) voidAsyncCall.compile(MagicScriptCompiler compiler) voidBreak.compile(MagicScriptCompiler compiler) voidClassConverter.compile(MagicScriptCompiler compiler) voidContinue.compile(MagicScriptCompiler compiler) voidExit.compile(MagicScriptCompiler compiler) voidForStatement.compile(MagicScriptCompiler compiler) voidFunctionCall.compile(MagicScriptCompiler compiler) voidIfStatement.compile(MagicScriptCompiler compiler) voidImport.compile(MagicScriptCompiler compiler) voidLambdaFunction.compile(MagicScriptCompiler compiler) voidMapOrArrayAccess.compile(MagicScriptCompiler compiler) voidMemberAccess.compile(MagicScriptCompiler compiler) voidMethodCall.compile(MagicScriptCompiler compiler) voidNewStatement.compile(MagicScriptCompiler compiler) voidReturn.compile(MagicScriptCompiler compiler) voidSpread.compile(MagicScriptCompiler compiler) voidThrow.compile(MagicScriptCompiler compiler) voidTryStatement.compile(MagicScriptCompiler compiler) voidVariableAccess.compile(MagicScriptCompiler compiler) voidVariableDefine.compile(MagicScriptCompiler compiler) voidVariableDestructuringDefine.compile(MagicScriptCompiler compiler) voidWhileStatement.compile(MagicScriptCompiler compiler) voidMapOrArrayAccess.compile_visit_variable(MagicScriptCompiler compiler) voidMemberAccess.compile_visit_variable(MagicScriptCompiler compiler) voidMemberAccess.compileLinq(MagicScriptCompiler compiler) voidAssert.visitMethod(MagicScriptCompiler compiler) voidAsyncCall.visitMethod(MagicScriptCompiler compiler) voidClassConverter.visitMethod(MagicScriptCompiler compiler) voidExit.visitMethod(MagicScriptCompiler compiler) voidForStatement.visitMethod(MagicScriptCompiler compiler) voidFunctionCall.visitMethod(MagicScriptCompiler compiler) voidIfStatement.visitMethod(MagicScriptCompiler compiler) voidLambdaFunction.visitMethod(MagicScriptCompiler compiler) voidMapOrArrayAccess.visitMethod(MagicScriptCompiler compiler) voidMemberAccess.visitMethod(MagicScriptCompiler compiler) voidMethodCall.visitMethod(MagicScriptCompiler compiler) voidNewStatement.visitMethod(MagicScriptCompiler compiler) voidReturn.visitMethod(MagicScriptCompiler compiler) voidSpread.visitMethod(MagicScriptCompiler compiler) voidThrow.visitMethod(MagicScriptCompiler compiler) voidTryStatement.visitMethod(MagicScriptCompiler compiler) voidVariableDefine.visitMethod(MagicScriptCompiler compiler) voidVariableDestructuringDefine.visitMethod(MagicScriptCompiler compiler) voidWhileStatement.visitMethod(MagicScriptCompiler compiler)