@@ -35,28 +35,11 @@ void main() {
35
35
36
36
tearDownAll (provider.dispose);
37
37
38
- void makeEdit (String file, String originalString, String newString) {
39
- if (file == project.dartEntryFileName) {
40
- context.makeEditToDartEntryFile (
41
- toReplace: originalString,
42
- replaceWith: newString,
43
- );
44
- } else {
45
- context.makeEditToDartLibFile (
46
- libFileName: file,
47
- toReplace: originalString,
48
- replaceWith: newString,
49
- );
50
- }
51
- }
52
-
53
- Future <void > makeEditAndRecompile (
54
- String file,
55
- String originalString,
56
- String newString,
38
+ Future <void > makeEditsAndRecompile (
39
+ List <({String file, String originalString, String newString})> edits,
57
40
) async {
58
- makeEdit (file, originalString, newString );
59
- await context.recompile (fullRestart: false );
41
+ await context. makeEdits (edits );
42
+ await context.recompile (fullRestart: true );
60
43
}
61
44
62
45
group ('when pause_isolates_on_start is true' , () {
@@ -255,7 +238,9 @@ void main() {
255
238
await resumeAndExpectLog (oldString);
256
239
257
240
// Modify the string that gets printed.
258
- await makeEditAndRecompile (mainFile, oldString, newString);
241
+ await makeEditsAndRecompile ([
242
+ (file: mainFile, originalString: oldString, newString: newString),
243
+ ]);
259
244
260
245
await hotReloadAndHandlePausePost ([
261
246
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -291,7 +276,9 @@ void main() {
291
276
final extraLog = 'hot reload' ;
292
277
final oldString = "log('" ;
293
278
final newString = "log('$extraLog ');\n $oldString " ;
294
- await makeEditAndRecompile (mainFile, oldString, newString);
279
+ await makeEditsAndRecompile ([
280
+ (file: mainFile, originalString: oldString, newString: newString),
281
+ ]);
295
282
296
283
bp =
297
284
(await hotReloadAndHandlePausePost ([
@@ -307,7 +294,9 @@ void main() {
307
294
await resumeAndExpectLog (genLog);
308
295
309
296
// Remove the line we just added.
310
- await makeEditAndRecompile (mainFile, newString, oldString);
297
+ await makeEditsAndRecompile ([
298
+ (file: mainFile, originalString: newString, newString: oldString),
299
+ ]);
311
300
312
301
await hotReloadAndHandlePausePost ([
313
302
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -363,10 +352,13 @@ void main() {
363
352
final newImports =
364
353
'$oldImports \n '
365
354
"import 'package:_test_hot_reload_breakpoints/library.dart';" ;
366
- makeEdit (mainFile, oldImports, newImports);
355
+ final edits = [
356
+ (file: mainFile, originalString: oldImports, newString: newImports),
357
+ ];
367
358
final oldLog = "log('\$ mainValue');" ;
368
359
final newLog = "log('\$ libraryValue');" ;
369
- await makeEditAndRecompile (mainFile, oldLog, newLog);
360
+ edits.add ((file: mainFile, originalString: oldLog, newString: newLog));
361
+ await makeEditsAndRecompile (edits);
370
362
371
363
await hotReloadAndHandlePausePost ([
372
364
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -410,6 +402,8 @@ void main() {
410
402
411
403
// Add library files, import them, but only refer to the last one in main.
412
404
final numFiles = 50 ;
405
+ final edits =
406
+ < ({String file, String originalString, String newString})> [];
413
407
for (var i = 1 ; i <= numFiles; i++ ) {
414
408
final libFile = 'library$i .dart' ;
415
409
context.addLibraryFile (
@@ -422,11 +416,16 @@ void main() {
422
416
final newImports =
423
417
'$oldImports \n '
424
418
"import 'package:_test_hot_reload_breakpoints/$libFile ';" ;
425
- makeEdit (mainFile, oldImports, newImports);
419
+ edits.add ((
420
+ file: mainFile,
421
+ originalString: oldImports,
422
+ newString: newImports,
423
+ ));
426
424
}
427
425
final oldLog = "log('\$ mainValue');" ;
428
426
final newLog = "log('\$ libraryValue$numFiles ');" ;
429
- await makeEditAndRecompile (mainFile, oldLog, newLog);
427
+ edits.add ((file: mainFile, originalString: oldLog, newString: newLog));
428
+ await makeEditsAndRecompile (edits);
430
429
431
430
await hotReloadAndHandlePausePost ([
432
431
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -460,7 +459,9 @@ void main() {
460
459
461
460
final oldLog = "log('\$ mainValue');" ;
462
461
final newLog = "log('\$ {closure()}');" ;
463
- await makeEditAndRecompile (mainFile, oldLog, newLog);
462
+ await makeEditsAndRecompile ([
463
+ (file: mainFile, originalString: oldLog, newString: newLog),
464
+ ]);
464
465
465
466
bp =
466
467
(await hotReloadAndHandlePausePost ([
@@ -478,11 +479,13 @@ void main() {
478
479
await resumeAndExpectLog (oldCapturedString);
479
480
480
481
final newCapturedString = 'captured closure gen1' ;
481
- await makeEditAndRecompile (
482
- mainFile,
483
- oldCapturedString,
484
- newCapturedString,
485
- );
482
+ await makeEditsAndRecompile ([
483
+ (
484
+ file: mainFile,
485
+ originalString: oldCapturedString,
486
+ newString: newCapturedString,
487
+ ),
488
+ ]);
486
489
487
490
await hotReloadAndHandlePausePost ([
488
491
(file: mainFile, breakpointMarker: capturedStringMarker, bp: bp),
@@ -539,7 +542,9 @@ void main() {
539
542
await callEvaluateAndExpectLog (oldString);
540
543
541
544
// Modify the string that gets printed and hot reload.
542
- await makeEditAndRecompile (mainFile, oldString, newString);
545
+ await makeEditsAndRecompile ([
546
+ (file: mainFile, originalString: oldString, newString: newString),
547
+ ]);
543
548
final vm = await client.getVM ();
544
549
final isolate = await client.getIsolate (vm.isolates! .first.id! );
545
550
final report = await client.reloadSources (isolate.id! );
0 commit comments