Skip to main content

SourceFile

Struct SourceFile 

Source
pub struct SourceFile(/* private fields */);
Expand description

The root node of a Compact source file.

Implementations§

Source§

impl SourceFile

Source

pub fn pragmas(&self) -> impl Iterator<Item = Pragma>

Iterate over all top-level Pragma declarations.

Source

pub fn includes(&self) -> impl Iterator<Item = Include>

Iterate over all top-level Include declarations.

Source

pub fn imports(&self) -> impl Iterator<Item = Import>

Iterate over all top-level Import declarations.

Source

pub fn circuit_defs(&self) -> impl Iterator<Item = CircuitDef>

Iterate over all top-level CircuitDef declarations.

Source

pub fn struct_defs(&self) -> impl Iterator<Item = StructDef>

Iterate over all top-level StructDef declarations.

Source

pub fn enum_defs(&self) -> impl Iterator<Item = EnumDef>

Iterate over all top-level EnumDef declarations.

Source

pub fn items(&self) -> impl Iterator<Item = Item> + '_

Iterate every top-level item in source order.

This is the heterogeneous view. The per-variant iterators above remain available for typed consumers that want a single variant.

Trait Implementations§

Source§

impl AstNode for SourceFile

Source§

fn can_cast(kind: SyntaxKind) -> bool

Returns true if a SyntaxNode with the given kind can be cast to this AST type.
Source§

fn cast(node: SyntaxNode) -> Option<Self>

Attempt to cast a SyntaxNode into this AST type. Read more
Source§

fn syntax(&self) -> &SyntaxNode

Return a reference to the underlying SyntaxNode.
Source§

impl Clone for SourceFile

Source§

fn clone(&self) -> SourceFile

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for SourceFile

Source§

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

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

impl Hash for SourceFile

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for SourceFile

Source§

fn eq(&self, other: &SourceFile) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · 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 Eq for SourceFile

Source§

impl StructuralPartialEq for SourceFile

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> 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.