public class LambdaGenerator extends Object implements CodeGenerator
Constructor and Description |
---|
LambdaGenerator(AviatorEvaluatorInstance instance,
CodeGenerator parentCodeGenerator,
Parser parser,
AviatorClassLoader classLoader,
String sourceFile,
boolean newLexicalScope,
boolean inheritEnv) |
Modifier and Type | Method and Description |
---|---|
void |
addParam(FunctionParam name) |
LambdaFunctionBootstrap |
getLmabdaBootstrap()
Compile a call method to invoke lambda compiled body expression.
|
Expression |
getResult(boolean unboxObject) |
ScopeInfo |
getScopeInfo() |
void |
onAdd(Token<?> lookhead) |
void |
onAndLeft(Token<?> lookhead) |
void |
onAndRight(Token<?> lookhead) |
void |
onArray(Token<?> lookhead) |
void |
onArrayIndexEnd(Token<?> lookhead) |
void |
onArrayIndexStart(Token<?> token) |
void |
onAssignment(Token<?> lookhead) |
void |
onBitAnd(Token<?> lookhead) |
void |
onBitNot(Token<?> lookhead) |
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) |
void |
onJoinRight(Token<?> lookhead) |
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) |
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 |
setParser(Parser parser) |
void |
setScopeInfo(ScopeInfo scopeInfo) |
public LambdaGenerator(AviatorEvaluatorInstance instance, CodeGenerator parentCodeGenerator, Parser parser, AviatorClassLoader classLoader, String sourceFile, boolean newLexicalScope, boolean inheritEnv)
public ScopeInfo getScopeInfo()
public void setScopeInfo(ScopeInfo scopeInfo)
public void setParser(Parser parser)
setParser
in interface CodeGenerator
public LambdaFunctionBootstrap getLmabdaBootstrap()
public void addParam(FunctionParam name)
public void onShiftRight(Token<?> lookhead)
onShiftRight
in interface CodeGenerator
public void onShiftLeft(Token<?> lookhead)
onShiftLeft
in interface CodeGenerator
public void onUnsignedShiftRight(Token<?> lookhead)
onUnsignedShiftRight
in interface CodeGenerator
public void onAssignment(Token<?> lookhead)
onAssignment
in interface CodeGenerator
public void onBitOr(Token<?> lookhead)
onBitOr
in interface CodeGenerator
public void onBitAnd(Token<?> lookhead)
onBitAnd
in interface CodeGenerator
public void onBitXor(Token<?> lookhead)
onBitXor
in interface CodeGenerator
public void onBitNot(Token<?> lookhead)
onBitNot
in interface CodeGenerator
public void onAdd(Token<?> lookhead)
onAdd
in interface CodeGenerator
public void onSub(Token<?> lookhead)
onSub
in interface CodeGenerator
public void onMult(Token<?> lookhead)
onMult
in interface CodeGenerator
public void onExponent(Token<?> lookhead)
onExponent
in interface CodeGenerator
public void onDiv(Token<?> lookhead)
onDiv
in interface CodeGenerator
public void onAndLeft(Token<?> lookhead)
onAndLeft
in interface CodeGenerator
public void onAndRight(Token<?> lookhead)
onAndRight
in interface CodeGenerator
public void onTernaryBoolean(Token<?> lookhead)
onTernaryBoolean
in interface CodeGenerator
public void onTernaryLeft(Token<?> lookhead)
onTernaryLeft
in interface CodeGenerator
public void onTernaryRight(Token<?> lookhead)
onTernaryRight
in interface CodeGenerator
public void onTernaryEnd(Token<?> lookhead)
onTernaryEnd
in interface CodeGenerator
public void onJoinLeft(Token<?> lookhead)
onJoinLeft
in interface CodeGenerator
public void onJoinRight(Token<?> lookhead)
onJoinRight
in interface CodeGenerator
public void onEq(Token<?> lookhead)
onEq
in interface CodeGenerator
public void onMatch(Token<?> lookhead)
onMatch
in interface CodeGenerator
public void onNeq(Token<?> lookhead)
onNeq
in interface CodeGenerator
public void onLt(Token<?> lookhead)
onLt
in interface CodeGenerator
public void onLe(Token<?> lookhead)
onLe
in interface CodeGenerator
public void onGt(Token<?> lookhead)
onGt
in interface CodeGenerator
public void onGe(Token<?> lookhead)
onGe
in interface CodeGenerator
public void onMod(Token<?> lookhead)
onMod
in interface CodeGenerator
public void onNot(Token<?> lookhead)
onNot
in interface CodeGenerator
public void onNeg(Token<?> lookhead)
onNeg
in interface CodeGenerator
public Expression getResult(boolean unboxObject)
getResult
in interface CodeGenerator
public void onConstant(Token<?> lookhead)
onConstant
in interface CodeGenerator
public void onMethodName(Token<?> lookhead)
onMethodName
in interface CodeGenerator
public void onMethodParameter(Token<?> lookhead)
onMethodParameter
in interface CodeGenerator
public void onMethodInvoke(Token<?> lookhead)
onMethodInvoke
in interface CodeGenerator
public void onLambdaDefineStart(Token<?> lookhead)
onLambdaDefineStart
in interface CodeGenerator
public void onLambdaArgument(Token<?> lookhead, FunctionParam param)
onLambdaArgument
in interface CodeGenerator
public void onLambdaBodyStart(Token<?> lookhead)
onLambdaBodyStart
in interface CodeGenerator
public void onLambdaBodyEnd(Token<?> lookhead)
onLambdaBodyEnd
in interface CodeGenerator
public void onArray(Token<?> lookhead)
onArray
in interface CodeGenerator
public void onArrayIndexStart(Token<?> token)
onArrayIndexStart
in interface CodeGenerator
public void onArrayIndexEnd(Token<?> lookhead)
onArrayIndexEnd
in interface CodeGenerator
Copyright © 2010–2021. All rights reserved.