Returns the abstract type stored at the given local variable index in the output frame. @param localIndex the index of the local variable whose value must be returned. @return the abstract type stored at the given local variable index in the output frame.
(final int localIndex)
| 471 | * @return the abstract type stored at the given local variable index in the output frame. |
| 472 | */ |
| 473 | private int getLocal(final int localIndex) { |
| 474 | if (outputLocals == null || localIndex >= outputLocals.length) { |
| 475 | // If this local has never been assigned in this basic block, it is still equal to its value |
| 476 | // in the input frame. |
| 477 | return LOCAL_KIND | localIndex; |
| 478 | } else { |
| 479 | int abstractType = outputLocals[localIndex]; |
| 480 | if (abstractType == 0) { |
| 481 | // If this local has never been assigned in this basic block, so it is still equal to its |
| 482 | // value in the input frame. |
| 483 | abstractType = outputLocals[localIndex] = LOCAL_KIND | localIndex; |
| 484 | } |
| 485 | return abstractType; |
| 486 | } |
| 487 | } |
| 488 | |
| 489 | /** |
| 490 | * Replaces the abstract type stored at the given local variable index in the output frame. |