| 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.frontend_strategy; | 5 library dart2js.frontend_strategy; |
| 6 | 6 |
| 7 import 'common.dart'; | 7 import 'common.dart'; |
| 8 import 'common_elements.dart'; | 8 import 'common_elements.dart'; |
| 9 import 'common/backend_api.dart'; | 9 import 'common/backend_api.dart'; |
| 10 import 'common/tasks.dart'; | 10 import 'common/tasks.dart'; |
| 11 import 'elements/entities.dart'; | 11 import 'elements/entities.dart'; |
| 12 import 'elements/types.dart'; | 12 import 'elements/types.dart'; |
| 13 import 'environment.dart'; | 13 import 'environment.dart'; |
| 14 import 'enqueue.dart'; | 14 import 'enqueue.dart'; |
| 15 import 'js_backend/backend.dart'; | 15 import 'js_backend/backend.dart'; |
| 16 import 'js_backend/backend_usage.dart'; | 16 import 'js_backend/backend_usage.dart'; |
| 17 import 'js_backend/custom_elements_analysis.dart'; | |
| 18 import 'js_backend/interceptor_data.dart'; | 17 import 'js_backend/interceptor_data.dart'; |
| 19 import 'js_backend/mirrors_analysis.dart'; | 18 import 'js_backend/mirrors_analysis.dart'; |
| 20 import 'js_backend/mirrors_data.dart'; | 19 import 'js_backend/mirrors_data.dart'; |
| 21 import 'js_backend/native_data.dart'; | 20 import 'js_backend/native_data.dart'; |
| 22 import 'js_backend/no_such_method_registry.dart'; | 21 import 'js_backend/no_such_method_registry.dart'; |
| 23 import 'js_backend/runtime_types.dart'; | 22 import 'js_backend/runtime_types.dart'; |
| 24 import 'library_loader.dart'; | 23 import 'library_loader.dart'; |
| 25 import 'native/resolver.dart'; | 24 import 'native/resolver.dart'; |
| 26 import 'serialization/task.dart'; | 25 import 'serialization/task.dart'; |
| 27 import 'patch_parser.dart'; | 26 import 'patch_parser.dart'; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 NativeDataBuilder nativeDataBuilder, | 76 NativeDataBuilder nativeDataBuilder, |
| 78 ImpactTransformer impactTransformer); | 77 ImpactTransformer impactTransformer); |
| 79 | 78 |
| 80 /// Computes the main function from [mainLibrary] adding additional world | 79 /// Computes the main function from [mainLibrary] adding additional world |
| 81 /// impact to [impactBuilder]. | 80 /// impact to [impactBuilder]. |
| 82 FunctionEntity computeMain( | 81 FunctionEntity computeMain( |
| 83 LibraryEntity mainLibrary, WorldImpactBuilder impactBuilder); | 82 LibraryEntity mainLibrary, WorldImpactBuilder impactBuilder); |
| 84 | 83 |
| 85 // TODO(johnniwinther): Reuse the following classes between strategies: | 84 // TODO(johnniwinther): Reuse the following classes between strategies: |
| 86 | 85 |
| 87 /// Creates the [CustomElementsResolutionAnalysis] for this strategy. | |
| 88 CustomElementsResolutionAnalysis createCustomElementsResolutionAnalysis( | |
| 89 NativeBasicData nativeBasicData, BackendUsageBuilder backendUsageBuilder); | |
| 90 | |
| 91 /// Creates the [MirrorsDataBuilder] for this strategy. | 86 /// Creates the [MirrorsDataBuilder] for this strategy. |
| 92 MirrorsDataBuilder createMirrorsDataBuilder(); | 87 MirrorsDataBuilder createMirrorsDataBuilder(); |
| 93 | 88 |
| 94 /// Creates the [MirrorsResolutionAnalysis] for this strategy. | 89 /// Creates the [MirrorsResolutionAnalysis] for this strategy. |
| 95 // TODO(johnniwinther): Avoid passing [JavaScriptBackend]. | 90 // TODO(johnniwinther): Avoid passing [JavaScriptBackend]. |
| 96 MirrorsResolutionAnalysis createMirrorsResolutionAnalysis( | 91 MirrorsResolutionAnalysis createMirrorsResolutionAnalysis( |
| 97 JavaScriptBackend backend); | 92 JavaScriptBackend backend); |
| 98 | 93 |
| 99 /// Creates the [RuntimeTypesNeedBuilder] for this strategy. | 94 /// Creates the [RuntimeTypesNeedBuilder] for this strategy. |
| 100 RuntimeTypesNeedBuilder createRuntimeTypesNeedBuilder(); | 95 RuntimeTypesNeedBuilder createRuntimeTypesNeedBuilder(); |
| 101 | 96 |
| 102 /// Creates a [SourceSpan] from [spannable] in context of [currentElement]. | 97 /// Creates a [SourceSpan] from [spannable] in context of [currentElement]. |
| 103 SourceSpan spanFromSpannable(Spannable spannable, Entity currentElement); | 98 SourceSpan spanFromSpannable(Spannable spannable, Entity currentElement); |
| 104 } | 99 } |
| 105 | 100 |
| 106 /// Class that performs the mechanics to investigate annotations in the code. | 101 /// Class that performs the mechanics to investigate annotations in the code. |
| 107 abstract class AnnotationProcessor { | 102 abstract class AnnotationProcessor { |
| 108 void extractNativeAnnotations( | 103 void extractNativeAnnotations( |
| 109 LibraryEntity library, NativeBasicDataBuilder nativeBasicDataBuilder); | 104 LibraryEntity library, NativeBasicDataBuilder nativeBasicDataBuilder); |
| 110 | 105 |
| 111 void extractJsInteropAnnotations( | 106 void extractJsInteropAnnotations( |
| 112 LibraryEntity library, NativeBasicDataBuilder nativeBasicDataBuilder); | 107 LibraryEntity library, NativeBasicDataBuilder nativeBasicDataBuilder); |
| 113 | 108 |
| 114 void processJsInteropAnnotations( | 109 void processJsInteropAnnotations( |
| 115 NativeBasicData nativeBasicData, NativeDataBuilder nativeDataBuilder); | 110 NativeBasicData nativeBasicData, NativeDataBuilder nativeDataBuilder); |
| 116 } | 111 } |
| OLD | NEW |