01: package net.sf.jdec.jvminstructions.commands;
02:
03: import net.sf.jdec.core.DecompilerHelper;
04: import net.sf.jdec.core.LocalVariable;
05: import net.sf.jdec.core.Operand;
06: import net.sf.jdec.core.OperandStack;
07: import net.sf.jdec.reflection.Behaviour;
08:
09: public class Fload_0Command extends AbstractInstructionCommand {
10:
11: public Fload_0Command(Behaviour context) {
12: super (context);
13:
14: }
15:
16: public int getSkipBytes() {
17: return 0;
18: }
19:
20: public void execute() {
21: byte[] info = getCode();
22: int i = getCurrentInstPosInCode();
23: int currentForIndex = i;
24: int opValueI = 0;
25: boolean b = true;
26: OperandStack opStack = getStack();
27: LocalVariable local = DecompilerHelper.getLocalVariable(
28: opValueI, "load", "float", b, currentForIndex);
29: if (local != null) {
30:
31: Operand op = new Operand();
32: StringBuffer addsub = new StringBuffer("");
33: boolean bo = DecompilerHelper.checkForPostIncrForLoadCase(
34: info, currentForIndex, "category1", !b, opValueI,
35: addsub);
36: if (!bo)
37: op.setOperandValue(local.getVarName());
38: else
39: op.setOperandValue(local.getVarName()
40: + addsub.toString());
41: boolean r = false;// checkIFLoadInstIsPartOFTernaryCond(currentForIndex);
42: if (r) {
43: if (opStack.size() > 0) {
44: java.lang.String str = opStack.getTopOfStack()
45: .getOperandValue();
46: str = str + op.getOperandValue();
47: op.setOperandValue(str);
48: }
49: }
50: opStack.push(op);
51: }
52: }
53:
54: }
|