| Index: pkg/compiler/lib/src/kernel/kernel_strategy.dart
|
| diff --git a/pkg/compiler/lib/src/kernel/kernel_strategy.dart b/pkg/compiler/lib/src/kernel/kernel_strategy.dart
|
| index 256cfa9d5866166b47f8fba90f4fd24497613137..08ad9d0f5fb570222535dc0b03387ee29fd2052a 100644
|
| --- a/pkg/compiler/lib/src/kernel/kernel_strategy.dart
|
| +++ b/pkg/compiler/lib/src/kernel/kernel_strategy.dart
|
| @@ -33,18 +33,22 @@ import '../resolved_uri_translator.dart';
|
| import '../universe/world_builder.dart';
|
| import '../universe/world_impact.dart';
|
| import '../world.dart';
|
| +import 'element_map.dart';
|
| import 'element_map_impl.dart';
|
| +import 'kernel_backend_strategy.dart';
|
|
|
| /// Front end strategy that loads '.dill' files and builds a resolved element
|
| /// model from kernel IR nodes.
|
| class KernelFrontEndStrategy implements FrontendStrategy {
|
| - KernelToElementMapImpl elementMap;
|
| + KernelToElementMapForImpactImpl _elementMap;
|
|
|
| KernelAnnotationProcessor _annotationProcesser;
|
|
|
| KernelFrontEndStrategy(
|
| DiagnosticReporter reporter, env.Environment environment)
|
| - : elementMap = new KernelToElementMapImpl(reporter, environment);
|
| + : _elementMap = useJsStrategyForTesting
|
| + ? new KernelToElementMapForImpactImpl2(reporter, environment)
|
| + : new KernelToElementMapImpl(reporter, environment);
|
|
|
| @override
|
| LibraryLoaderTask createLibraryLoader(
|
| @@ -58,16 +62,18 @@ class KernelFrontEndStrategy implements FrontendStrategy {
|
| DiagnosticReporter reporter,
|
| Measurer measurer) {
|
| return new DillLibraryLoaderTask(
|
| - elementMap, uriTranslator, scriptLoader, reporter, measurer);
|
| + _elementMap, uriTranslator, scriptLoader, reporter, measurer);
|
| }
|
|
|
| @override
|
| - ElementEnvironment get elementEnvironment => elementMap.elementEnvironment;
|
| + ElementEnvironment get elementEnvironment => _elementMap.elementEnvironment;
|
|
|
| @override
|
| - CommonElements get commonElements => elementMap.commonElements;
|
| + CommonElements get commonElements => _elementMap.commonElements;
|
|
|
| - DartTypes get dartTypes => elementMap.types;
|
| + DartTypes get dartTypes => _elementMap.types;
|
| +
|
| + KernelToElementMapForImpact get elementMap => _elementMap;
|
|
|
| @override
|
| AnnotationProcessor get annotationProcesser =>
|
| @@ -75,7 +81,7 @@ class KernelFrontEndStrategy implements FrontendStrategy {
|
|
|
| @override
|
| NativeClassFinder createNativeClassFinder(NativeBasicData nativeBasicData) {
|
| - return new BaseNativeClassFinder(elementMap.elementEnvironment,
|
| + return new BaseNativeClassFinder(_elementMap.elementEnvironment,
|
| elementMap.commonElements, nativeBasicData);
|
| }
|
|
|
| @@ -101,7 +107,7 @@ class KernelFrontEndStrategy implements FrontendStrategy {
|
|
|
| RuntimeTypesNeedBuilder createRuntimeTypesNeedBuilder() {
|
| return new RuntimeTypesNeedBuilderImpl(
|
| - elementEnvironment, elementMap.types);
|
| + elementEnvironment, _elementMap.types);
|
| }
|
|
|
| ResolutionWorldBuilder createResolutionWorldBuilder(
|
| @@ -135,7 +141,7 @@ class KernelFrontEndStrategy implements FrontendStrategy {
|
| }
|
|
|
| class KernelWorkItemBuilder implements WorkItemBuilder {
|
| - final KernelToElementMapImpl _elementMap;
|
| + final KernelToElementMapForImpactImpl _elementMap;
|
| final ImpactTransformer _impactTransformer;
|
| final NativeMemberResolver _nativeMemberResolver;
|
|
|
| @@ -152,7 +158,7 @@ class KernelWorkItemBuilder implements WorkItemBuilder {
|
| }
|
|
|
| class KernelWorkItem implements ResolutionWorkItem {
|
| - final KernelToElementMapImpl _elementMap;
|
| + final KernelToElementMapForImpactImpl _elementMap;
|
| final ImpactTransformer _impactTransformer;
|
| final NativeMemberResolver _nativeMemberResolver;
|
| final MemberEntity element;
|
|
|