| 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.frontend_strategy; |
| 6 |
| 7 import 'common.dart'; |
| 8 import 'common_elements.dart'; |
| 9 import 'common/tasks.dart'; |
| 10 import 'elements/entities.dart'; |
| 11 import 'environment.dart'; |
| 12 import 'js_backend/native_data.dart'; |
| 13 import 'library_loader.dart'; |
| 14 import 'serialization/task.dart'; |
| 15 import 'patch_parser.dart'; |
| 16 import 'resolved_uri_translator.dart'; |
| 17 |
| 18 /// Strategy pattern that defines the connection between the input format and |
| 19 /// the resolved element model. |
| 20 abstract class FrontEndStrategy { |
| 21 /// Creates library loader task for this strategy. |
| 22 LibraryLoaderTask createLibraryLoader( |
| 23 ResolvedUriTranslator uriTranslator, |
| 24 ScriptLoader scriptLoader, |
| 25 ElementScanner scriptScanner, |
| 26 LibraryDeserializer deserializer, |
| 27 PatchResolverFunction patchResolverFunc, |
| 28 PatchParserTask patchParser, |
| 29 Environment environment, |
| 30 DiagnosticReporter reporter, |
| 31 Measurer measurer); |
| 32 |
| 33 /// Returns the [ElementEnvironment] for the element model used in this |
| 34 /// strategy. |
| 35 ElementEnvironment get elementEnvironment; |
| 36 |
| 37 /// Returns the [AnnotationProcessor] for this strategy. |
| 38 AnnotationProcessor get annotationProcesser; |
| 39 } |
| 40 |
| 41 /// Class that performs the mechanics to investigate annotations in the code. |
| 42 abstract class AnnotationProcessor { |
| 43 void extractNativeAnnotations( |
| 44 LibraryEntity library, NativeBasicDataBuilder nativeBasicDataBuilder); |
| 45 |
| 46 void extractJsInteropAnnotations( |
| 47 LibraryEntity library, NativeBasicDataBuilder nativeBasicDataBuilder); |
| 48 } |
| OLD | NEW |