Index: pkg/analyzer/lib/src/dart/analysis/byte_store.dart |
diff --git a/pkg/analyzer/lib/src/dart/analysis/byte_store.dart b/pkg/analyzer/lib/src/dart/analysis/byte_store.dart |
index ab8e8ed01625a8136f9922404b35a9c78e82b15c..e8079ee98b1a21c0576f53075a08c81dd0d7ed6c 100644 |
--- a/pkg/analyzer/lib/src/dart/analysis/byte_store.dart |
+++ b/pkg/analyzer/lib/src/dart/analysis/byte_store.dart |
@@ -30,6 +30,23 @@ abstract class ByteStore { |
} |
/** |
+ * [ByteStore] which stores data only in memory. |
+ */ |
+class MemoryByteStore implements ByteStore { |
+ final Map<String, List<int>> _map = {}; |
+ |
+ @override |
+ List<int> get(String key) { |
+ return _map[key]; |
+ } |
+ |
+ @override |
+ void put(String key, List<int> bytes) { |
+ _map[key] = bytes; |
+ } |
+} |
+ |
+/** |
* A wrapper around [ByteStore] which adds an in-memory LRU cache to it. |
*/ |
class MemoryCachingByteStore implements ByteStore { |