| 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.kernel.frontend_strategy; | 5 library dart2js.kernel.frontend_strategy; |
| 6 | 6 |
| 7 import '../closure.dart'; | 7 import '../closure.dart'; |
| 8 import '../backend_strategy.dart'; | 8 import '../backend_strategy.dart'; |
| 9 import '../common.dart'; | 9 import '../common.dart'; |
| 10 import '../common_elements.dart'; | 10 import '../common_elements.dart'; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 import '../js_backend/no_such_method_registry.dart'; | 27 import '../js_backend/no_such_method_registry.dart'; |
| 28 import '../js_emitter/sorter.dart'; | 28 import '../js_emitter/sorter.dart'; |
| 29 import '../library_loader.dart'; | 29 import '../library_loader.dart'; |
| 30 import '../native/resolver.dart'; | 30 import '../native/resolver.dart'; |
| 31 import '../serialization/task.dart'; | 31 import '../serialization/task.dart'; |
| 32 import '../patch_parser.dart'; | 32 import '../patch_parser.dart'; |
| 33 import '../resolved_uri_translator.dart'; | 33 import '../resolved_uri_translator.dart'; |
| 34 import '../universe/world_builder.dart'; | 34 import '../universe/world_builder.dart'; |
| 35 import '../universe/world_impact.dart'; | 35 import '../universe/world_impact.dart'; |
| 36 import '../world.dart'; | 36 import '../world.dart'; |
| 37 import 'element_map.dart'; | 37 import 'element_map_impl.dart'; |
| 38 | 38 |
| 39 /// Front end strategy that loads '.dill' files and builds a resolved element | 39 /// Front end strategy that loads '.dill' files and builds a resolved element |
| 40 /// model from kernel IR nodes. | 40 /// model from kernel IR nodes. |
| 41 class KernelFrontEndStrategy implements FrontEndStrategy { | 41 class KernelFrontEndStrategy implements FrontEndStrategy { |
| 42 KernelToElementMap elementMap; | 42 KernelToElementMapImpl elementMap; |
| 43 | 43 |
| 44 KernelAnnotationProcessor _annotationProcesser; | 44 KernelAnnotationProcessor _annotationProcesser; |
| 45 | 45 |
| 46 KernelFrontEndStrategy( | 46 KernelFrontEndStrategy( |
| 47 DiagnosticReporter reporter, env.Environment environment) | 47 DiagnosticReporter reporter, env.Environment environment) |
| 48 : elementMap = new KernelToElementMap(reporter, environment); | 48 : elementMap = new KernelToElementMapImpl(reporter, environment); |
| 49 | 49 |
| 50 @override | 50 @override |
| 51 LibraryLoaderTask createLibraryLoader( | 51 LibraryLoaderTask createLibraryLoader( |
| 52 ResolvedUriTranslator uriTranslator, | 52 ResolvedUriTranslator uriTranslator, |
| 53 ScriptLoader scriptLoader, | 53 ScriptLoader scriptLoader, |
| 54 ElementScanner scriptScanner, | 54 ElementScanner scriptScanner, |
| 55 LibraryDeserializer deserializer, | 55 LibraryDeserializer deserializer, |
| 56 PatchResolverFunction patchResolverFunc, | 56 PatchResolverFunction patchResolverFunc, |
| 57 PatchParserTask patchParser, | 57 PatchParserTask patchParser, |
| 58 env.Environment environment, | 58 env.Environment environment, |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 elementMap, nativeBasicData, selectorConstraintsStrategy); | 113 elementMap, nativeBasicData, selectorConstraintsStrategy); |
| 114 } | 114 } |
| 115 | 115 |
| 116 WorkItemBuilder createResolutionWorkItemBuilder( | 116 WorkItemBuilder createResolutionWorkItemBuilder( |
| 117 ImpactTransformer impactTransformer) { | 117 ImpactTransformer impactTransformer) { |
| 118 return new KernelWorkItemBuilder(elementMap, impactTransformer); | 118 return new KernelWorkItemBuilder(elementMap, impactTransformer); |
| 119 } | 119 } |
| 120 } | 120 } |
| 121 | 121 |
| 122 class KernelWorkItemBuilder implements WorkItemBuilder { | 122 class KernelWorkItemBuilder implements WorkItemBuilder { |
| 123 final KernelToElementMap _elementMap; | 123 final KernelToElementMapImpl _elementMap; |
| 124 final ImpactTransformer _impactTransformer; | 124 final ImpactTransformer _impactTransformer; |
| 125 | 125 |
| 126 KernelWorkItemBuilder(this._elementMap, this._impactTransformer); | 126 KernelWorkItemBuilder(this._elementMap, this._impactTransformer); |
| 127 | 127 |
| 128 @override | 128 @override |
| 129 WorkItem createWorkItem(MemberEntity entity) { | 129 WorkItem createWorkItem(MemberEntity entity) { |
| 130 return new KernelWorkItem(_elementMap, _impactTransformer, entity); | 130 return new KernelWorkItem(_elementMap, _impactTransformer, entity); |
| 131 } | 131 } |
| 132 } | 132 } |
| 133 | 133 |
| 134 class KernelWorkItem implements ResolutionWorkItem { | 134 class KernelWorkItem implements ResolutionWorkItem { |
| 135 final KernelToElementMap _elementMap; | 135 final KernelToElementMapImpl _elementMap; |
| 136 final ImpactTransformer _impactTransformer; | 136 final ImpactTransformer _impactTransformer; |
| 137 final MemberEntity element; | 137 final MemberEntity element; |
| 138 | 138 |
| 139 KernelWorkItem(this._elementMap, this._impactTransformer, this.element); | 139 KernelWorkItem(this._elementMap, this._impactTransformer, this.element); |
| 140 | 140 |
| 141 @override | 141 @override |
| 142 WorldImpact run() { | 142 WorldImpact run() { |
| 143 ResolutionImpact impact = _elementMap.computeWorldImpact(element); | 143 ResolutionImpact impact = _elementMap.computeWorldImpact(element); |
| 144 return _impactTransformer.transformResolutionImpact(impact); | 144 return _impactTransformer.transformResolutionImpact(impact); |
| 145 } | 145 } |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 Sorter get sorter => | 221 Sorter get sorter => |
| 222 throw new UnimplementedError('KernelBackendStrategy.sorter'); | 222 throw new UnimplementedError('KernelBackendStrategy.sorter'); |
| 223 | 223 |
| 224 @override | 224 @override |
| 225 void convertClosures(ClosedWorldRefiner closedWorldRefiner) { | 225 void convertClosures(ClosedWorldRefiner closedWorldRefiner) { |
| 226 // TODO(johnniwinther,efortuna): Compute closure classes for kernel based | 226 // TODO(johnniwinther,efortuna): Compute closure classes for kernel based |
| 227 // elements. | 227 // elements. |
| 228 throw new UnimplementedError('KernelBackendStrategy.createClosureClasses'); | 228 throw new UnimplementedError('KernelBackendStrategy.createClosureClasses'); |
| 229 } | 229 } |
| 230 } | 230 } |
| OLD | NEW |