Adds an abstract type to the list of types on which a constructor is invoked in the basic block. @param abstractType an abstract type on a which a constructor is invoked.
(final int abstractType)
| 607 | * @param abstractType an abstract type on a which a constructor is invoked. |
| 608 | */ |
| 609 | private void addInitializedType(final int abstractType) { |
| 610 | // Create and/or resize the initializations array if necessary. |
| 611 | if (initializations == null) { |
| 612 | initializations = new int[2]; |
| 613 | } |
| 614 | int initializationsLength = initializations.length; |
| 615 | if (initializationCount >= initializationsLength) { |
| 616 | int[] newInitializations = |
| 617 | new int[Math.max(initializationCount + 1, 2 * initializationsLength)]; |
| 618 | System.arraycopy(initializations, 0, newInitializations, 0, initializationsLength); |
| 619 | initializations = newInitializations; |
| 620 | } |
| 621 | // Store the abstract type. |
| 622 | initializations[initializationCount++] = abstractType; |
| 623 | } |
| 624 | |
| 625 | /** |
| 626 | * Returns the "initialized" abstract type corresponding to the given abstract type. |