Module

zio.wasm.Module
final case class Module(sections: Sections[CoreIndexSpace]) extends Section[ComponentIndexSpace]

WebAssembly programs are organized into modules, which are the unit of deployment, loading, and compilation. A module collects definitions for types, functions, tables, memories, and globals. In addition, it can declare imports and exports and provide initialization in the form of data and element segments, or a start function.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def addData(data: Data): (Module, DataIdx)
def addDatas(datas: Chunk[Data]): Module
def addElem(elem: Elem): (Module, ElemIdx)
def addElems(elems: Chunk[Elem]): Module
def addExport(export: Export): (Module, ExportIdx)
def addExports(exports: Chunk[Export]): Module
def addFunction(funcType: FuncType, locals: Chunk[ValType], body: Expr): (Module, FuncIdx)
def addFunctions(funcs: Chunk[Func]): Module
def addGlobal(global: Global): (Module, GlobalIdx)
def addGlobals(globals: Chunk[Global]): Module
def addMem(mem: Mem): (Module, MemIdx)
def addMems(mems: Chunk[Mem]): Module
def addTable(table: Table): (Module, TableIdx)
def addTables(tables: Chunk[Table]): Module
def addType(funcType: FuncType): (Module, TypeIdx)
def addTypes(funcTypes: Chunk[FuncType]): Module
def foldLeftRec[S](initial: S)(f: (S, Instr) => S): S
def getFunction(funcIdx: FuncIdx): Option[Import | Func]
def mapInstr(f: Instr => Instr): Module

Attributes

Definition Classes
def typeIdxOf(funcType: FuncType): TypeIdx

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Concrete fields

lazy val custom: Chunk[Custom]
lazy val datas: Chunk[Data]
lazy val elems: Chunk[Elem]
lazy val exports: Chunk[Export]
lazy val funcs: Chunk[Func]
lazy val globals: Chunk[Global]
lazy val imports: Chunk[Import]
lazy val lastDataIdx: DataIdx
lazy val lastElemIdx: ElemIdx
lazy val lastFuncIdx: FuncIdx
lazy val lastMemIdx: MemIdx
lazy val lastTypeIdx: TypeIdx
lazy val mems: Chunk[Mem]
lazy val start: Option[Start]
lazy val tables: Chunk[Table]
lazy val types: Chunk[FuncType]