| 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 a0bbb71a631d3514fee4a64db8e2dcfecf1efd14..accbdcf42f4ba6979150f2cde770188c12ae8fc6 100644
|
| --- a/pkg/front_end/lib/src/incremental/file_state.dart
|
| +++ b/pkg/front_end/lib/src/incremental/file_state.dart
|
| @@ -7,6 +7,7 @@ import 'dart:typed_data';
|
|
|
| import 'package:crypto/crypto.dart';
|
| import 'package:front_end/file_system.dart';
|
| +import 'package:front_end/src/base/resolve_relative_uri.dart';
|
| import 'package:front_end/src/dependency_walker.dart' as graph;
|
| import 'package:front_end/src/fasta/parser/dart_vm_native.dart';
|
| import 'package:front_end/src/fasta/parser/top_level_parser.dart';
|
| @@ -167,8 +168,8 @@ class FileState {
|
|
|
| @override
|
| String toString() {
|
| - if (fileUri.scheme == 'file') return fileUri.path;
|
| - return fileUri.toString();
|
| + if (uri.scheme == 'file') return uri.path;
|
| + return uri.toString();
|
| }
|
|
|
| /// Fasta unconditionally loads all VM libraries. In order to be able to
|
| @@ -197,7 +198,7 @@ class FileState {
|
| // 2) The absolute non-file URI, e.g. `package:foo/foo.dart`.
|
| Uri absoluteUri;
|
| try {
|
| - absoluteUri = fileUri.resolve(relativeUri);
|
| + absoluteUri = resolveRelativeUri(uri, Uri.parse(relativeUri));
|
| } on FormatException {
|
| return null;
|
| }
|
| @@ -221,6 +222,9 @@ class FileSystemState {
|
| _FileSystemView _fileSystemView;
|
|
|
| /// Mapping from file URIs to corresponding [FileState]s.
|
| + final Map<Uri, FileState> _uriToFile = {};
|
| +
|
| + /// Mapping from file URIs to corresponding [FileState]s.
|
| final Map<Uri, FileState> _fileUriToFile = {};
|
|
|
| FileSystemState(this.fileSystem, this.uriTranslator);
|
| @@ -247,10 +251,10 @@ class FileSystemState {
|
| if (fileUri == null) return null;
|
| }
|
|
|
| - FileState file = _fileUriToFile[absoluteUri];
|
| + FileState file = _uriToFile[absoluteUri];
|
| if (file == null) {
|
| file = new FileState._(this, absoluteUri, fileUri);
|
| - _fileUriToFile[absoluteUri] = file;
|
| + _uriToFile[absoluteUri] = file;
|
| _fileUriToFile[fileUri] = file;
|
|
|
| // Build the sub-graph of the file.
|
|
|