OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 | 4 |
5 // Tests that the closed world computed from [WorldImpact]s derived from kernel | 5 // Tests that the closed world computed from [WorldImpact]s derived from kernel |
6 // is equivalent to the original computed from resolution. | 6 // is equivalent to the original computed from resolution. |
7 library dart2js.kernel.closed_world_test; | 7 library dart2js.kernel.closed_world_test; |
8 | 8 |
9 import 'package:async_helper/async_helper.dart'; | 9 import 'package:async_helper/async_helper.dart'; |
10 import 'package:compiler/src/commandline_options.dart'; | 10 import 'package:compiler/src/commandline_options.dart'; |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 JavaScriptBackend backend = compiler.backend; | 85 JavaScriptBackend backend = compiler.backend; |
86 // Create a new resolution enqueuer and feed it with the [WorldImpact]s | 86 // Create a new resolution enqueuer and feed it with the [WorldImpact]s |
87 // computed from kernel through the [build] in `kernel_impact.dart`. | 87 // computed from kernel through the [build] in `kernel_impact.dart`. |
88 ResolutionEnqueuer enqueuer = new ResolutionEnqueuer( | 88 ResolutionEnqueuer enqueuer = new ResolutionEnqueuer( |
89 compiler.enqueuer, | 89 compiler.enqueuer, |
90 compiler.options, | 90 compiler.options, |
91 compiler.resolution, | 91 compiler.resolution, |
92 const TreeShakingEnqueuerStrategy(), | 92 const TreeShakingEnqueuerStrategy(), |
93 compiler.globalDependencies, | 93 compiler.globalDependencies, |
94 backend, | 94 backend, |
95 compiler.commonElements, | |
96 compiler.cacheStrategy, | 95 compiler.cacheStrategy, |
97 'enqueuer from kernel'); | 96 'enqueuer from kernel'); |
98 // TODO(johnniwinther): Store backend info separately. This replacement is | 97 // TODO(johnniwinther): Store backend info separately. This replacement is |
99 // made to reset a field in [TypeVariableHandler] that prevents it from | 98 // made to reset a field in [TypeVariableHandler] that prevents it from |
100 // enqueuing twice. | 99 // enqueuing twice. |
101 backend.typeVariableHandler = new TypeVariableHandler(compiler); | 100 backend.typeVariableHandler = new TypeVariableHandler(compiler); |
102 | 101 |
103 if (compiler.deferredLoadTask.isProgramSplit) { | 102 if (compiler.deferredLoadTask.isProgramSplit) { |
104 enqueuer.applyImpact(backend.computeDeferredLoadingImpact()); | 103 enqueuer.applyImpact(backend.computeDeferredLoadingImpact()); |
105 } | 104 } |
(...skipping 28 matching lines...) Expand all Loading... |
134 } | 133 } |
135 // The class cannot itself be instantiated. | 134 // The class cannot itself be instantiated. |
136 return false; | 135 return false; |
137 } | 136 } |
138 return true; | 137 return true; |
139 }, verbose: arguments.verbose); | 138 }, verbose: arguments.verbose); |
140 checkClosedWorlds(compiler.closedWorld, closedWorld, | 139 checkClosedWorlds(compiler.closedWorld, closedWorld, |
141 verbose: arguments.verbose); | 140 verbose: arguments.verbose); |
142 }); | 141 }); |
143 } | 142 } |
OLD | NEW |