Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1068)

Unified Diff: pkg/front_end/lib/src/incremental/file_state.dart

Issue 3007503002: Load extraRequiredLibraries from the target passed in the options (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/front_end/lib/src/incremental/kernel_driver.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/front_end/lib/src/incremental/file_state.dart
diff --git a/pkg/front_end/lib/src/incremental/file_state.dart b/pkg/front_end/lib/src/incremental/file_state.dart
index d060d02e7849f534c2037fcd3378235641b7c662..cb0a0d6d44254af58f384173d25a2bb8dc5431e7 100644
--- a/pkg/front_end/lib/src/incremental/file_state.dart
+++ b/pkg/front_end/lib/src/incremental/file_state.dart
@@ -15,7 +15,7 @@ import 'package:front_end/src/fasta/uri_translator.dart';
import 'package:front_end/src/byte_store/byte_store.dart';
import 'package:front_end/src/incremental/format.dart';
import 'package:front_end/src/incremental/unlinked_unit.dart';
-import 'package:kernel/target/vm.dart';
+import 'package:kernel/target/targets.dart';
/// This function is called for each newly discovered file, and the returned
/// [Future] is awaited before reading the file content.
@@ -182,7 +182,7 @@ class FileState {
_importedLibraries.add(file);
}
}
- await _addVmTargetImportsForCore();
+ await _addTargetExtraRequiredLibraries();
for (var export_ in unlinkedUnit.exports) {
FileState file = await _getFileForRelativeUri(export_.uri);
if (file != null) {
@@ -228,13 +228,14 @@ class FileState {
return uri.toString();
}
- /// Fasta unconditionally loads all VM libraries. In order to be able to
- /// serve them using the file system view, pretend that all of them were
- /// imported into `dart:core`.
- /// TODO(scheglov) Ask VM people whether all these libraries are required.
- Future<Null> _addVmTargetImportsForCore() async {
+ /// Fasta unconditionally loads extra libraries based on the target. In order
+ /// to be able to serve them using the file system view, pretend that all of
+ /// them were imported into `dart:core`.
+ /// TODO(scheglov,sigmund): remove this implicit import, instead make fasta
+ /// and IKG aware of extra code that needs to be loaded.
+ Future<Null> _addTargetExtraRequiredLibraries() async {
if (uri.toString() != 'dart:core') return;
- for (String uri in new VmTarget(null).extraRequiredLibraries) {
+ for (String uri in _fsState.target.extraRequiredLibraries) {
FileState file = await _getFileForRelativeUri(uri);
// TODO(scheglov) add error handling
if (file != null) {
@@ -267,6 +268,7 @@ class FileState {
class FileSystemState {
final ByteStore _byteStore;
final FileSystem fileSystem;
+ final Target target;
final UriTranslator uriTranslator;
final List<int> _salt;
final NewFileFn _newFileFn;
@@ -285,8 +287,8 @@ class FileSystemState {
/// We do this when we use SDK outline instead of compiling SDK sources.
final Set<Uri> skipSdkLibraries = new Set<Uri>();
- FileSystemState(this._byteStore, this.fileSystem, this.uriTranslator,
- this._salt, this._newFileFn);
+ FileSystemState(this._byteStore, this.fileSystem, this.target,
+ this.uriTranslator, this._salt, this._newFileFn);
/// Return the [FileSystem] that is backed by this [FileSystemState]. The
/// files in this [FileSystem] always have the same content as the
« no previous file with comments | « no previous file | pkg/front_end/lib/src/incremental/kernel_driver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698