Crate wasmparser

source ·
Expand description

A simple event-driven library for parsing WebAssembly binary files (or streams).

The parser library reports events as they happen and only stores parsing information for a brief period of time, making it very fast and memory-efficient. The event-driven model, however, has some drawbacks. If you need random access to the entire WebAssembly data-structure, this is not the right library for you. You could however, build such a data-structure using this library.

Modules

  • Types relating to type information provided by validation.

Macros

  • A helper macro to conveniently iterate over all opcodes recognized by this crate. This can be used to work with either the Operator enumeration or the VisitOperator trait if your use case uniformly handles all operators the same way.

Structs

  • A binary reader of the WebAssembly structures and types.
  • A binary reader for WebAssembly modules.
  • A br_table entries representation.
  • Represents an export in a WebAssembly component.
  • Represents a type of a function in a WebAssembly component.
  • Represents an import in a WebAssembly component
  • Represents an argument to instantiating a WebAssembly component.
  • Represents the start function in a WebAssembly component.
  • Represents an initialization expression.
  • A reader for custom sections of a WebAssembly module.
  • Represents a data segment in a core WebAssembly module.
  • Represents a core WebAssembly element segment.
  • Represents an export in a WebAssembly module.
  • A Wasm control flow block on the control flow stack during Wasm validation.
  • Resources necessary to perform validation of a function.
  • Represents a type of a function in a WebAssembly module.
  • Validation context for a WebAssembly function.
  • External handle to the internal allocations used during function validation.
  • Represents a WebAssembly function body.
  • Represents a core WebAssembly global.
  • Represents a global’s type.
  • An IEEE binary32 immediate floating point value, represented as a u32 containing the bit pattern.
  • An IEEE binary64 immediate floating point value, represented as a u64 containing the bit pattern.
  • Represents an import in a WebAssembly module.
  • Represents an indirect name in the names custom section.
  • Represents an argument to instantiating a WebAssembly module.
  • An iterator over locals in a function body.
  • A reader for a function body’s locals.
  • Represents a memory immediate in a WebAssembly memory instruction.
  • Represents a memory’s type.
  • Represents a name for an index from the names section.
  • An iterator over a function’s operators.
  • An iterator over a function’s operators with offsets.
  • A reader for a core WebAssembly function’s operators.
  • Used as a performance optimization in HeapType. Call .into() to get the u32
  • An incremental parser of a binary WebAssembly module or component.
  • A field from the producers custom section.
  • Represents a field value in the producers custom section.
  • A reference type. When the function references feature is disabled, this only represents funcref and externref, using the following format: RefType { nullable: true, heap_type: Func | Extern })
  • A generic structure for reading a section of a WebAssembly binary which has a limited number of items within it.
  • A consuming iterator of a SectionLimited.
  • An iterator over a limited section iterator.
  • Iterator/reader over the contents of a section which is composed of subsections.
  • Type information about a table defined in the table section of a WebAssembly module.
  • Represents a table’s type.
  • A tag’s type.
  • Represents a 128-bit vector value.
  • Validator for a WebAssembly binary module or component.
  • The implementation of WasmModuleResources used by Validator.
  • Represents a case in a variant type.
  • Flags for features that are enabled for validation.
  • Iterator over the inputs of a Wasm function type.
  • Iterator over the outputs of a Wasm function type.

Enums

Traits

  • A trait implemented for items that can be decoded directly from a BinaryReader, or that which can be parsed from the WebAssembly binary format.
  • A trait implemented for subsections of another outer section.
  • Trait implemented by types that can visit all Operator variants.
  • Types that qualify as Wasm function types for validation purposes.
  • Types that qualify as Wasm validation database.

Functions

Type Definitions