Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ra-salsa/src/debug.rs')
| -rw-r--r-- | crates/ra-salsa/src/debug.rs | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/crates/ra-salsa/src/debug.rs b/crates/ra-salsa/src/debug.rs deleted file mode 100644 index 5f113541f0..0000000000 --- a/crates/ra-salsa/src/debug.rs +++ /dev/null @@ -1,65 +0,0 @@ -//! Debugging APIs: these are meant for use when unit-testing or -//! debugging your application but aren't ordinarily needed. - -use crate::durability::Durability; -use crate::plumbing::QueryStorageOps; -use crate::Query; -use crate::QueryTable; - -/// Additional methods on queries that can be used to "peek into" -/// their current state. These methods are meant for debugging and -/// observing the effects of garbage collection etc. -pub trait DebugQueryTable { - /// Key of this query. - type Key; - - /// Value of this query. - type Value; - - /// Returns a lower bound on the durability for the given key. - /// This is typically the minimum durability of all values that - /// the query accessed, but we may return a lower durability in - /// some cases. - fn durability(&self, key: Self::Key) -> Durability; - - /// Get the (current) set of the entries in the query table. - fn entries<C>(&self) -> C - where - C: FromIterator<TableEntry<Self::Key, Self::Value>>; -} - -/// An entry from a query table, for debugging and inspecting the table state. -#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord)] -#[non_exhaustive] -pub struct TableEntry<K, V> { - /// key of the query - pub key: K, - /// value of the query, if it is stored - pub value: Option<V>, -} - -impl<K, V> TableEntry<K, V> { - pub(crate) fn new(key: K, value: Option<V>) -> TableEntry<K, V> { - TableEntry { key, value } - } -} - -impl<Q> DebugQueryTable for QueryTable<'_, Q> -where - Q: Query, - Q::Storage: QueryStorageOps<Q>, -{ - type Key = Q::Key; - type Value = Q::Value; - - fn durability(&self, key: Q::Key) -> Durability { - self.storage.durability(self.db, &key) - } - - fn entries<C>(&self) -> C - where - C: FromIterator<TableEntry<Self::Key, Self::Value>>, - { - self.storage.entries(self.db) - } -} |