OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 library dart2js.js_backend.element_strategy; | 5 library dart2js.js_backend.element_strategy; |
6 | 6 |
7 import '../backend_strategy.dart'; | 7 import '../backend_strategy.dart'; |
8 import '../closure.dart' show ClosureConversionTask, ClosureTask; | 8 import '../closure.dart' show ClosureConversionTask, ClosureTask; |
9 import '../common.dart'; | 9 import '../common.dart'; |
10 import '../common/codegen.dart'; | 10 import '../common/codegen.dart'; |
(...skipping 20 matching lines...) Expand all Loading... |
31 import '../world.dart'; | 31 import '../world.dart'; |
32 | 32 |
33 /// Strategy for using the [Element] model from the resolver as the backend | 33 /// Strategy for using the [Element] model from the resolver as the backend |
34 /// model. | 34 /// model. |
35 class ElementBackendStrategy implements BackendStrategy { | 35 class ElementBackendStrategy implements BackendStrategy { |
36 final Compiler _compiler; | 36 final Compiler _compiler; |
37 SourceInformationStrategy _sourceInformationStrategy; | 37 SourceInformationStrategy _sourceInformationStrategy; |
38 | 38 |
39 ElementBackendStrategy(this._compiler); | 39 ElementBackendStrategy(this._compiler); |
40 | 40 |
41 ClosedWorldRefiner createClosedWorldRefiner(ClosedWorldImpl closedWorld) => | 41 ClosedWorldRefiner createClosedWorldRefiner( |
| 42 covariant ClosedWorldImpl closedWorld) => |
42 closedWorld; | 43 closedWorld; |
43 | 44 |
44 Sorter get sorter => const ElementSorter(); | 45 Sorter get sorter => const ElementSorter(); |
45 | 46 |
46 @override | 47 @override |
47 ClosureConversionTask createClosureConversionTask(Compiler compiler) => | 48 ClosureConversionTask createClosureConversionTask(Compiler compiler) => |
48 new ClosureTask(compiler); | 49 new ClosureTask(compiler); |
49 | 50 |
50 @override | 51 @override |
51 CodegenWorldBuilder createCodegenWorldBuilder( | 52 CodegenWorldBuilder createCodegenWorldBuilder( |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 | 160 |
160 MemberElement get element => resolvedAst.element; | 161 MemberElement get element => resolvedAst.element; |
161 | 162 |
162 WorldImpact run() { | 163 WorldImpact run() { |
163 registry = new CodegenRegistry(_closedWorld.elementEnvironment, element); | 164 registry = new CodegenRegistry(_closedWorld.elementEnvironment, element); |
164 return _backend.codegen(this, _closedWorld); | 165 return _backend.codegen(this, _closedWorld); |
165 } | 166 } |
166 | 167 |
167 String toString() => 'CodegenWorkItem(${resolvedAst.element})'; | 168 String toString() => 'CodegenWorkItem(${resolvedAst.element})'; |
168 } | 169 } |
OLD | NEW |