GraphBuilder

Struct GraphBuilder 

Source
pub struct GraphBuilder { /* private fields */ }
Expand description

Builds an ArborGraph from parsed code nodes.

The builder handles the two-pass process:

  1. Add all nodes to the graph
  2. Resolve references into edges

Implementations§

Source§

impl GraphBuilder

Source

pub fn new() -> Self

Creates a new builder.

Source

pub fn add_nodes(&mut self, nodes: Vec<CodeNode>)

Adds nodes from a file to the graph.

Call this for each parsed file, then call resolve_edges when all files are added.

Source

pub fn resolve_edges(&mut self)

Resolves references into actual graph edges.

This is the second pass after all nodes are added. It looks up reference names and creates edges where targets exist.

Source

pub fn build(self) -> ArborGraph

Finishes building and returns the graph.

Source

pub fn build_without_resolve(self) -> ArborGraph

Builds without resolving edges (for incremental updates).

Trait Implementations§

Source§

impl Default for GraphBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.