public class ASMCodeGenerator extends BaseEvalCodeGenerator
| Modifier and Type | Class and Description |
|---|---|
static class |
ASMCodeGenerator.MethodMetaData |
| Modifier and Type | Field and Description |
|---|---|
static String |
FUNC_ARGS_INNER_VAR |
classLoader, compileEnv, funcsArgs, instance, lambdaBootstraps, lambdaGenerator, methodMetaDataStack, parentCodeGenerator, parser, sourceFile, symbolTable, variables| Constructor and Description |
|---|
ASMCodeGenerator(AviatorEvaluatorInstance instance,
String sourceFile,
AviatorClassLoader classLoader,
OutputStream traceOut) |
| Modifier and Type | Method and Description |
|---|---|
void |
genNewLambdaCode(LambdaFunctionBootstrap bootstrap) |
int |
getLocalIndex() |
Expression |
getResult(boolean unboxObject) |
void |
initConstants(Set<Token<?>> constants)
Initial constant pool.
|
void |
initMethods(Map<String,Integer> methods) |
void |
initVariables(Map<String,VariableMeta> vars) |
void |
onAdd(Token<?> lookhead) |
void |
onAndLeft(Token<?> lookhead)
Do logic operation "&&" left operand
|
void |
onAndRight(Token<?> lookhead)
Do logic operation "&&" right operand
|
void |
onArray(Token<?> lookhead) |
void |
onArrayIndexEnd(Token<?> lookhead) |
void |
onArrayIndexStart(Token<?> token) |
void |
onAssignment(Token<?> lookhead) |
void |
onBitAnd(Token<?> lookhead) |
void |
onBitNot(Token<?> lookhead)
Bit operation '~'
|
void |
onBitOr(Token<?> lookhead) |
void |
onBitXor(Token<?> lookhead) |
void |
onConstant(Token<?> lookhead) |
void |
onDiv(Token<?> lookhead) |
void |
onEq(Token<?> lookhead) |
void |
onExponent(Token<?> lookhead) |
void |
onGe(Token<?> lookhead) |
void |
onGt(Token<?> lookhead) |
void |
onJoinLeft(Token<?> lookhead)
Do logic operation "||" left operand
|
void |
onJoinRight(Token<?> lookhead)
Do logic operation "||" right operand
|
void |
onLambdaArgument(Token<?> lookhead,
FunctionParam param) |
void |
onLambdaBodyEnd(Token<?> lookhead) |
void |
onLambdaBodyStart(Token<?> lookhead) |
void |
onLambdaDefineStart(Token<?> lookhead) |
void |
onLe(Token<?> lookhead) |
void |
onLt(Token<?> lookhead) |
void |
onMatch(Token<?> lookhead) |
void |
onMethodInvoke(Token<?> lookhead) |
void |
onMethodName(Token<?> lookhead) |
void |
onMethodParameter(Token<?> lookhead) |
void |
onMod(Token<?> lookhead) |
void |
onMult(Token<?> lookhead) |
void |
onNeg(Token<?> lookhead) |
void |
onNeq(Token<?> lookhead) |
void |
onNot(Token<?> lookhead)
Logic operation '!'
|
void |
onShiftLeft(Token<?> lookhead) |
void |
onShiftRight(Token<?> lookhead) |
void |
onSub(Token<?> lookhead) |
void |
onTernaryBoolean(Token<?> lookhead) |
void |
onTernaryEnd(Token<?> lookhead) |
void |
onTernaryLeft(Token<?> lookhead) |
void |
onTernaryRight(Token<?> lookhead) |
void |
onUnsignedShiftRight(Token<?> lookhead) |
void |
start() |
getClassLoader, getFuncsArgs, getNextFuncInvocationId, setLambdaBootstraps, setParserpublic static final String FUNC_ARGS_INNER_VAR
public ASMCodeGenerator(AviatorEvaluatorInstance instance, String sourceFile, AviatorClassLoader classLoader, OutputStream traceOut)
public void start()
public void onAdd(Token<?> lookhead)
public void onSub(Token<?> lookhead)
public void onMult(Token<?> lookhead)
public void onExponent(Token<?> lookhead)
public void onAssignment(Token<?> lookhead)
public void onDiv(Token<?> lookhead)
public void onMod(Token<?> lookhead)
public void onAndLeft(Token<?> lookhead)
public void onAndRight(Token<?> lookhead)
public void onTernaryBoolean(Token<?> lookhead)
public void onTernaryLeft(Token<?> lookhead)
public void onTernaryRight(Token<?> lookhead)
public void onTernaryEnd(Token<?> lookhead)
public void onJoinRight(Token<?> lookhead)
public void onJoinLeft(Token<?> lookhead)
public void onEq(Token<?> lookhead)
public void onMatch(Token<?> lookhead)
public void onNeq(Token<?> lookhead)
public void onGe(Token<?> lookhead)
public void onGt(Token<?> lookhead)
public void onLe(Token<?> lookhead)
public void onLt(Token<?> lookhead)
public void onNot(Token<?> lookhead)
public void onBitNot(Token<?> lookhead)
public void onNeg(Token<?> lookhead)
public Expression getResult(boolean unboxObject)
public void onConstant(Token<?> lookhead)
public void initVariables(Map<String,VariableMeta> vars)
public void initConstants(Set<Token<?>> constants)
constants - public void onMethodInvoke(Token<?> lookhead)
public void onMethodParameter(Token<?> lookhead)
public void onArray(Token<?> lookhead)
public void onArrayIndexStart(Token<?> token)
public void onArrayIndexEnd(Token<?> lookhead)
public int getLocalIndex()
public void onLambdaDefineStart(Token<?> lookhead)
public void onLambdaArgument(Token<?> lookhead, FunctionParam param)
public void onLambdaBodyStart(Token<?> lookhead)
public void onLambdaBodyEnd(Token<?> lookhead)
public void genNewLambdaCode(LambdaFunctionBootstrap bootstrap)
public void onMethodName(Token<?> lookhead)
public void onBitAnd(Token<?> lookhead)
public void onBitOr(Token<?> lookhead)
public void onBitXor(Token<?> lookhead)
public void onShiftLeft(Token<?> lookhead)
public void onShiftRight(Token<?> lookhead)
public void onUnsignedShiftRight(Token<?> lookhead)
Copyright © 2010–2022. All rights reserved.