01: package net.sf.jdec.jvminstructions.commands;
02:
03: import net.sf.jdec.core.Operand;
04: import net.sf.jdec.core.OperandStack;
05: import net.sf.jdec.reflection.Behaviour;
06: import net.sf.jdec.util.Constants;
07:
08: public class LaddCommand extends AbstractInstructionCommand {
09:
10: public LaddCommand(Behaviour context) {
11: super (context);
12:
13: }
14:
15: public int getSkipBytes() {
16: return 0;
17: }
18:
19: public void execute() {
20: OperandStack opStack = getStack();
21: Operand operand1 = opStack.getTopOfStack();
22: Operand operand2 = opStack.getTopOfStack();
23: Object result = "(" + operand1.getOperandValue() + "+"
24: + operand2.getOperandValue() + ")";
25: Operand op = new Operand();
26: op.setOperandType(Constants.IS_CONSTANT_LONG);
27: op.setOperandValue(result);
28: boolean r = false;// checkIFLoadInstIsPartOFTernaryCond(currentForIndex);
29: if (r) {
30: if (opStack.size() > 0) {
31: java.lang.String str = opStack.getTopOfStack()
32: .getOperandValue();
33: str = str + op.getOperandValue();
34: op.setOperandValue(str);
35: }
36: }
37: opStack.push(op);
38: }
39:
40: }
|