pub struct DataFlowBuilderWorkspace<'a> { /* private fields */ }Expand description
Builder for constructing DataFlowGraphV2 using WorkspaceFilePath-keyed files.
Implementations§
Source§impl<'a> DataFlowBuilderWorkspace<'a>
impl<'a> DataFlowBuilderWorkspace<'a>
Sourcepub fn new(
registry: &'a SymbolRegistry,
files: &'a HashMap<WorkspaceFilePath, Arc<PureFile>>,
crate_name: &'a str,
) -> DataFlowBuilderWorkspace<'a>
pub fn new( registry: &'a SymbolRegistry, files: &'a HashMap<WorkspaceFilePath, Arc<PureFile>>, crate_name: &'a str, ) -> DataFlowBuilderWorkspace<'a>
Create a new workspace builder.
Sourcepub fn build(self) -> DataFlowGraphV2
pub fn build(self) -> DataFlowGraphV2
Build the DataFlowGraphV2.
Sourcepub fn build_incremental(
self,
graph: &mut DataFlowGraphV2,
modified_files: &[WorkspaceFilePath],
)
👎Deprecated since 0.1.0: Use build_incremental_by_symbols() for symbol-based updates without file I/O.
pub fn build_incremental( self, graph: &mut DataFlowGraphV2, modified_files: &[WorkspaceFilePath], )
Use build_incremental_by_symbols() for symbol-based updates without file I/O.
Incrementally add data from specified files to an existing graph.
This is used for incremental updates after mutations:
- Call
graph.clear_for_symbols()to remove old data for affected symbols - Call this method to add new data from modified files
§Arguments
graph- The existing DataFlowGraphV2 to updatemodified_files- Only process these files (must be subset of self.files)
Deprecated: Use build_incremental_by_symbols for symbol-based updates.
Sourcepub fn build_incremental_by_symbols(
&self,
graph: &mut DataFlowGraphV2,
ast_registry: &ASTRegistry,
affected_ids: &[SymbolId],
)
pub fn build_incremental_by_symbols( &self, graph: &mut DataFlowGraphV2, ast_registry: &ASTRegistry, affected_ids: &[SymbolId], )
Incrementally add data from ASTRegistry for specified symbols (Phase 2).
This is the symbol-based incremental update path:
- Call
graph.clear_for_symbols()to remove old data for affected symbols - Call this method to add new data directly from ASTRegistry
§Arguments
graph- The existing DataFlowGraphV2 to updateast_registry- The ASTRegistry containing PureItem ASTsaffected_ids- Only process these symbol IDs
Auto Trait Implementations§
impl<'a> Freeze for DataFlowBuilderWorkspace<'a>
impl<'a> RefUnwindSafe for DataFlowBuilderWorkspace<'a>
impl<'a> Send for DataFlowBuilderWorkspace<'a>
impl<'a> Sync for DataFlowBuilderWorkspace<'a>
impl<'a> Unpin for DataFlowBuilderWorkspace<'a>
impl<'a> UnsafeUnpin for DataFlowBuilderWorkspace<'a>
impl<'a> UnwindSafe for DataFlowBuilderWorkspace<'a>
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