File tree 23 files changed +589
-50
lines changed
call_deleted_top_level_add_type_arguments
call_deleted_top_level_function
call_deleted_top_level_function_arity_change
call_deleted_top_level_function_evaluation_order
call_deleted_top_level_function_library_deleted
call_deleted_top_level_getter
call_deleted_top_level_missing_passing_type_arguments
call_deleted_top_level_remove_type_arguments
call_deleted_top_level_setter
call_deleted_top_level_setter_evaluation_order 23 files changed +589
-50
lines changed Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2704
10
+
11
+ var retained;
12
+
13
+ deleted () {
14
+ return 'hello' ;
15
+ }
16
+
17
+ helper () {
18
+ retained = () => deleted ();
19
+ return retained ();
20
+ }
21
+
22
+ Future <void > main () async {
23
+ Expect .equals ('hello' , helper ());
24
+ await hotReload ();
25
+
26
+ Expect .equals ('hello' , helper ());
27
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2704
10
+
11
+ var retained;
12
+
13
+ deleted <A , B , C >() {
14
+ return 'hello' ;
15
+ }
16
+
17
+ helper () {
18
+ return retained ();
19
+ }
20
+
21
+ Future <void > main () async {
22
+ Expect .equals ('hello' , helper ());
23
+ await hotReload ();
24
+
25
+ Expect .equals ('hello' , helper ());
26
+ }
27
+
28
+ /** DIFF **/
29
+ /*
30
+
31
+ var retained;
32
+
33
+ -deleted() {
34
+ +deleted<A, B, C>() {
35
+ return 'hello';
36
+ }
37
+
38
+ helper() {
39
+ - retained = () => deleted();
40
+ return retained();
41
+ }
42
+
43
+ */
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -21,11 +21,10 @@ helper() {
21
21
22
22
Future <void > main () async {
23
23
Expect .equals ('hello' , helper ());
24
- Expect .equals (0 , hotReloadGeneration);
25
-
26
24
await hotReload ();
27
25
28
- Expect .contains ('NoSuchMethodError' , helper ());
29
- Expect .contains ('deleted' , helper ());
30
- Expect .equals (1 , hotReloadGeneration);
26
+ Expect .throws <NoSuchMethodError >(
27
+ helper,
28
+ (error) => error.toString ().contains ('deleted' ),
29
+ );
31
30
}
Original file line number Diff line number Diff line change @@ -11,22 +11,17 @@ import 'package:reload_test/reload_test_utils.dart';
11
11
var retained;
12
12
13
13
helper () {
14
- try {
15
- return retained ();
16
- } catch (e) {
17
- return e.toString ();
18
- }
14
+ return retained ();
19
15
}
20
16
21
17
Future <void > main () async {
22
18
Expect .equals ('hello' , helper ());
23
- Expect .equals (0 , hotReloadGeneration);
24
-
25
19
await hotReload ();
26
20
27
- Expect .contains ('NoSuchMethodError' , helper ());
28
- Expect .contains ('deleted' , helper ());
29
- Expect .equals (1 , hotReloadGeneration);
21
+ Expect .throws <NoSuchMethodError >(
22
+ helper,
23
+ (error) => error.toString ().contains ('deleted' ),
24
+ );
30
25
}
31
26
32
27
/** DIFF **/
@@ -42,13 +37,7 @@ Future<void> main() async {
42
37
43
38
helper() {
44
39
- retained = () => deleted();
45
- - return retained();
46
- + try {
47
- + return retained();
48
- + } catch (e) {
49
- + return e.toString();
50
- + }
40
+ return retained();
51
41
}
52
42
53
- Future<void> main() async {
54
43
*/
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -21,11 +21,10 @@ helper() {
21
21
22
22
Future <void > main () async {
23
23
Expect .equals ('hello' , helper ());
24
- Expect .equals (0 , hotReloadGeneration);
25
-
26
24
await hotReload ();
27
25
28
- Expect .contains ('NoSuchMethodError' , helper ());
29
- Expect .contains ('deleted' , helper ());
30
- Expect .equals (1 , hotReloadGeneration);
26
+ Expect .throws <NoSuchMethodError >(
27
+ helper,
28
+ (error) => error.toString ().contains ('deleted' ),
29
+ );
31
30
}
Original file line number Diff line number Diff line change @@ -15,22 +15,17 @@ deleted(newParameter) {
15
15
var retained;
16
16
17
17
helper () {
18
- try {
19
- return retained ();
20
- } catch (e) {
21
- return e.toString ();
22
- }
18
+ return retained ();
23
19
}
24
20
25
21
Future <void > main () async {
26
22
Expect .equals ('hello' , helper ());
27
- Expect .equals (0 , hotReloadGeneration);
28
-
29
23
await hotReload ();
30
24
31
- Expect .contains ('NoSuchMethodError' , helper ());
32
- Expect .contains ('deleted' , helper ());
33
- Expect .equals (1 , hotReloadGeneration);
25
+ Expect .throws <NoSuchMethodError >(
26
+ helper,
27
+ (error) => error.toString ().contains ('deleted' ),
28
+ );
34
29
}
35
30
36
31
/** DIFF **/
@@ -47,13 +42,7 @@ Future<void> main() async {
47
42
48
43
helper() {
49
44
- retained = () => deleted();
50
- - return retained();
51
- + try {
52
- + return retained();
53
- + } catch (e) {
54
- + return e.toString();
55
- + }
45
+ return retained();
56
46
}
57
47
58
- Future<void> main() async {
59
48
*/
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2794
10
+
11
+ var retained;
12
+ first (flag) {
13
+ if (flag) throw 'first!' ;
14
+ }
15
+
16
+ deleted (_) {
17
+ return 'hello' ;
18
+ }
19
+
20
+ helper () {
21
+ retained = (bool flag) => deleted (first (flag));
22
+ return retained (false );
23
+ }
24
+
25
+ Future <void > main () async {
26
+ Expect .equals ('hello' , helper ());
27
+ await hotReload ();
28
+
29
+ Expect .throws (helper, (error) => error.toString ().contains ('first!' ));
30
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2794
10
+
11
+ var retained;
12
+ first (flag) {
13
+ if (flag) throw 'first!' ;
14
+ }
15
+
16
+ helper () {
17
+ return retained (true );
18
+ }
19
+
20
+ Future <void > main () async {
21
+ Expect .equals ('hello' , helper ());
22
+ await hotReload ();
23
+
24
+ Expect .throws (helper, (error) => error.toString ().contains ('first!' ));
25
+ }
26
+
27
+ /** DIFF **/
28
+ /*
29
+ if (flag) throw 'first!';
30
+ }
31
+
32
+ -deleted(_) {
33
+ - return 'hello';
34
+ -}
35
+ -
36
+ helper() {
37
+ - retained = (bool flag) => deleted(first(flag));
38
+ - return retained(false);
39
+ + return retained(true);
40
+ }
41
+
42
+ Future<void> main() async {
43
+ */
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2825
10
+
11
+ import 'test-lib.dart' ;
12
+
13
+ var retained;
14
+ helper () {
15
+ retained = () => deleted ();
16
+ return retained ();
17
+ }
18
+
19
+ Future <void > main () async {
20
+ Expect .equals ('hello' , helper ());
21
+ await hotReload ();
22
+
23
+ // VM: What actually happens because we don't re-search imported libraries.
24
+ Expect .equals ('hello' , helper ());
25
+
26
+ // VM: What should happen and what did happen with the old VM frontend:
27
+ // Expect.throws<NoSuchMethodError>(
28
+ // helper,
29
+ // (error) => error.toString().contains('deleted'),
30
+ // );
31
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2825
10
+
11
+ var retained;
12
+ helper () {
13
+ return retained ();
14
+ }
15
+
16
+ Future <void > main () async {
17
+ Expect .equals ('hello' , helper ());
18
+ await hotReload ();
19
+
20
+ // VM: What actually happens because we don't re-search imported libraries.
21
+ Expect .equals ('hello' , helper ());
22
+
23
+ // VM: What should happen and what did happen with the old VM frontend:
24
+ // Expect.throws<NoSuchMethodError>(
25
+ // helper,
26
+ // (error) => error.toString().contains('deleted'),
27
+ // );
28
+ }
29
+
30
+ /** DIFF **/
31
+ /*
32
+ // Adapted from:
33
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2825
34
+
35
+ -import 'test-lib.dart';
36
+ -
37
+ var retained;
38
+ helper() {
39
+ - retained = () => deleted();
40
+ return retained();
41
+ }
42
+
43
+ */
Original file line number Diff line number Diff line change
1
+ deleted () {
2
+ return 'hello' ;
3
+ }
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
2
+ // for details. All rights reserved. Use of this source code is governed by a
3
+ // BSD-style license that can be found in the LICENSE file.
4
+
5
+ import 'package:expect/expect.dart' ;
6
+ import 'package:reload_test/reload_test_utils.dart' ;
7
+
8
+ // Adapted from:
9
+ // https://github.com/dart-lang/sdk/blob/13f5fc6b168d8b6e5843d17fb9ba77f1343a7dfe/runtime/vm/isolate_reload_test.cc#L2889
10
+
11
+ var retained;
12
+ get deleted {
13
+ return 'hello' ;
14
+ }
15
+
16
+ helper () {
17
+ retained = () => deleted;
18
+ return retained ();
19
+ }
20
+
21
+ Future <void > main () async {
22
+ Expect .equals ('hello' , helper ());
23
+ await hotReload ();
24
+
25
+ Expect .throws <NoSuchMethodError >(
26
+ helper,
27
+ (error) => error.toString ().contains ('deleted' ),
28
+ );
29
+ }
You can’t perform that action at this time.
0 commit comments