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