OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 fasta.target_implementation; | 5 library fasta.target_implementation; |
6 | 6 |
7 import 'package:kernel/target/vm.dart' show VmTarget; | 7 import 'package:kernel/target/vm.dart' show VmTarget; |
8 | 8 |
9 import 'builder/builder.dart' show Builder, ClassBuilder, LibraryBuilder; | 9 import 'builder/builder.dart' show Builder, ClassBuilder, LibraryBuilder; |
10 | 10 |
11 import 'parser/dart_vm_native.dart' as vm show skipNativeClause; | |
12 | |
13 import 'scanner/token.dart' show Token; | |
14 | |
15 import 'loader.dart' show Loader; | 11 import 'loader.dart' show Loader; |
16 | 12 |
17 import 'quote.dart' show unescapeString; | |
18 | |
19 import 'target.dart' show Target; | 13 import 'target.dart' show Target; |
20 | 14 |
21 import 'ticker.dart' show Ticker; | 15 import 'ticker.dart' show Ticker; |
22 | 16 |
23 import 'translate_uri.dart' show TranslateUri; | 17 import 'translate_uri.dart' show TranslateUri; |
24 | 18 |
25 /// Provides the implementation details used by a loader for a target. | 19 /// Provides the implementation details used by a loader for a target. |
26 abstract class TargetImplementation extends Target { | 20 abstract class TargetImplementation extends Target { |
27 final TranslateUri uriTranslator; | 21 final TranslateUri uriTranslator; |
28 Builder cachedCompileTimeError; | 22 Builder cachedCompileTimeError; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 LibraryBuilder internal = loader.read(Uri.parse("dart:_internal")); | 71 LibraryBuilder internal = loader.read(Uri.parse("dart:_internal")); |
78 return cachedNativeAnnotation = internal.getConstructor("ExternalName"); | 72 return cachedNativeAnnotation = internal.getConstructor("ExternalName"); |
79 } | 73 } |
80 | 74 |
81 void loadExtraRequiredLibraries(Loader loader) { | 75 void loadExtraRequiredLibraries(Loader loader) { |
82 for (String uri in new VmTarget(null).extraRequiredLibraries) { | 76 for (String uri in new VmTarget(null).extraRequiredLibraries) { |
83 loader.read(Uri.parse(uri)); | 77 loader.read(Uri.parse(uri)); |
84 } | 78 } |
85 } | 79 } |
86 | 80 |
87 Token skipNativeClause(Token token) => vm.skipNativeClause(token); | |
88 | |
89 String extractNativeMethodName(Token token) => | |
90 unescapeString(token.next.lexeme); | |
91 | |
92 void addSourceInformation( | 81 void addSourceInformation( |
93 Uri uri, List<int> lineStarts, List<int> sourceCode); | 82 Uri uri, List<int> lineStarts, List<int> sourceCode); |
94 } | 83 } |
OLD | NEW |