Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 library dart2js.kernel.frontend_strategy; | |
| 6 | |
| 7 import '../common.dart'; | |
| 8 import '../common_elements.dart'; | |
| 9 import '../common/tasks.dart'; | |
| 10 import '../environment.dart' as env; | |
| 11 import '../frontend_strategy.dart'; | |
| 12 import '../library_loader.dart'; | |
| 13 import '../native/resolver.dart'; | |
| 14 import '../serialization/task.dart'; | |
| 15 import '../patch_parser.dart'; | |
| 16 import '../resolved_uri_translator.dart'; | |
| 17 import 'world_builder.dart'; | |
| 18 | |
| 19 /// Frontend strategy that loads '.dill' files and builds a resolved element | |
|
Siggi Cherem (dart-lang)
2017/04/24 19:36:47
nit: for consistency, maybe split "frontend" as "
Johnni Winther
2017/04/25 07:52:51
Done.
| |
| 20 /// model from kernel IR nodes. | |
| 21 class KernelFrontEndStrategy implements FrontEndStrategy { | |
| 22 KernelWorldBuilder worldBuilder; | |
| 23 | |
| 24 KernelAnnotationProcessor _annotationProcesser; | |
| 25 | |
| 26 KernelFrontEndStrategy(DiagnosticReporter reporter) | |
| 27 : worldBuilder = new KernelWorldBuilder(reporter); | |
| 28 | |
| 29 @override | |
| 30 LibraryLoaderTask createLibraryLoader( | |
| 31 ResolvedUriTranslator uriTranslator, | |
| 32 ScriptLoader scriptLoader, | |
| 33 ElementScanner scriptScanner, | |
| 34 LibraryDeserializer deserializer, | |
| 35 PatchResolverFunction patchResolverFunc, | |
| 36 PatchParserTask patchParser, | |
| 37 env.Environment environment, | |
| 38 DiagnosticReporter reporter, | |
| 39 Measurer measurer) { | |
| 40 return new DillLibraryLoaderTask( | |
| 41 worldBuilder, uriTranslator, scriptLoader, reporter, measurer); | |
| 42 } | |
| 43 | |
| 44 @override | |
| 45 ElementEnvironment get elementEnvironment => worldBuilder.elementEnvironment; | |
| 46 | |
| 47 @override | |
| 48 AnnotationProcessor get annotationProcesser => | |
| 49 _annotationProcesser ??= new KernelAnnotationProcessor(worldBuilder); | |
| 50 } | |
| OLD | NEW |