wit_parser

Struct UnresolvedPackageGroup

Source
pub struct UnresolvedPackageGroup {
    pub main: UnresolvedPackage,
    pub nested: Vec<UnresolvedPackage>,
    pub source_map: SourceMap,
}
Expand description

Tracks a set of packages, all pulled from the same group of WIT source files.

Fields§

§main: UnresolvedPackage

The “main” package in this package group which was found at the root of the WIT files.

Note that this is required to be present in all WIT files.

§nested: Vec<UnresolvedPackage>

Nested packages found while parsing main, if any.

§source_map: SourceMap

A set of processed source files from which these packages have been parsed.

Implementations§

Source§

impl UnresolvedPackageGroup

Source

pub fn parse( path: impl AsRef<Path>, contents: &str, ) -> Result<UnresolvedPackageGroup>

Parses the given string as a wit document.

The path argument is used for error reporting. The contents provided are considered to be the contents of path. This function does not read the filesystem.

Source

pub fn parse_path(path: impl AsRef<Path>) -> Result<UnresolvedPackageGroup>

Parse a WIT package at the provided path.

The path provided is inferred whether it’s a file or a directory. A file is parsed with UnresolvedPackageGroup::parse_file and a directory is parsed with UnresolvedPackageGroup::parse_dir.

Source

pub fn parse_file(path: impl AsRef<Path>) -> Result<UnresolvedPackageGroup>

Parses a WIT package from the file provided.

The return value represents all packages found in the WIT file which might be either one or multiple depending on the syntax used.

Source

pub fn parse_dir(path: impl AsRef<Path>) -> Result<UnresolvedPackageGroup>

Parses a WIT package from the directory provided.

This method will look at all files under the path specified. All *.wit files are parsed and assumed to be part of the same package grouping. This is useful when a WIT package is split across multiple files.

Trait Implementations§

Source§

impl Clone for UnresolvedPackageGroup

Source§

fn clone(&self) -> UnresolvedPackageGroup

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

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

Performs copy-assignment from source. 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> CloneToUninit for T
where T: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.