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 08ad9d0f5fb570222535dc0b03387ee29fd2052a..12896e03ab0c2f1b438fe7eb0766161e01023bde 100644 |
--- a/pkg/compiler/lib/src/kernel/kernel_strategy.dart |
+++ b/pkg/compiler/lib/src/kernel/kernel_strategy.dart |
@@ -26,7 +26,9 @@ import '../js_backend/native_data.dart'; |
import '../js_backend/no_such_method_registry.dart'; |
import '../js_backend/runtime_types.dart'; |
import '../library_loader.dart'; |
+import '../native/enqueue.dart' show NativeResolutionEnqueuer; |
import '../native/resolver.dart'; |
+import '../options.dart'; |
import '../serialization/task.dart'; |
import '../patch_parser.dart'; |
import '../resolved_uri_translator.dart'; |
@@ -39,13 +41,14 @@ 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 { |
+class KernelFrontEndStrategy extends FrontendStrategyBase { |
+ CompilerOptions _options; |
KernelToElementMapForImpactImpl _elementMap; |
KernelAnnotationProcessor _annotationProcesser; |
KernelFrontEndStrategy( |
- DiagnosticReporter reporter, env.Environment environment) |
+ this._options, DiagnosticReporter reporter, env.Environment environment) |
: _elementMap = useJsStrategyForTesting |
? new KernelToElementMapForImpactImpl2(reporter, environment) |
: new KernelToElementMapImpl(reporter, environment); |
@@ -76,8 +79,8 @@ class KernelFrontEndStrategy implements FrontendStrategy { |
KernelToElementMapForImpact get elementMap => _elementMap; |
@override |
- AnnotationProcessor get annotationProcesser => |
- _annotationProcesser ??= new KernelAnnotationProcessor(elementMap); |
+ AnnotationProcessor get annotationProcesser => _annotationProcesser ??= |
+ new KernelAnnotationProcessor(elementMap, nativeBasicDataBuilder); |
@override |
NativeClassFinder createNativeClassFinder(NativeBasicData nativeBasicData) { |
@@ -115,13 +118,18 @@ class KernelFrontEndStrategy implements FrontendStrategy { |
NativeDataBuilder nativeDataBuilder, |
InterceptorDataBuilder interceptorDataBuilder, |
BackendUsageBuilder backendUsageBuilder, |
+ RuntimeTypesNeedBuilder rtiNeedBuilder, |
+ NativeResolutionEnqueuer nativeResolutionEnqueuer, |
SelectorConstraintsStrategy selectorConstraintsStrategy) { |
return new KernelResolutionWorldBuilder( |
+ _options, |
elementMap, |
nativeBasicData, |
nativeDataBuilder, |
interceptorDataBuilder, |
backendUsageBuilder, |
+ rtiNeedBuilder, |
+ nativeResolutionEnqueuer, |
selectorConstraintsStrategy); |
} |