public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); _right.translate(classGen, methodGen); switch (_op) { case PLUS: il.append(_type.ADD()); break; case MINUS: il.append(_type.SUB()); break; case TIMES: il.append(_type.MUL()); break; case DIV: il.append(_type.DIV()); break; case MOD: il.append(_type.REM()); break; default: ErrorMsg msg = new ErrorMsg(ErrorMsg.ILLEGAL_BINARY_OP_ERR, this); getParser().reportError(Constants.ERROR, msg); } }
expType.translateTo(classGen, methodGen, paramTypes[i]); paramTemp[i] = methodGen.addLocalVariable("function_call_tmp"+i, expType.toJCType(), null, null); paramTemp[i].setStart( il.append(expType.STORE(paramTemp[i].getIndex()))); final Expression arg = argument(i); paramTemp[i].setEnd( il.append(arg.getType().LOAD(paramTemp[i].getIndex()))); (Type.Object).translateFrom(classGen, methodGen, _chosenConstructor.getDeclaringClass()); exp.getType().translateTo(classGen, methodGen, paramTypes[i]); _type.translateFrom(classGen, methodGen, _chosenMethod.getReturnType());
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); il.append(_type.NEG()); } }
/** * Returns an instruction for loading the value of this variable onto * the JVM stack. */ public Instruction loadInstruction() { final Instruction instr = _loadInstruction; if (_loadInstruction == null) { _loadInstruction = _type.LOAD(_local.getIndex()); } return _loadInstruction; }
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); il.append(_type.NEG()); } }
/** * Returns an instruction for loading the value of this variable onto * the JVM stack. */ public Instruction loadInstruction() { final Instruction instr = _loadInstruction; if (_loadInstruction == null) { _loadInstruction = _type.LOAD(_local.getIndex()); } return _loadInstruction; }
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); _right.translate(classGen, methodGen); switch (_op) { case PLUS: il.append(_type.ADD()); break; case MINUS: il.append(_type.SUB()); break; case TIMES: il.append(_type.MUL()); break; case DIV: il.append(_type.DIV()); break; case MOD: il.append(_type.REM()); break; default: ErrorMsg msg = new ErrorMsg(ErrorMsg.ILLEGAL_BINARY_OP_ERR, this); getParser().reportError(Constants.ERROR, msg); } }
expType.translateTo(classGen, methodGen, paramTypes[i]); paramTemp[i] = methodGen.addLocalVariable("function_call_tmp"+i, expType.toJCType(), null, null); paramTemp[i].setStart( il.append(expType.STORE(paramTemp[i].getIndex()))); final Expression arg = argument(i); paramTemp[i].setEnd( il.append(arg.getType().LOAD(paramTemp[i].getIndex()))); (Type.Object).translateFrom(classGen, methodGen, _chosenConstructor.getDeclaringClass()); exp.getType().translateTo(classGen, methodGen, paramTypes[i]); _type.translateFrom(classGen, methodGen, _chosenMethod.getReturnType());
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); il.append(_type.NEG()); } }
/** * Returns an instruction for loading the value of this variable onto * the JVM stack. */ public Instruction loadInstruction() { final Instruction instr = _loadInstruction; if (_loadInstruction == null) { _loadInstruction = _type.LOAD(_local.getIndex()); } return _loadInstruction; }
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); _right.translate(classGen, methodGen); switch (_op) { case PLUS: il.append(_type.ADD()); break; case MINUS: il.append(_type.SUB()); break; case TIMES: il.append(_type.MUL()); break; case DIV: il.append(_type.DIV()); break; case MOD: il.append(_type.REM()); break; default: ErrorMsg msg = new ErrorMsg(ErrorMsg.ILLEGAL_BINARY_OP_ERR, this); getParser().reportError(Constants.ERROR, msg); } }
expType.translateTo(classGen, methodGen, paramTypes[i]); paramTemp[i] = methodGen.addLocalVariable("function_call_tmp"+i, expType.toJCType(), null, null); paramTemp[i].setStart( il.append(expType.STORE(paramTemp[i].getIndex()))); final Expression arg = argument(i); paramTemp[i].setEnd( il.append(arg.getType().LOAD(paramTemp[i].getIndex()))); (Type.Object).translateFrom(classGen, methodGen, _chosenConstructor.getDeclaringClass()); exp.getType().translateTo(classGen, methodGen, paramTypes[i]); _type.translateFrom(classGen, methodGen, _chosenMethod.getReturnType());
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); il.append(_type.NEG()); } }
/** * Returns an instruction for loading the value of this variable onto * the JVM stack. */ public Instruction loadInstruction() { final Instruction instr = _loadInstruction; if (_loadInstruction == null) { _loadInstruction = _type.LOAD(_local.getIndex()); } return _loadInstruction; }
public void translate(ClassGenerator classGen, MethodGenerator methodGen) { final InstructionList il = methodGen.getInstructionList(); _left.translate(classGen, methodGen); _right.translate(classGen, methodGen); switch (_op) { case PLUS: il.append(_type.ADD()); break; case MINUS: il.append(_type.SUB()); break; case TIMES: il.append(_type.MUL()); break; case DIV: il.append(_type.DIV()); break; case MOD: il.append(_type.REM()); break; default: ErrorMsg msg = new ErrorMsg(ErrorMsg.ILLEGAL_BINARY_OP_ERR, this); getParser().reportError(Constants.ERROR, msg); } }
expType.translateTo(classGen, methodGen, paramTypes[i]); paramTemp[i] = methodGen.addLocalVariable("function_call_tmp"+i, expType.toJCType(), null, null); paramTemp[i].setStart( il.append(expType.STORE(paramTemp[i].getIndex()))); final Expression arg = argument(i); paramTemp[i].setEnd( il.append(arg.getType().LOAD(paramTemp[i].getIndex()))); (Type.Object).translateFrom(classGen, methodGen, _chosenConstructor.getDeclaringClass()); exp.getType().translateTo(classGen, methodGen, paramTypes[i]); _type.translateFrom(classGen, methodGen, _chosenMethod.getReturnType());