| 1305 | } |
| 1306 | |
| 1307 | @Override |
| 1308 | public void visitIincInsn(final int var, final int increment) { |
| 1309 | lastBytecodeOffset = code.length; |
| 1310 | // Add the instruction to the bytecode of the method. |
| 1311 | if ((var > 255) || (increment > 127) || (increment < -128)) { |
| 1312 | code.putByte(Constants.WIDE).put12(Opcodes.IINC, var).putShort(increment); |
| 1313 | } else { |
| 1314 | code.putByte(Opcodes.IINC).put11(var, increment); |
| 1315 | } |
| 1316 | // If needed, update the maximum stack size and number of locals, and stack map frames. |
| 1317 | if (currentBasicBlock != null |
| 1318 | && (compute == COMPUTE_ALL_FRAMES || compute == COMPUTE_INSERTED_FRAMES)) { |
| 1319 | currentBasicBlock.frame.execute(Opcodes.IINC, var, null, null); |
| 1320 | } |
| 1321 | if (compute != COMPUTE_NOTHING) { |
| 1322 | int currentMaxLocals = var + 1; |
| 1323 | if (currentMaxLocals > maxLocals) { |
| 1324 | maxLocals = currentMaxLocals; |
| 1325 | } |
| 1326 | } |
| 1327 | } |
| 1328 | |
| 1329 | @Override |
| 1330 | public void visitTableSwitchInsn( |