Class ASMCodeGenerator

java.lang.Object
com.googlecode.aviator.code.BaseEvalCodeGenerator
com.googlecode.aviator.code.asm.ASMCodeGenerator
All Implemented Interfaces:
CodeGenerator, EvalCodeGenerator

public class ASMCodeGenerator extends BaseEvalCodeGenerator
Code generator using asm
Author:
dennis
  • Field Details

  • Constructor Details

  • Method Details

    • start

      public void start()
    • onAdd

      public void onAdd(Token<?> lookhead)
    • onSub

      public void onSub(Token<?> lookhead)
    • onMult

      public void onMult(Token<?> lookhead)
    • onExponent

      public void onExponent(Token<?> lookhead)
    • onAssignment

      public void onAssignment(Token<?> lookhead)
    • onDiv

      public void onDiv(Token<?> lookhead)
    • onMod

      public void onMod(Token<?> lookhead)
    • onAndLeft

      public void onAndLeft(Token<?> lookhead)
      Do logic operation "invalid input: '&'invalid input: '&'" left operand
    • onAndRight

      public void onAndRight(Token<?> lookhead)
      Do logic operation "invalid input: '&'invalid input: '&'" right operand
    • onTernaryBoolean

      public void onTernaryBoolean(Token<?> lookhead)
    • onTernaryLeft

      public void onTernaryLeft(Token<?> lookhead)
    • onTernaryRight

      public void onTernaryRight(Token<?> lookhead)
    • onTernaryEnd

      public void onTernaryEnd(Token<?> lookhead)
    • onJoinRight

      public void onJoinRight(Token<?> lookhead)
      Do logic operation "||" right operand
    • onJoinLeft

      public void onJoinLeft(Token<?> lookhead)
      Do logic operation "||" left operand
    • onEq

      public void onEq(Token<?> lookhead)
    • onMatch

      public void onMatch(Token<?> lookhead)
    • onNeq

      public void onNeq(Token<?> lookhead)
    • onGe

      public void onGe(Token<?> lookhead)
    • onGt

      public void onGt(Token<?> lookhead)
    • onLe

      public void onLe(Token<?> lookhead)
    • onLt

      public void onLt(Token<?> lookhead)
    • onNot

      public void onNot(Token<?> lookhead)
      Logic operation '!'
    • onBitNot

      public void onBitNot(Token<?> lookhead)
      Bit operation '~'
    • onNeg

      public void onNeg(Token<?> lookhead)
    • getResult

      public Expression getResult(boolean unboxObject)
    • onConstant

      public void onConstant(Token<?> lookhead)
    • initVariables

      public void initVariables(Map<String, VariableMeta> vars)
    • initConstants

      public void initConstants(Set<Token<?>> constants)
      Initial constant pool.
      Parameters:
      constants -
    • initMethods

      public void initMethods(Map<String,Integer> methods)
      Specified by:
      initMethods in interface EvalCodeGenerator
      Overrides:
      initMethods in class BaseEvalCodeGenerator
    • onMethodInvoke

      public void onMethodInvoke(Token<?> lookhead)
    • onMethodParameter

      public void onMethodParameter(Token<?> lookhead)
    • onArray

      public void onArray(Token<?> lookhead)
    • onArrayIndexStart

      public void onArrayIndexStart(Token<?> token)
    • onArrayIndexEnd

      public void onArrayIndexEnd(Token<?> lookhead)
    • getLocalIndex

      public int getLocalIndex()
    • onLambdaDefineStart

      public void onLambdaDefineStart(Token<?> lookhead)
    • onLambdaArgument

      public void onLambdaArgument(Token<?> lookhead, FunctionParam param)
    • onLambdaBodyStart

      public void onLambdaBodyStart(Token<?> lookhead)
    • onLambdaBodyEnd

      public void onLambdaBodyEnd(Token<?> lookhead)
    • genNewLambdaCode

      public void genNewLambdaCode(LambdaFunctionBootstrap bootstrap)
    • onMethodName

      public void onMethodName(Token<?> lookhead)
    • onBitAnd

      public void onBitAnd(Token<?> lookhead)
    • onBitOr

      public void onBitOr(Token<?> lookhead)
    • onBitXor

      public void onBitXor(Token<?> lookhead)
    • onShiftLeft

      public void onShiftLeft(Token<?> lookhead)
    • onShiftRight

      public void onShiftRight(Token<?> lookhead)
    • onUnsignedShiftRight

      public void onUnsignedShiftRight(Token<?> lookhead)