pub struct ModuleNode {
pub id: ModuleId,
pub canonical_path: String,
pub source_kind: ModuleSourceKind,
pub ast: Option<Program>,
pub interface: ModuleInterface,
pub resolved_imports: Vec<ResolvedImport>,
pub dependencies: Vec<ModuleId>,
}Expand description
A single module in the dependency graph.
Fields§
§id: ModuleIdUnique identity within this graph.
canonical_path: StringCanonical module path (e.g. std::core::math, mypackage::utils).
source_kind: ModuleSourceKindHow this module is implemented.
ast: Option<Program>Parsed AST (present for ShapeSource and Hybrid, absent for
NativeModule and CompiledBytecode).
interface: ModuleInterfacePublic interface (exports).
resolved_imports: Vec<ResolvedImport>Resolved imports for this module.
dependencies: Vec<ModuleId>Direct dependencies (modules this one imports).
Trait Implementations§
Source§impl Clone for ModuleNode
impl Clone for ModuleNode
Source§fn clone(&self) -> ModuleNode
fn clone(&self) -> ModuleNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ModuleNode
impl RefUnwindSafe for ModuleNode
impl Send for ModuleNode
impl Sync for ModuleNode
impl Unpin for ModuleNode
impl UnsafeUnpin for ModuleNode
impl UnwindSafe for ModuleNode
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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