public class ASMCodeGenerator extends Object implements CodeGenerator
| 构造器和说明 |
|---|
ASMCodeGenerator(AviatorClassLoader classLoader,
OutputStream traceOut,
boolean trace) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
getLocalIndex() |
Expression |
getResult() |
void |
initMethods(Map<String,Integer> methods) |
void |
initVariables(Map<String,Integer> varTokens) |
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 |
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 |
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 |
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 |
onTernaryLeft(Token<?> lookhead) |
void |
onTernaryRight(Token<?> lookhead) |
void |
onUnsignedShiftRight(Token<?> lookhead) |
void |
pushOperand(int extras) |
void |
start() |
public ASMCodeGenerator(AviatorClassLoader classLoader, OutputStream traceOut, boolean trace)
public void start()
public void onAdd(Token<?> lookhead)
onAdd 在接口中 CodeGeneratorpublic void onSub(Token<?> lookhead)
onSub 在接口中 CodeGeneratorpublic void onMult(Token<?> lookhead)
onMult 在接口中 CodeGeneratorpublic void onDiv(Token<?> lookhead)
onDiv 在接口中 CodeGeneratorpublic void onMod(Token<?> lookhead)
onMod 在接口中 CodeGeneratorpublic void onAndLeft(Token<?> lookhead)
onAndLeft 在接口中 CodeGeneratorpublic void onAndRight(Token<?> lookhead)
onAndRight 在接口中 CodeGeneratorpublic void onTernaryBoolean(Token<?> lookhead)
onTernaryBoolean 在接口中 CodeGeneratorpublic void onTernaryLeft(Token<?> lookhead)
onTernaryLeft 在接口中 CodeGeneratorpublic void onTernaryRight(Token<?> lookhead)
onTernaryRight 在接口中 CodeGeneratorpublic void onJoinRight(Token<?> lookhead)
onJoinRight 在接口中 CodeGeneratorpublic void onJoinLeft(Token<?> lookhead)
onJoinLeft 在接口中 CodeGeneratorpublic void onEq(Token<?> lookhead)
onEq 在接口中 CodeGeneratorpublic void onMatch(Token<?> lookhead)
onMatch 在接口中 CodeGeneratorpublic void onNeq(Token<?> lookhead)
onNeq 在接口中 CodeGeneratorpublic void onGe(Token<?> lookhead)
onGe 在接口中 CodeGeneratorpublic void onGt(Token<?> lookhead)
onGt 在接口中 CodeGeneratorpublic void onLe(Token<?> lookhead)
onLe 在接口中 CodeGeneratorpublic void onLt(Token<?> lookhead)
onLt 在接口中 CodeGeneratorpublic void pushOperand(int extras)
extras - 额外的栈空间大小public void onNot(Token<?> lookhead)
onNot 在接口中 CodeGeneratorpublic void onBitNot(Token<?> lookhead)
onBitNot 在接口中 CodeGeneratorpublic void onNeg(Token<?> lookhead)
onNeg 在接口中 CodeGeneratorpublic Expression getResult()
getResult 在接口中 CodeGeneratorpublic void onConstant(Token<?> lookhead)
onConstant 在接口中 CodeGeneratorpublic void onMethodInvoke(Token<?> lookhead)
onMethodInvoke 在接口中 CodeGeneratorpublic void onMethodParameter(Token<?> lookhead)
onMethodParameter 在接口中 CodeGeneratorpublic void onArray(Token<?> lookhead)
onArray 在接口中 CodeGeneratorpublic void onArrayIndexStart(Token<?> token)
onArrayIndexStart 在接口中 CodeGeneratorpublic void onArrayIndexEnd(Token<?> lookhead)
onArrayIndexEnd 在接口中 CodeGeneratorpublic int getLocalIndex()
public void onMethodName(Token<?> lookhead)
onMethodName 在接口中 CodeGeneratorpublic void onBitAnd(Token<?> lookhead)
onBitAnd 在接口中 CodeGeneratorpublic void onBitOr(Token<?> lookhead)
onBitOr 在接口中 CodeGeneratorpublic void onBitXor(Token<?> lookhead)
onBitXor 在接口中 CodeGeneratorpublic void onShiftLeft(Token<?> lookhead)
onShiftLeft 在接口中 CodeGeneratorpublic void onShiftRight(Token<?> lookhead)
onShiftRight 在接口中 CodeGeneratorpublic void onUnsignedShiftRight(Token<?> lookhead)
onUnsignedShiftRight 在接口中 CodeGeneratorCopyright © 2017. All Rights Reserved.