|
|
|
|
@ -131,7 +131,11 @@ public class Label {
@@ -131,7 +131,11 @@ public class Label {
|
|
|
|
|
int status; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The line number corresponding to this label, if known. |
|
|
|
|
* The line number corresponding to this label, if known. If there are |
|
|
|
|
* several lines, each line is stored in a separate label, all linked via |
|
|
|
|
* their next field (these links are created in ClassReader and removed just |
|
|
|
|
* before visitLabel is called, so that this does not impact the rest of the |
|
|
|
|
* code). |
|
|
|
|
*/ |
|
|
|
|
int line; |
|
|
|
|
|
|
|
|
|
@ -154,7 +158,7 @@ public class Label {
@@ -154,7 +158,7 @@ public class Label {
|
|
|
|
|
* indicates if this reference uses 2 or 4 bytes, and its absolute value |
|
|
|
|
* gives the position of the bytecode instruction. This array is also used |
|
|
|
|
* as a bitset to store the subroutines to which a basic block belongs. This |
|
|
|
|
* information is needed in {@linked MethodWriter#visitMaxs}, after all |
|
|
|
|
* information is needed in {@link MethodWriter#visitMaxs}, after all |
|
|
|
|
* forward references have been resolved. Hence the same array can be used |
|
|
|
|
* for both purposes without problems. |
|
|
|
|
*/ |
|
|
|
|
@ -239,7 +243,8 @@ public class Label {
@@ -239,7 +243,8 @@ public class Label {
|
|
|
|
|
* The next basic block in the basic block stack. This stack is used in the |
|
|
|
|
* main loop of the fix point algorithm used in the second step of the |
|
|
|
|
* control flow analysis algorithms. It is also used in |
|
|
|
|
* {@link #visitSubroutine} to avoid using a recursive method. |
|
|
|
|
* {@link #visitSubroutine} to avoid using a recursive method, and in |
|
|
|
|
* ClassReader to temporarily store multiple source lines for a label. |
|
|
|
|
* |
|
|
|
|
* @see MethodWriter#visitMaxs |
|
|
|
|
*/ |
|
|
|
|
|