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

Unified Diff: utils/kernel-service/kernel-service.dart

Issue 2925953002: Add integration test: hot reload + incremental compiler (Closed)
Patch Set: address CL comments Created 3 years, 6 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 | « pkg/front_end/test/subpackage_relationships_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « pkg/front_end/test/subpackage_relationships_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698