pub struct FileFacts {
pub file: String,
pub content_hash: String,
pub has_syntax_errors: bool,
pub nodes: Vec<Node>,
pub contains: Vec<Edge>,
pub references: Vec<Reference>,
pub locals: Vec<LocalBinding>,
pub fields: Vec<FieldBinding>,
pub embeds: Vec<Embed>,
pub trait_impls: Vec<TraitImpl>,
}Expand description
Everything extraction produces for one file. Content-addressed: the hash
is the incrementality key — same bytes, same facts. The persisted set of
FileFacts is the source of truth every derived table rebuilds from.
Fields§
§file: StringRepo-relative path.
content_hash: Stringblake3 of the source bytes, hex.
has_syntax_errors: boolTree-sitter reported syntax errors; facts are best-effort partial.
nodes: Vec<Node>File node plus every definition, content-bearing.
contains: Vec<Edge>Structural containment edges (Certain).
references: Vec<Reference>Reference sites: calls, imports. Resolution input.
locals: Vec<LocalBinding>Local bindings that shadow outer names. Resolution suppression input.
fields: Vec<FieldBinding>Declared field types for field-receiver resolution.
embeds: Vec<Embed>Type embeddings (promoted members). Resolution lookup input.
trait_impls: Vec<TraitImpl>Trait-impl blocks. Dynamic-dispatch edge input.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FileFacts
impl<'de> Deserialize<'de> for FileFacts
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<FileFacts, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<FileFacts, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for FileFacts
Source§impl Serialize for FileFacts
impl Serialize for FileFacts
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 FileFacts
Auto Trait Implementations§
impl Freeze for FileFacts
impl RefUnwindSafe for FileFacts
impl Send for FileFacts
impl Sync for FileFacts
impl Unpin for FileFacts
impl UnsafeUnpin for FileFacts
impl UnwindSafe for FileFacts
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