private void pushByLocalObjectLoad(DismantleBytecode dbc, int register) { Method m = dbc.getMethod(); LocalVariableTable lvt = m.getLocalVariableTable(); if (lvt != null) { LocalVariable lv = LVTHelper.getLocalVariableAtPC(lvt, register, dbc.getPC()); if (lv != null) { String signature = lv.getSignature(); pushByLocalLoad(signature, register); return; } } pushByLocalLoad("Ljava/lang/Object;", register); }
pushByLocalLoad("D", dbc.getRegisterOperand()); break; case Const.DLOAD_2: case Const.DLOAD_3: pushByLocalLoad("D", seen - Const.DLOAD_0); break; pushByLocalLoad("F", dbc.getRegisterOperand()); break; case Const.FLOAD_2: case Const.FLOAD_3: pushByLocalLoad("F", seen - Const.FLOAD_0); break; pushByLocalLoad("I", dbc.getRegisterOperand()); break; case Const.ILOAD_2: case Const.ILOAD_3: pushByLocalLoad("I", seen - Const.ILOAD_0); break; pushByLocalLoad("J", dbc.getRegisterOperand()); break; case Const.LLOAD_2: case Const.LLOAD_3:
private void pushByLocalObjectLoad(DismantleBytecode dbc, int register) { Method m = dbc.getMethod(); LocalVariableTable lvt = m.getLocalVariableTable(); if (lvt != null) { LocalVariable lv = LVTHelper.getLocalVariableAtPC(lvt, register, dbc.getPC()); if (lv != null) { String signature = lv.getSignature(); pushByLocalLoad(signature, register); return; } } pushByLocalLoad("Ljava/lang/Object;", register); }
pushByLocalLoad("D", dbc.getRegisterOperand()); break; case DLOAD_2: case DLOAD_3: pushByLocalLoad("D", seen - DLOAD_0); break; pushByLocalLoad("F", dbc.getRegisterOperand()); break; case FLOAD_2: case FLOAD_3: pushByLocalLoad("F", seen - FLOAD_0); break; pushByLocalLoad("I", dbc.getRegisterOperand()); break; case ILOAD_2: case ILOAD_3: pushByLocalLoad("I", seen - ILOAD_0); break; pushByLocalLoad("J", dbc.getRegisterOperand()); break; case LLOAD_2: case LLOAD_3: