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.backend_strategy; | 5 library dart2js.backend_strategy; |
6 | 6 |
7 import 'closure.dart' show ClosureConversionTask; | 7 import 'closure.dart' show ClosureConversionTask; |
| 8 import 'common.dart'; |
8 import 'common/tasks.dart'; | 9 import 'common/tasks.dart'; |
9 import 'enqueue.dart'; | 10 import 'enqueue.dart'; |
| 11 import 'elements/entities.dart'; |
10 import 'io/source_information.dart'; | 12 import 'io/source_information.dart'; |
11 import 'js_backend/js_backend.dart'; | 13 import 'js_backend/js_backend.dart'; |
12 import 'js_backend/native_data.dart'; | 14 import 'js_backend/native_data.dart'; |
13 import 'js_emitter/sorter.dart'; | 15 import 'js_emitter/sorter.dart'; |
14 import 'ssa/ssa.dart'; | 16 import 'ssa/ssa.dart'; |
15 import 'universe/world_builder.dart'; | 17 import 'universe/world_builder.dart'; |
16 import 'world.dart'; | 18 import 'world.dart'; |
17 | 19 |
18 /// Strategy pattern that defines the element model used in type inference | 20 /// Strategy pattern that defines the element model used in type inference |
19 /// and code generation. | 21 /// and code generation. |
(...skipping 16 matching lines...) Expand all Loading... |
36 | 38 |
37 /// Creates the [WorkItemBuilder] used by the codegen enqueuer. | 39 /// Creates the [WorkItemBuilder] used by the codegen enqueuer. |
38 WorkItemBuilder createCodegenWorkItemBuilder(ClosedWorld closedWorld); | 40 WorkItemBuilder createCodegenWorkItemBuilder(ClosedWorld closedWorld); |
39 | 41 |
40 /// Creates the [SsaBuilder] used for the element model. | 42 /// Creates the [SsaBuilder] used for the element model. |
41 SsaBuilder createSsaBuilder(CompilerTask task, JavaScriptBackend backend, | 43 SsaBuilder createSsaBuilder(CompilerTask task, JavaScriptBackend backend, |
42 SourceInformationStrategy sourceInformationStrategy); | 44 SourceInformationStrategy sourceInformationStrategy); |
43 | 45 |
44 /// Returns the [SourceInformationStrategy] use for the element model. | 46 /// Returns the [SourceInformationStrategy] use for the element model. |
45 SourceInformationStrategy get sourceInformationStrategy; | 47 SourceInformationStrategy get sourceInformationStrategy; |
| 48 |
| 49 /// Creates a [SourceSpan] from [spannable] in context of [currentElement]. |
| 50 SourceSpan spanFromSpannable(Spannable spannable, Entity currentElement); |
46 } | 51 } |
OLD | NEW |