pub struct DataFlowServiceV2 { /* private fields */ }Expand description
Service for dataflow analysis operations (V2 - String-free).
Implementations§
Source§impl DataFlowServiceV2
impl DataFlowServiceV2
Sourcepub fn from_project(project: &Project) -> Self
pub fn from_project(project: &Project) -> Self
Create a new DataFlowServiceV2 from a project.
Sourcepub fn from_path(path: &Path) -> Result<Self, DataFlowErrorV2>
pub fn from_path(path: &Path) -> Result<Self, DataFlowErrorV2>
Create a new DataFlowServiceV2 from a path.
Sourcepub fn stats(&self) -> DataFlowStatsV2
pub fn stats(&self) -> DataFlowStatsV2
Get dataflow graph statistics.
Sourcepub fn graph(&self) -> &DataFlowGraphV2
pub fn graph(&self) -> &DataFlowGraphV2
Get the underlying graph (for advanced analysis).
Sourcepub fn registry(&self) -> &SymbolRegistry
pub fn registry(&self) -> &SymbolRegistry
Get the symbol registry.
Sourcepub fn vars_in_function(&self, path: &str) -> Vec<VarInfoV2>
pub fn vars_in_function(&self, path: &str) -> Vec<VarInfoV2>
Sourcepub fn impact(&self, var_id: VarId) -> Vec<VarInfoV2>
pub fn impact(&self, var_id: VarId) -> Vec<VarInfoV2>
Trace impact of a variable (forward dataflow).
Sourcepub fn provenance(&self, var_id: VarId) -> Vec<VarInfoV2>
pub fn provenance(&self, var_id: VarId) -> Vec<VarInfoV2>
Trace provenance of a variable (backward dataflow).
Sourcepub fn all_flows(&self) -> Vec<FlowInfoV2>
pub fn all_flows(&self) -> Vec<FlowInfoV2>
List all flows.
Sourcepub fn find_by_name(&self, name: &str) -> Vec<VarInfoV2>
pub fn find_by_name(&self, name: &str) -> Vec<VarInfoV2>
Find variables by name (substring match on path).
Less efficient than symbol-based lookup, but useful for CLI.
Sourcepub fn find_sources(&self) -> Vec<VarInfoV2>
pub fn find_sources(&self) -> Vec<VarInfoV2>
Find source variables (no incoming flows).
Sourcepub fn find_sinks(&self) -> Vec<VarInfoV2>
pub fn find_sinks(&self) -> Vec<VarInfoV2>
Find sink variables (no outgoing flows).
Sourcepub fn impact_by_name(&self, name: &str) -> Vec<VarInfoV2>
pub fn impact_by_name(&self, name: &str) -> Vec<VarInfoV2>
Trace impact of a variable by name.
Sourcepub fn provenance_by_name(&self, name: &str) -> Vec<VarInfoV2>
pub fn provenance_by_name(&self, name: &str) -> Vec<VarInfoV2>
Trace provenance of a variable by name.
Sourcepub fn borrow_check(&self, name: &str, at_line: u32) -> BorrowCheckResultV2
pub fn borrow_check(&self, name: &str, at_line: u32) -> BorrowCheckResultV2
Sourcepub fn lock_analysis(&self) -> LockAnalysisResultV2
pub fn lock_analysis(&self) -> LockAnalysisResultV2
Analyze lock usage and get suggestions.
Returns lock statistics and optimization suggestions.
Auto Trait Implementations§
impl Freeze for DataFlowServiceV2
impl RefUnwindSafe for DataFlowServiceV2
impl Send for DataFlowServiceV2
impl Sync for DataFlowServiceV2
impl Unpin for DataFlowServiceV2
impl UnsafeUnpin for DataFlowServiceV2
impl UnwindSafe for DataFlowServiceV2
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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