@@ -59,7 +59,7 @@ public void verify() {
59
59
}
60
60
61
61
@ Test
62
- public void testVariableStatic () {
62
+ public void probevar_should_be_at_position_0_for_static_method_without_parameters () {
63
63
ProbeInserter pi = new ProbeInserter (Opcodes .ACC_STATIC , "m" , "()V" ,
64
64
actualVisitor , arrayStrategy );
65
65
pi .insertProbe (0 );
@@ -71,7 +71,7 @@ public void testVariableStatic() {
71
71
}
72
72
73
73
@ Test
74
- public void testVariableNonStatic () {
74
+ public void probevar_should_be_at_position_1_for_instance_method_without_parameters () {
75
75
ProbeInserter pi = new ProbeInserter (0 , "m" , "()V" , actualVisitor ,
76
76
arrayStrategy );
77
77
pi .insertProbe (0 );
@@ -83,7 +83,7 @@ public void testVariableNonStatic() {
83
83
}
84
84
85
85
@ Test
86
- public void testVariableNonStatic_IZObject () {
86
+ public void probevar_should_be_at_position_4_for_instance_method_with_3_parameters () {
87
87
ProbeInserter pi = new ProbeInserter (0 , "m" , "(IZLjava/lang/Object;)V" ,
88
88
actualVisitor , arrayStrategy );
89
89
pi .insertProbe (0 );
@@ -95,7 +95,7 @@ public void testVariableNonStatic_IZObject() {
95
95
}
96
96
97
97
@ Test
98
- public void testVariableNonStatic_JD () {
98
+ public void probevar_should_be_at_position_5_for_instance_method_with_2_wide_parameters () {
99
99
ProbeInserter pi = new ProbeInserter (0 , "m" , "(JD)V" , actualVisitor ,
100
100
arrayStrategy );
101
101
pi .insertProbe (0 );
@@ -107,25 +107,27 @@ public void testVariableNonStatic_JD() {
107
107
}
108
108
109
109
@ Test
110
- public void testVisitCode () {
110
+ public void visitCode_should_call_IProbeArrayStrategy_for_any_methods () {
111
111
ProbeInserter pi = new ProbeInserter (0 , "m" , "()V" , actualVisitor ,
112
112
arrayStrategy );
113
113
pi .visitCode ();
114
114
115
+ expectedVisitor .visitLabel (new Label ());
115
116
expectedVisitor .visitLdcInsn ("init" );
116
117
}
117
118
118
119
@ Test
119
- public void testVisitClinit () {
120
+ public void visitCode_should_call_IProbeArrayStrategy_for_static_initializers () {
120
121
ProbeInserter pi = new ProbeInserter (0 , "<clinit>" , "()V" ,
121
122
actualVisitor , arrayStrategy );
122
123
pi .visitCode ();
123
124
125
+ expectedVisitor .visitLabel (new Label ());
124
126
expectedVisitor .visitLdcInsn ("clinit" );
125
127
}
126
128
127
129
@ Test
128
- public void testVisitVarIns () {
130
+ public void visitVarInsn_should_be_called_with_adjusted_variable_positions () {
129
131
ProbeInserter pi = new ProbeInserter (0 , "m" , "(II)V" , actualVisitor ,
130
132
arrayStrategy );
131
133
@@ -146,7 +148,7 @@ public void testVisitVarIns() {
146
148
}
147
149
148
150
@ Test
149
- public void testVisitIincInsn () {
151
+ public void visitIincInsn_should_be_called_with_adjusted_variable_positions () {
150
152
ProbeInserter pi = new ProbeInserter (0 , "m" , "(II)V" , actualVisitor ,
151
153
arrayStrategy );
152
154
pi .visitIincInsn (0 , 100 );
@@ -166,7 +168,7 @@ public void testVisitIincInsn() {
166
168
}
167
169
168
170
@ Test
169
- public void testVisitLocalVariable () {
171
+ public void visitLocalVariable_should_be_called_with_adjusted_variable_positions () {
170
172
ProbeInserter pi = new ProbeInserter (0 , "m" , "(II)V" , actualVisitor ,
171
173
arrayStrategy );
172
174
@@ -176,10 +178,12 @@ public void testVisitLocalVariable() {
176
178
pi .visitLocalVariable (null , null , null , null , null , 3 );
177
179
pi .visitLocalVariable (null , null , null , null , null , 4 );
178
180
181
+ Label begin = new Label ();
182
+
179
183
// Argument variables stay at the same position:
180
- expectedVisitor .visitLocalVariable (null , null , null , null , null , 0 );
181
- expectedVisitor .visitLocalVariable (null , null , null , null , null , 1 );
182
- expectedVisitor .visitLocalVariable (null , null , null , null , null , 2 );
184
+ expectedVisitor .visitLocalVariable (null , null , null , begin , null , 0 );
185
+ expectedVisitor .visitLocalVariable (null , null , null , begin , null , 1 );
186
+ expectedVisitor .visitLocalVariable (null , null , null , begin , null , 2 );
183
187
184
188
// Local variables are shifted by one:
185
189
expectedVisitor .visitLocalVariable (null , null , null , null , null , 4 );
@@ -209,29 +213,31 @@ public void should_remap_LocalVariableAnnotation() {
209
213
}
210
214
211
215
@ Test
212
- public void testVisitMaxs1 () {
216
+ public void new_stack_size_should_be_big_enought_to_store_probe_array () {
213
217
ProbeInserter pi = new ProbeInserter (0 , "m" , "(II)V" , actualVisitor ,
214
218
arrayStrategy );
215
219
pi .visitCode ();
216
220
pi .visitMaxs (0 , 8 );
217
221
222
+ expectedVisitor .visitLabel (new Label ());
218
223
expectedVisitor .visitLdcInsn ("init" );
219
224
expectedVisitor .visitMaxs (5 , 9 );
220
225
}
221
226
222
227
@ Test
223
- public void testVisitMaxs2 () {
228
+ public void new_stack_size_should_be_increased_for_probes () {
224
229
ProbeInserter pi = new ProbeInserter (0 , "m" , "(II)V" , actualVisitor ,
225
230
arrayStrategy );
226
231
pi .visitCode ();
227
232
pi .visitMaxs (10 , 8 );
228
233
234
+ expectedVisitor .visitLabel (new Label ());
229
235
expectedVisitor .visitLdcInsn ("init" );
230
236
expectedVisitor .visitMaxs (13 , 9 );
231
237
}
232
238
233
239
@ Test
234
- public void testVisitFrame () {
240
+ public void visitFrame_should_insert_probe_variable_between_arguments_and_local_variables () {
235
241
ProbeInserter pi = new ProbeInserter (0 , "m" , "(J)V" , actualVisitor ,
236
242
arrayStrategy );
237
243
@@ -245,7 +251,7 @@ public void testVisitFrame() {
245
251
}
246
252
247
253
@ Test
248
- public void testVisitFrameNoLocals () {
254
+ public void visitFrame_should_only_insert_probe_variable_when_no_other_local_variables_exist () {
249
255
ProbeInserter pi = new ProbeInserter (Opcodes .ACC_STATIC , "m" , "()V" ,
250
256
actualVisitor , arrayStrategy );
251
257
@@ -256,7 +262,7 @@ public void testVisitFrameNoLocals() {
256
262
}
257
263
258
264
@ Test
259
- public void testVisitFrameProbeAt0 () {
265
+ public void visitFrame_should_insert_probe_variable_first_when_no_parameters_exist () {
260
266
ProbeInserter pi = new ProbeInserter (Opcodes .ACC_STATIC , "m" , "()V" ,
261
267
actualVisitor , arrayStrategy );
262
268
@@ -268,7 +274,7 @@ public void testVisitFrameProbeAt0() {
268
274
}
269
275
270
276
@ Test
271
- public void testFillOneWord () {
277
+ public void visitFrame_should_fill_one_unused_slots_before_probe_variable_with_TOP () {
272
278
ProbeInserter pi = new ProbeInserter (Opcodes .ACC_STATIC , "m" , "(I)V" ,
273
279
actualVisitor , arrayStrategy );
274
280
@@ -280,7 +286,7 @@ public void testFillOneWord() {
280
286
}
281
287
282
288
@ Test
283
- public void testFillTwoWord () {
289
+ public void visitFrame_should_fill_two_unused_slots_before_probe_variable_with_TOP_TOP () {
284
290
ProbeInserter pi = new ProbeInserter (Opcodes .ACC_STATIC , "m" , "(J)V" ,
285
291
actualVisitor , arrayStrategy );
286
292
@@ -293,7 +299,7 @@ public void testFillTwoWord() {
293
299
}
294
300
295
301
@ Test
296
- public void testFillPartly () {
302
+ public void visitFrame_should_fill_three_unused_slots_before_probe_variable_with_TOP_TOP_TOP () {
297
303
ProbeInserter pi = new ProbeInserter (Opcodes .ACC_STATIC , "m" , "(DIJ)V" ,
298
304
actualVisitor , arrayStrategy );
299
305
@@ -309,7 +315,7 @@ public void testFillPartly() {
309
315
}
310
316
311
317
@ Test (expected = IllegalArgumentException .class )
312
- public void testVisitFrame_invalidType () {
318
+ public void visitFrame_must_only_support_resolved_frames () {
313
319
ProbeInserter pi = new ProbeInserter (0 , "m" , "()V" , actualVisitor ,
314
320
arrayStrategy );
315
321
pi .visitFrame (Opcodes .F_SAME , 0 , null , 0 , null );
0 commit comments