pub struct StaticFileAnalysis {Show 13 fields
pub path: String,
pub language: Language,
pub entry_points: Vec<String>,
pub exported_types: Vec<String>,
pub imports: Vec<ImportStatement>,
pub todos: Vec<TodoComment>,
pub unsafe_count: u32,
pub unwrap_count: u32,
pub panic_count: u32,
pub branch_count: u32,
pub module_doc: Option<String>,
pub content_hash: Option<String>,
pub line_count: u32,
}Expand description
Structural signals extracted from a single source file by tree-sitter.
Intermediate representation for Layer 0. Maps onto FileRecord fields.
Git-derived fields (change_frequency, last_author, is_hotspot)
are filled later by M-06-D.
Fields§
§path: StringRepo-relative path with forward slashes.
language: Language§entry_points: Vec<String>Public functions and modules (Rust: pub fn; TS: exported; Python: non-_ top-level).
exported_types: Vec<String>Public types (Rust: pub struct/enum/trait; TS: exported class/interface/type/enum;
Python: non-_ top-level classes).
imports: Vec<ImportStatement>Structured import statements with classification and source location.
todos: Vec<TodoComment>TODO / FIXME / HACK / NOTE / DEPRECATED / @ts-ignore / type:ignore comments.
unsafe_count: u32unsafe {} blocks (Rust only).
unwrap_count: u32.unwrap() calls (Rust) or non-null assertions ! (TypeScript).
panic_count: u32panic!() macro invocations (Rust only).
branch_count: u32Control-flow branches: if, match/switch, loop, while, for, ternary, try.
module_doc: Option<String>Canonical module-level doc comment (language-specific — see ENRICHMENT.md §1.1).
content_hash: Option<String>SHA-256 hex digest of file bytes at parse time. Used for content-change detection (P3).
line_count: u32Number of newlines in the file — used for line-count delta in staleness signals.
Trait Implementations§
Source§impl Clone for StaticFileAnalysis
impl Clone for StaticFileAnalysis
Source§fn clone(&self) -> StaticFileAnalysis
fn clone(&self) -> StaticFileAnalysis
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for StaticFileAnalysis
impl RefUnwindSafe for StaticFileAnalysis
impl Send for StaticFileAnalysis
impl Sync for StaticFileAnalysis
impl Unpin for StaticFileAnalysis
impl UnsafeUnpin for StaticFileAnalysis
impl UnwindSafe for StaticFileAnalysis
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more