pub type InstanceSectionReader<'a> = SectionLimited<'a, Instance<'a>>;
Expand description

A reader for the core instance section of a WebAssembly component.

Examples

use wasmparser::InstanceSectionReader;
let mut reader = InstanceSectionReader::new(data, 0).unwrap();
for inst in reader {
    println!("Instance {:?}", inst.expect("instance"));
}

Aliased Type§

struct InstanceSectionReader<'a> { /* private fields */ }

Implementations§

source§

impl<'a, T> SectionLimited<'a, T>

source

pub fn new( data: &'a [u8], offset: usize ) -> Result<SectionLimited<'a, T>, BinaryReaderError>

Creates a new section reader from the provided contents.

The data provided here is the data of the section itself that will be parsed. The offset argument is the byte offset, in the original wasm binary, that the section was found. The offset argument is used for error reporting.

Errors

Returns an error if a 32-bit count couldn’t be read from the data.

source

pub fn count(&self) -> u32

Returns the count of total items within this section.

source

pub fn original_position(&self) -> usize

Returns whether the original byte offset of this section.

source

pub fn range(&self) -> Range<usize>

Returns the range, as byte offsets, of this section within the original wasm binary.

source

pub fn into_iter_with_offsets(self) -> SectionLimitedIntoIterWithOffsets<'a, T> where T: FromReader<'a>,

Returns an iterator which yields not only each item in this section but additionally the offset of each item within the section.

Trait Implementations§

source§

impl<T> Clone for SectionLimited<'_, T>

source§

fn clone(&self) -> SectionLimited<'_, T>

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
source§

impl<T> Debug for SectionLimited<'_, T>

source§

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

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

impl<'a, T> IntoIterator for SectionLimited<'a, T>where T: FromReader<'a>,

§

type Item = Result<T, BinaryReaderError>

The type of the elements being iterated over.
§

type IntoIter = SectionLimitedIntoIter<'a, T>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> <SectionLimited<'a, T> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more