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.
Structs
- A reader for the core alias section of a WebAssembly component.
- A binary reader of the WebAssembly structures and types.
- A binary reader for WebAssembly modules.
- A br_table entries representation.
- A reader for the code section of a WebAssembly module.
- A reader for the alias section of a WebAssembly component.
- A reader for the canonical section of a WebAssembly component.
- Represents an export in a WebAssembly component.
- A reader for the export section of a WebAssembly component.
- Represents a type of a function in a WebAssembly component.
- Represents an import in a WebAssembly component
- A reader for the import section of a WebAssembly component.
- A reader for the component instance section of a WebAssembly component.
- Represents an argument to instantiating a WebAssembly component.
- Represents the start function in a WebAssembly component.
- A reader for the start section of a WebAssembly component.
- A reader for the type section of a WebAssembly component.
- Represents an initialization expression.
- A reader for the core type section of a WebAssembly component.
- A reader for custom sections of a WebAssembly module.
- Represents a data segment in a core WebAssembly module.
- A reader for the data section of a WebAssembly module.
- Represents a core WebAssembly element segment.
- Represents the items of an element segment.
- An iterator over element items in an element segment.
- A reader for element items in an element segment.
- A reader for the element section of a WebAssembly module.
- Represents an export in a WebAssembly module.
- A reader for the export section of a WebAssembly module.
- Represents a type of a function in a WebAssembly module.
- Validation context for a WebAssembly function.
- Represents a WebAssembly function body.
- A reader for the function section of a WebAssembly module.
- Represents a core WebAssembly global.
- A reader for the global section of a WebAssembly module.
- 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.
- A reader for the import section of a WebAssembly module.
- Represents an indirect name map.
- Represents an indirect name in the names custom section.
- Represents a reader for indirect names from the names custom section.
- A reader for the core instance section of a WebAssembly component.
- Represents an argument to instantiating a WebAssembly module.
- A reader for the linking custom section of 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.
- A reader for the memory section of a WebAssembly module.
- Represents a memory’s type.
- Represents a name map from the names custom section.
- A reader for the name custom section of a WebAssembly module.
- Represents a name for an index from the names section.
- A reader for direct names in the names custom 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.
- 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.
- An iterator over fields in the producers custom section.
- A reader for fields in the producers custom section.
- A reader for the producers custom section of a WebAssembly module.
- Represents a relocation entry.
- A reader for the relocations custom section of a WebAssembly module.
- An iterator over items in a section.
- An iterator over a limited section iterator.
- Represents a single name in the names custom section.
- A reader for the table section of a WebAssembly module.
- Represents a table’s type.
- A reader for the tags section of a WebAssembly module.
- A tag’s type.
- A reader for the type section of a WebAssembly module.
- Represents a 128-bit vector value.
- Validator for a WebAssembly binary module or component.
- The implementation of
WasmModuleResources
used byValidator
. - 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
- Represents a core alias for a WebAssembly module.
- Represents a block type.
- Represents a canonical function in a WebAssembly component.
- Represents options for component functions.
- A successful return payload from
Parser::parse
. - Represents an alias in a WebAssembly component.
- Represents a defined type in a WebAssembly component.
- Represents the kind of an external items of a WebAssembly component.
- Represents an instance in a WebAssembly component.
- Represents the kind of an outer alias in a WebAssembly component.
- Represents a type in a WebAssembly component.
- Represents part of a component type declaration in a WebAssembly component.
- Represents a reference to a component type.
- Represents a value type in a WebAssembly component.
- Represents a core type in a WebAssembly component.
- Represents known custom section kinds.
- The kind of data segment.
- Represents an individual item of an element segment.
- The kind of element segment.
- The supported encoding formats for the parser.
- External types as defined here.
- Represents an instance of a WebAssembly module.
- Represents an instance type declaration in a WebAssembly component.
- Represents the kind of an instantiation argument for a core instance.
- Represents a linking type.
- Represents a module type declaration in a WebAssembly component.
- Represents a name read from the names custom section.
- Represents the type of name.
- Instructions as defined here.
- Represents the kind of an outer core alias in a WebAssembly component.
- Values that can be parsed from a WebAssembly module or component.
- Represents a primitive value type.
- Represents a relocation type.
- Section code as defined here.
- Represents a tag kind.
- Represents a type in a WebAssembly module.
- Represents the type bounds for imports and exports.
- Represents a reference to a type definition in a WebAssembly module.
- Represents the vector of types in a component function’s parameters or results.
- Represents the types of values in a WebAssembly module.
- Possible return values from
Validator::payload
.
Traits
- A trait implemented by section readers.
- Implemented by sections with a limited number of items.
- 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
- Test whether the given buffer contains a valid WebAssembly module or component, analogous to
WebAssembly.validate
in the JS API.
Type Definitions
- The result for
BinaryReader
operations. - Represents a SIMD lane index.