ImportStatement

Struct ImportStatement 

Source
pub struct ImportStatement<N: TreeNode = SyntaxNode>(/* private fields */);
Expand description

Represents an import statement.

Implementations§

Source§

impl<N: TreeNode> ImportStatement<N>

Source

pub fn uri(&self) -> LiteralString<N>

Gets the URI of the import statement.

Source

pub fn keyword(&self) -> ImportKeyword<N::Token>

Gets the import keyword of the import statement.

Source

pub fn explicit_namespace(&self) -> Option<Ident<N::Token>>

Gets the explicit namespace of the import statement (i.e. the as clause).

Source

pub fn aliases(&self) -> impl Iterator<Item = ImportAlias<N>> + use<'_, N>

Gets the aliased names of the import statement.

Source

pub fn namespace(&self) -> Option<(String, Span)>

Gets the namespace of the import.

If an explicit namespace was not present, this will determine the namespace based on the URI.

Returns None if the namespace could not be derived; this may occur when the URI contains an interpolation or if the file stem of the URI is not a valid WDL identifier.

The returned span is either the span of the explicit namespace or the span of the URI.

Trait Implementations§

Source§

impl<N: TreeNode> AstNode<N> for ImportStatement<N>

Source§

fn can_cast(kind: SyntaxKind) -> bool

Determines if the kind can be cast to this representation.
Source§

fn cast(inner: N) -> Option<Self>

Casts the given inner type to the this representation.
Source§

fn inner(&self) -> &N

Gets the inner type from this representation.
Source§

fn kind(&self) -> SyntaxKind

Gets the syntax kind of the node.
Source§

fn text<'a>(&'a self) -> impl Display
where N: 'a,

Gets the text of the node. Read more
Source§

fn span(&self) -> Span

Gets the span of the node.
Source§

fn token<C>(&self) -> Option<C>
where C: AstToken<N::Token>,

Gets the first token child that can cast to an expected type.
Source§

fn tokens<'a, C>(&'a self) -> impl Iterator<Item = C>
where C: AstToken<N::Token>, N: 'a,

Gets all the token children that can cast to an expected type.
Source§

fn last_token<C>(&self) -> Option<C>
where C: AstToken<N::Token>,

Gets the last token of the node and attempts to cast it to an expected type. Read more
Source§

fn child<C>(&self) -> Option<C>
where C: AstNode<N>,

Gets the first node child that can cast to an expected type.
Source§

fn children<'a, C>(&'a self) -> impl Iterator<Item = C>
where C: AstNode<N>, N: 'a,

Gets all node children that can cast to an expected type.
Source§

fn parent<'a, P>(&self) -> Option<P>
where P: AstNode<N>, N: 'a,

Gets the parent of the node if the underlying tree node has a parent. Read more
Source§

fn scope_span<O, C>(&self) -> Option<Span>
where O: AstToken<N::Token>, C: AstToken<N::Token>,

Calculates the span of a scope given the node where the scope is visible. Read more
Source§

fn braced_scope_span(&self) -> Option<Span>

Gets the interior span of child opening and closing brace tokens for the node. Read more
Source§

fn heredoc_scope_span(&self) -> Option<Span>

Gets the interior span of child opening and closing heredoc tokens for the node. Read more
Source§

fn descendants<'a, D>(&'a self) -> impl Iterator<Item = D>
where D: AstNode<N>, N: 'a,

Gets the node descendants (including self) from this node that can be cast to the expected type.
Source§

impl<N: Clone + TreeNode> Clone for ImportStatement<N>

Source§

fn clone(&self) -> ImportStatement<N>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<N: Debug + TreeNode> Debug for ImportStatement<N>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<N: PartialEq + TreeNode> PartialEq for ImportStatement<N>

Source§

fn eq(&self, other: &ImportStatement<N>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<N: Eq + TreeNode> Eq for ImportStatement<N>

Source§

impl<N: TreeNode> StructuralPartialEq for ImportStatement<N>

Auto Trait Implementations§

§

impl<N> Freeze for ImportStatement<N>
where N: Freeze,

§

impl<N> RefUnwindSafe for ImportStatement<N>
where N: RefUnwindSafe,

§

impl<N> Send for ImportStatement<N>
where N: Send,

§

impl<N> Sync for ImportStatement<N>
where N: Sync,

§

impl<N> Unpin for ImportStatement<N>
where N: Unpin,

§

impl<N> UnwindSafe for ImportStatement<N>
where N: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,