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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 | 44 |
45 @override | 45 @override |
46 ClosureConversionTask createClosureConversionTask(Compiler compiler) => | 46 ClosureConversionTask createClosureConversionTask(Compiler compiler) => |
47 new ClosureTask(compiler); | 47 new ClosureTask(compiler); |
48 | 48 |
49 @override | 49 @override |
50 CodegenWorldBuilder createCodegenWorldBuilder( | 50 CodegenWorldBuilder createCodegenWorldBuilder( |
51 NativeBasicData nativeBasicData, | 51 NativeBasicData nativeBasicData, |
52 ClosedWorld closedWorld, | 52 ClosedWorld closedWorld, |
53 SelectorConstraintsStrategy selectorConstraintsStrategy) { | 53 SelectorConstraintsStrategy selectorConstraintsStrategy) { |
54 return new ElementCodegenWorldBuilderImpl( | 54 return new ElementCodegenWorldBuilderImpl(closedWorld.elementEnvironment, |
55 _compiler.backend.constants, | 55 nativeBasicData, closedWorld, selectorConstraintsStrategy); |
56 closedWorld.elementEnvironment, | |
57 nativeBasicData, | |
58 closedWorld, | |
59 selectorConstraintsStrategy); | |
60 } | 56 } |
61 | 57 |
62 @override | 58 @override |
63 WorkItemBuilder createCodegenWorkItemBuilder(ClosedWorld closedWorld) { | 59 WorkItemBuilder createCodegenWorkItemBuilder(ClosedWorld closedWorld) { |
64 return new ElementCodegenWorkItemBuilder( | 60 return new ElementCodegenWorkItemBuilder( |
65 _compiler.backend, closedWorld, _compiler.options); | 61 _compiler.backend, closedWorld, _compiler.options); |
66 } | 62 } |
67 | 63 |
68 @override | 64 @override |
69 SsaBuilderTask createSsaBuilderTask(JavaScriptBackend backend, | 65 SsaBuilderTask createSsaBuilderTask(JavaScriptBackend backend, |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 return new ElementCodegenWorkItem.internal( | 148 return new ElementCodegenWorkItem.internal( |
153 resolvedAst, backend, closedWorld); | 149 resolvedAst, backend, closedWorld); |
154 } | 150 } |
155 | 151 |
156 ElementCodegenWorkItem.internal( | 152 ElementCodegenWorkItem.internal( |
157 this.resolvedAst, this._backend, this._closedWorld); | 153 this.resolvedAst, this._backend, this._closedWorld); |
158 | 154 |
159 MemberElement get element => resolvedAst.element; | 155 MemberElement get element => resolvedAst.element; |
160 | 156 |
161 WorldImpact run() { | 157 WorldImpact run() { |
162 registry = new CodegenRegistry(_closedWorld.elementEnvironment, element); | 158 registry = new CodegenRegistry(element); |
163 return _backend.codegen(this, _closedWorld); | 159 return _backend.codegen(this, _closedWorld); |
164 } | 160 } |
165 | 161 |
166 String toString() => 'CodegenWorkItem(${resolvedAst.element})'; | 162 String toString() => 'CodegenWorkItem(${resolvedAst.element})'; |
167 } | 163 } |
OLD | NEW |