OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override | 4 // VMOptions=--compile-all --error_on_bad_type --error_on_bad_override |
5 | 5 |
6 import 'package:observatory/service_io.dart'; | 6 import 'package:observatory/service_io.dart'; |
7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
8 import 'test_helper.dart'; | 8 import 'test_helper.dart'; |
9 import 'dart:async'; | |
10 | |
11 import 'dart:math' as math; | |
12 | 9 |
13 breakHere() {} | 10 breakHere() {} |
14 | 11 |
| 12 use(dynamic v) => v; |
| 13 |
15 class C { | 14 class C { |
16 var instVar = 1; | 15 var instVar = 1; |
17 static var classVar = 2; | 16 static var classVar = 2; |
18 | 17 |
19 method(methodParam) { | 18 method(methodParam) { |
20 var methodTemp = 4; | 19 var methodTemp = 4; |
| 20 use(methodTemp); |
21 [5].forEach((outerParam) { | 21 [5].forEach((outerParam) { |
22 var outerTemp = 6; | 22 var outerTemp = 6; |
| 23 use(outerTemp); |
23 [7].forEach((innerParam) { | 24 [7].forEach((innerParam) { |
24 var innerTemp = 8; | 25 var innerTemp = 8; |
| 26 use(innerTemp); |
25 breakHere(); | 27 breakHere(); |
26 }); | 28 }); |
27 }); | 29 }); |
28 } | 30 } |
29 | 31 |
30 static method2(methodParam) { | 32 static method2(methodParam) { |
31 var methodTemp = 4; | 33 var methodTemp = 4; |
| 34 use(methodTemp); |
32 [5].forEach((outerParam) { | 35 [5].forEach((outerParam) { |
33 var outerTemp = 6; | 36 var outerTemp = 6; |
| 37 use(outerTemp); |
34 [7].forEach((innerParam) { | 38 [7].forEach((innerParam) { |
35 var innerTemp = 8; | 39 var innerTemp = 8; |
| 40 use(innerTemp); |
36 breakHere(); | 41 breakHere(); |
37 }); | 42 }); |
38 }); | 43 }); |
39 } | 44 } |
40 | 45 |
41 method3(methodParam) { | 46 method3(methodParam) { |
42 var methodTemp = 4; | 47 var methodTemp = 4; |
| 48 use(methodTemp); |
43 breakHere(); | 49 breakHere(); |
44 } | 50 } |
45 | 51 |
46 static var closureWithReturnedHome; | 52 static var closureWithReturnedHome; |
47 method4(methodParam) { | 53 method4(methodParam) { |
48 var methodTemp = 4; | 54 var methodTemp = 4; |
| 55 use(methodTemp); |
49 [5].forEach((outerParam) { | 56 [5].forEach((outerParam) { |
50 var outerTemp = 6; | 57 var outerTemp = 6; |
| 58 use(outerTemp); |
51 closureWithReturnedHome = (innerParam) { | 59 closureWithReturnedHome = (innerParam) { |
52 var innerTemp = 8; | 60 var innerTemp = 8; |
| 61 use(innerTemp); |
53 breakHere(); | 62 breakHere(); |
54 }; | 63 }; |
55 }); | 64 }); |
56 } | 65 } |
57 } | 66 } |
58 | 67 |
59 testMethod(Isolate isolate) async { | 68 testMethod(Isolate isolate) async { |
60 Library rootLib = await isolate.rootLib.load(); | 69 Library rootLib = await isolate.rootLib.load(); |
61 ServiceFunction function = | 70 ServiceFunction function = |
62 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); | 71 rootLib.functions.singleWhere((f) => f.name == 'breakHere'); |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 } | 252 } |
244 | 253 |
245 var tests = [ | 254 var tests = [ |
246 testMethod, | 255 testMethod, |
247 testMethod2, | 256 testMethod2, |
248 testMethod3, | 257 testMethod3, |
249 testMethod4, | 258 testMethod4, |
250 ]; | 259 ]; |
251 | 260 |
252 main(args) => runIsolateTests(args, tests); | 261 main(args) => runIsolateTests(args, tests); |
OLD | NEW |