Replaces the abstract type stored at the given local variable index in the output frame. @param localIndex the index of the output frame local variable that must be set. @param abstractType the value that must be set.
(final int localIndex, final int abstractType)
| 493 | * @param abstractType the value that must be set. |
| 494 | */ |
| 495 | private void setLocal(final int localIndex, final int abstractType) { |
| 496 | // Create and/or resize the output local variables array if necessary. |
| 497 | if (outputLocals == null) { |
| 498 | outputLocals = new int[10]; |
| 499 | } |
| 500 | int outputLocalsLength = outputLocals.length; |
| 501 | if (localIndex >= outputLocalsLength) { |
| 502 | int[] newOutputLocals = new int[Math.max(localIndex + 1, 2 * outputLocalsLength)]; |
| 503 | System.arraycopy(outputLocals, 0, newOutputLocals, 0, outputLocalsLength); |
| 504 | outputLocals = newOutputLocals; |
| 505 | } |
| 506 | // Set the local variable. |
| 507 | outputLocals[localIndex] = abstractType; |
| 508 | } |
| 509 | |
| 510 | /** |
| 511 | * Pushes the given abstract type on the output frame stack. |