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