pub struct ReverseDependencyIndex {
pub format_version: u8,
pub importers: BTreeMap<String, Vec<String>>,
}Expand description
Content-addressed file → importers map for one state.
importers[target] lists every source file whose resolved dependencies
include target. Capture walks this map from changed files to obtain the
invalidation frontier without re-resolving the rest of the repository.
Fields§
§format_version: u8§importers: BTreeMap<String, Vec<String>>Imported file → sorted importer paths.
Implementations§
Source§impl ReverseDependencyIndex
impl ReverseDependencyIndex
pub const FORMAT_VERSION: u8 = 1
Sourcepub fn new(
importers: BTreeMap<String, BTreeSet<String>>,
) -> ReverseDependencyIndex
pub fn new( importers: BTreeMap<String, BTreeSet<String>>, ) -> ReverseDependencyIndex
Construct a canonical index from an importer map.
Sourcepub fn from_dependencies(
dependencies: &BTreeMap<String, BTreeSet<String>>,
) -> ReverseDependencyIndex
pub fn from_dependencies( dependencies: &BTreeMap<String, BTreeSet<String>>, ) -> ReverseDependencyIndex
Invert source → dependencies into a file → importers index.
Sourcepub fn importers_of(&self, path: &str) -> &[String]
pub fn importers_of(&self, path: &str) -> &[String]
Look up the files that import path.
Sourcepub fn encode(&self) -> Result<Vec<u8>, SemanticIndexError>
pub fn encode(&self) -> Result<Vec<u8>, SemanticIndexError>
Encode this index as named MessagePack.
Sourcepub fn decode(
bytes: &[u8],
) -> Result<ReverseDependencyIndex, SemanticIndexError>
pub fn decode( bytes: &[u8], ) -> Result<ReverseDependencyIndex, SemanticIndexError>
Decode and version-check a reverse-dependency index.
Trait Implementations§
Source§impl Clone for ReverseDependencyIndex
impl Clone for ReverseDependencyIndex
Source§fn clone(&self) -> ReverseDependencyIndex
fn clone(&self) -> ReverseDependencyIndex
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReverseDependencyIndex
impl Debug for ReverseDependencyIndex
Source§impl<'de> Deserialize<'de> for ReverseDependencyIndex
impl<'de> Deserialize<'de> for ReverseDependencyIndex
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReverseDependencyIndex, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReverseDependencyIndex, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ReverseDependencyIndex
Source§impl PartialEq for ReverseDependencyIndex
impl PartialEq for ReverseDependencyIndex
Source§impl Serialize for ReverseDependencyIndex
impl Serialize for ReverseDependencyIndex
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for ReverseDependencyIndex
Auto Trait Implementations§
impl Freeze for ReverseDependencyIndex
impl RefUnwindSafe for ReverseDependencyIndex
impl Send for ReverseDependencyIndex
impl Sync for ReverseDependencyIndex
impl Unpin for ReverseDependencyIndex
impl UnsafeUnpin for ReverseDependencyIndex
impl UnwindSafe for ReverseDependencyIndex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more