pub struct ImportStatement {
pub path: String,
pub kind: ImportKind,
pub line: u32,
}Expand description
A single import statement extracted from source code by tree-sitter.
Carries enough information for the resolver to decide whether to attempt resolution, and for debugging/IDE integration via the line number.
Fields§
§path: StringThe raw path/module string as extracted from source.
- Rust: the
useargument without theasalias (e.g.crate::store::db) - Python: the dotted module name (e.g.
django.confor.helpers) - TypeScript/JavaScript: the module specifier without quotes (e.g.
./utilsorreact) - Go: the import path without quotes (e.g.
fmtorgithub.com/user/pkg) - Java: the fully-qualified class/package name (e.g.
java.util.List) - C/C++: the filename inside the include directive (e.g.
stdio.hormyheader.h) - Ruby: the argument to
require/require_relative - Scala: the import path without
importprefix - Elixir: the module name from
import/alias/use/require - Haskell: the module name (e.g.
Data.List)
kind: ImportKindStructural classification that determines resolver behavior.
line: u32Line number in the source file where the import appears (1-indexed). Used for debugging and future IDE integration. 0 if unknown.
Implementations§
Trait Implementations§
Source§impl Clone for ImportStatement
impl Clone for ImportStatement
Source§fn clone(&self) -> ImportStatement
fn clone(&self) -> ImportStatement
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ImportStatement
impl Debug for ImportStatement
Source§impl<'de> Deserialize<'de> for ImportStatement
impl<'de> Deserialize<'de> for ImportStatement
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ImportStatement
Source§impl Hash for ImportStatement
impl Hash for ImportStatement
Source§impl PartialEq for ImportStatement
impl PartialEq for ImportStatement
Source§fn eq(&self, other: &ImportStatement) -> bool
fn eq(&self, other: &ImportStatement) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ImportStatement
impl Serialize for ImportStatement
impl StructuralPartialEq for ImportStatement
Auto Trait Implementations§
impl Freeze for ImportStatement
impl RefUnwindSafe for ImportStatement
impl Send for ImportStatement
impl Sync for ImportStatement
impl Unpin for ImportStatement
impl UnsafeUnpin for ImportStatement
impl UnwindSafe for ImportStatement
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
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