| Index: utils/kernel-service/kernel-service.dart
|
| diff --git a/utils/kernel-service/kernel-service.dart b/utils/kernel-service/kernel-service.dart
|
| index 0e989dbba83602280c414e41e86ff5d1ef526ec2..957613bee19664e17fb17e0e295639227e5dc70a 100644
|
| --- a/utils/kernel-service/kernel-service.dart
|
| +++ b/utils/kernel-service/kernel-service.dart
|
| @@ -29,6 +29,7 @@ import 'package:front_end/memory_file_system.dart';
|
| import 'package:front_end/physical_file_system.dart';
|
| import 'package:front_end/src/fasta/vm.dart'
|
| show CompilationResult, Status, parseScriptInFileSystem;
|
| +import 'package:front_end/src/testing/hybrid_file_system.dart';
|
|
|
| const bool verbose = const bool.fromEnvironment('DFE_VERBOSE');
|
|
|
| @@ -114,48 +115,6 @@ FileSystem _buildFileSystem(List namedSources) {
|
| return new HybridFileSystem(fileSystem);
|
| }
|
|
|
| -/// A file system that mixes files from memory and a physical file system. All
|
| -/// memory entities take priotity over file system entities.
|
| -class HybridFileSystem implements FileSystem {
|
| - final MemoryFileSystem memory;
|
| - final PhysicalFileSystem physical = PhysicalFileSystem.instance;
|
| -
|
| - HybridFileSystem(this.memory);
|
| -
|
| - @override
|
| - FileSystemEntity entityForUri(Uri uri) => new HybridFileSystemEntity(
|
| - memory.entityForUri(uri), physical.entityForUri(uri));
|
| -}
|
| -
|
| -/// Entity that delegates to an underlying memory or phisical file system
|
| -/// entity.
|
| -class HybridFileSystemEntity implements FileSystemEntity {
|
| - final FileSystemEntity memory;
|
| - final FileSystemEntity physical;
|
| -
|
| - HybridFileSystemEntity(this.memory, this.physical);
|
| -
|
| - FileSystemEntity _delegate;
|
| - Future<FileSystemEntity> get delegate async {
|
| - return _delegate ??= (await memory.exists()) ? memory : physical;
|
| - }
|
| -
|
| - @override
|
| - Uri get uri => memory.uri;
|
| -
|
| - @override
|
| - Future<bool> exists() async => (await delegate).exists();
|
| -
|
| - @override
|
| - Future<DateTime> lastModified() async => (await delegate).lastModified();
|
| -
|
| - @override
|
| - Future<List<int>> readAsBytes() async => (await delegate).readAsBytes();
|
| -
|
| - @override
|
| - Future<String> readAsString() async => (await delegate).readAsString();
|
| -}
|
| -
|
| train(String scriptUri) {
|
| // TODO(28532): Enable on Windows.
|
| if (Platform.isWindows) return;
|
|
|