Sign in

    Milky2018/wasm_component/model does not have a README file

    ComponentParseError

    pub suberror ComponentParseError {
    InvalidMagic
    UnexpectedEndOfInput
    Leb128TooLarge
    NotAComponent
    UnsupportedComponentPreamble(Int, Int)
    InvalidTypeSection
    InvalidInstanceSection
    InvalidAliasSection
    InvalidCanonSection
    InvalidStartSection
    UnsupportedCanonOpcode(Int)
    InvalidUtf8
    UnsupportedTypeOpcode(Int)
    }

    ComponentParseError::output

    fn ComponentParseError::output(self : ComponentParseError, logger : &Logger) -> Unit

    ComponentParseError::to_string

    fn ComponentParseError::to_string(self : ComponentParseError) -> String

    Alias

    pub(all) struct Alias {
    sort : Sort
    target : AliasTarget
    } derive(Eq,
    Debug
    )

    impl Show for Alias

    Alias::equal

    fn Alias::equal(Alias, Alias) -> Bool

    Alias::not_equal

    fn Alias::not_equal(x : Alias, y : Alias) -> Bool

    Alias::output

    fn Alias::output(self : Alias, logger : &Logger) -> Unit

    Alias::to_repr

    Alias::to_string

    fn Alias::to_string(self : Alias) -> String

    AliasTarget

    pub(all) enum AliasTarget {
    Export(Int, String)
    CoreExport(Int, String)
    Outer(Int, Int)
    } derive(Eq,
    Debug
    )

    AliasTarget::equal

    fn AliasTarget::equal(AliasTarget, AliasTarget) -> Bool

    AliasTarget::not_equal

    fn AliasTarget::not_equal(x : AliasTarget, y : AliasTarget) -> Bool

    BinaryKind

    pub(all) enum BinaryKind {
    CoreModule
    Component
    UnknownPreamble(Int, Int)
    } derive(Eq,
    Debug
    )

    impl Show for BinaryKind

    BinaryKind::equal

    fn BinaryKind::equal(BinaryKind, BinaryKind) -> Bool

    BinaryKind::not_equal

    fn BinaryKind::not_equal(x : BinaryKind, y : BinaryKind) -> Bool

    BinaryKind::output

    fn BinaryKind::output(self : BinaryKind, logger : &Logger) -> Unit

    BinaryKind::to_string

    fn BinaryKind::to_string(self : BinaryKind) -> String

    Canon

    pub(all) enum Canon {
    Lift(Int, Array[CanonOpt], Int)
    Lower(Int, Array[CanonOpt])
    BackpressureInc
    BackpressureDec
    ContextGet(
    ValueType
    , Int)
    ContextSet(
    ValueType
    , Int)
    TaskReturn(ValType?, Array[CanonOpt])
    TaskCancel
    ThreadIndex
    ThreadYield(Bool)
    ThreadSuspendThenResume(Bool)
    ThreadYieldThenResume(Bool)
    ThreadSuspendThenPromote(Bool)
    ThreadYieldThenPromote(Bool)
    ThreadResumeLater
    ThreadSuspend(Bool)
    ThreadNewIndirect(Int, Int)
    WaitableSetNew
    WaitableSetWait(Bool, Int)
    WaitableSetPoll(Bool, Int)
    WaitableSetDrop
    WaitableJoin
    SubtaskCancel(Bool)
    SubtaskDrop
    StreamNew(Int)
    StreamRead(Int, Array[CanonOpt])
    StreamWrite(Int, Array[CanonOpt])
    StreamCancelRead(Int, Bool)
    StreamCancelWrite(Int, Bool)
    StreamDropReadable(Int)
    StreamDropWritable(Int)
    FutureNew(Int)
    FutureRead(Int, Array[CanonOpt])
    FutureWrite(Int, Array[CanonOpt])
    FutureCancelRead(Int, Bool)
    FutureCancelWrite(Int, Bool)
    FutureDropReadable(Int)
    FutureDropWritable(Int)
    ErrorContextNew(Array[CanonOpt])
    ErrorContextDebugMessage(Array[CanonOpt])
    ErrorContextDrop
    ResourceNew(Int)
    ResourceDrop(Int)
    ResourceRep(Int)
    } derive(Eq,
    Debug
    )

    impl Show for Canon

    Canon::equal

    fn Canon::equal(Canon, Canon) -> Bool

    Canon::not_equal

    fn Canon::not_equal(x : Canon, y : Canon) -> Bool

    Canon::output

    fn Canon::output(self : Canon, logger : &Logger) -> Unit

    Canon::to_repr

    Canon::to_string

    fn Canon::to_string(self : Canon) -> String

    CanonOpt

    pub(all) enum CanonOpt {
    StringEncoding(StringEncoding)
    Memory(Int)
    Realloc(Int)
    PostReturn(Int)
    CoreType(Int)
    Gc
    Async
    Callback(Int)
    } derive(Eq,
    Debug
    )

    CanonOpt::equal

    fn CanonOpt::equal(CanonOpt, CanonOpt) -> Bool

    CanonOpt::not_equal

    fn CanonOpt::not_equal(x : CanonOpt, y : CanonOpt) -> Bool

    CanonOpt::to_repr

    Component

    pub(all) struct Component {
    binary : ComponentBinary
    core_modules : Array[Bytes]
    core_instances : Array[Bytes]
    core_types : Array[Bytes]
    types : Array[TypeDef]
    imports : Array[Import]
    exports : Array[Export]
    instances : Array[Instance]
    aliases : Array[Alias]
    canons : Array[Canon]
    start : Start?
    components : Array[Component]
    } derive(Eq,
    Debug
    )

    impl Show for Component

    Component::equal

    fn Component::equal(Component, Component) -> Bool

    Component::isolated_copy

    fn Component::isolated_copy(self : Component) -> Component raise ComponentParseError

    Rebuild a component that shares no mutable state with self.

    Component::not_equal

    fn Component::not_equal(x : Component, y : Component) -> Bool

    Component::output

    fn Component::output(self : Component, logger : &Logger) -> Unit

    Component::snapshot_bytes

    fn Component::snapshot_bytes(self : Component) -> Bytes

    Encode the component's immutable binary snapshot.

    Bytes is immutable, so validation evidence can retain and expose this value without granting mutation access to the parsed component graph.

    Component::to_string

    fn Component::to_string(self : Component) -> String

    ComponentBinary

    pub struct ComponentBinary {
    version : Int
    layer : Int
    sections : Array[Section]
    } derive(Eq,
    Debug
    )

    ComponentBinary::equal

    ComponentBinary::not_equal

    fn ComponentBinary::not_equal(x : ComponentBinary, y : ComponentBinary) -> Bool

    ComponentDecl

    pub(all) enum ComponentDecl {
    CoreType(Bytes)
    Type(TypeDef)
    AliasOuter(Int, Int, Int)
    AliasInstanceExport(Int, Int, String)
    Import(String, Array[NameAttribute], ExternDesc)
    Export(String, Array[NameAttribute], ExternDesc)
    } derive(Eq,
    Debug
    )

    A subset of component type declarations (enough for WIT-encoded components).

    ComponentDecl::equal

    ComponentDecl::not_equal

    fn ComponentDecl::not_equal(x : ComponentDecl, y : ComponentDecl) -> Bool

    CoreInlineExport

    pub(all) struct CoreInlineExport {
    name : String
    sortidx : SortIdx
    } derive(Eq,
    Debug
    )

    CoreInlineExport::equal

    CoreInlineExport::not_equal

    fn CoreInlineExport::not_equal(x : CoreInlineExport, y : CoreInlineExport) -> Bool

    CoreInstanceDecl

    pub(all) struct CoreInstanceDecl {
    expr : CoreInstanceExpr
    } derive(Eq,
    Debug
    )

    CoreInstanceDecl::equal

    CoreInstanceDecl::not_equal

    fn CoreInstanceDecl::not_equal(x : CoreInstanceDecl, y : CoreInstanceDecl) -> Bool

    CoreInstanceExpr

    pub(all) enum CoreInstanceExpr {
    Instantiate(Int, Array[CoreInstantiateArg])
    InlineExports(Array[CoreInlineExport])
    } derive(Eq,
    Debug
    )

    CoreInstanceExpr::equal

    CoreInstanceExpr::not_equal

    fn CoreInstanceExpr::not_equal(x : CoreInstanceExpr, y : CoreInstanceExpr) -> Bool

    CoreInstantiateArg

    pub(all) struct CoreInstantiateArg {
    name : String
    sortidx : SortIdx
    } derive(Eq,
    Debug
    )

    CoreInstantiateArg::equal

    CoreInstantiateArg::not_equal

    Export

    pub(all) struct Export {
    name : ExportName
    attributes : Array[NameAttribute]
    sortidx : SortIdx
    desc : ExternDesc?
    } derive(Eq,
    Debug
    )

    Export::equal

    fn Export::equal(Export, Export) -> Bool

    Export::not_equal

    fn Export::not_equal(x : Export, y : Export) -> Bool

    Export::to_repr

    ExportName

    pub(all) enum ExportName {
    Plain(Bytes)
    WithVersion(Bytes, Bytes)
    } derive(Eq,
    Debug
    )

    ExportName::equal

    fn ExportName::equal(ExportName, ExportName) -> Bool

    ExportName::not_equal

    fn ExportName::not_equal(x : ExportName, y : ExportName) -> Bool

    ExternDesc

    pub(all) enum ExternDesc {
    CoreModuleType(Int)
    FuncType(Int)
    Value(ValueBound)
    Type(TypeBound)
    ComponentType(Int)
    InstanceType(Int)
    } derive(Eq,
    Debug
    )

    impl Show for ExternDesc

    ExternDesc::equal

    fn ExternDesc::equal(ExternDesc, ExternDesc) -> Bool

    ExternDesc::not_equal

    fn ExternDesc::not_equal(x : ExternDesc, y : ExternDesc) -> Bool

    ExternDesc::output

    fn ExternDesc::output(self : ExternDesc, logger : &Logger) -> Unit

    ExternDesc::to_string

    fn ExternDesc::to_string(self : ExternDesc) -> String

    FuncType

    pub(all) struct FuncType {
    is_async : Bool
    params : Array[Param]
    result : ValType?
    } derive(Eq,
    Debug
    )

    FuncType::equal

    fn FuncType::equal(FuncType, FuncType) -> Bool

    FuncType::not_equal

    fn FuncType::not_equal(x : FuncType, y : FuncType) -> Bool

    FuncType::to_repr

    Import

    pub(all) struct Import {
    name : ImportName
    attributes : Array[NameAttribute]
    desc : ExternDesc
    } derive(Eq,
    Debug
    )

    Import::equal

    fn Import::equal(Import, Import) -> Bool

    Import::not_equal

    fn Import::not_equal(x : Import, y : Import) -> Bool

    Import::to_repr

    ImportName

    pub(all) enum ImportName {
    Plain(Bytes)
    WithVersion(Bytes, Bytes)
    } derive(Eq,
    Debug
    )

    ImportName::equal

    fn ImportName::equal(ImportName, ImportName) -> Bool

    ImportName::not_equal

    fn ImportName::not_equal(x : ImportName, y : ImportName) -> Bool

    InlineExport

    pub(all) struct InlineExport {
    name : String
    attributes : Array[NameAttribute]
    sortidx : SortIdx
    } derive(Eq,
    Debug
    )

    InlineExport::equal

    InlineExport::not_equal

    fn InlineExport::not_equal(x : InlineExport, y : InlineExport) -> Bool

    Instance

    pub(all) struct Instance {
    expr : InstanceExpr
    } derive(Eq,
    Debug
    )

    Instance::equal

    fn Instance::equal(Instance, Instance) -> Bool

    Instance::not_equal

    fn Instance::not_equal(x : Instance, y : Instance) -> Bool

    Instance::to_repr

    InstanceDecl

    pub(all) enum InstanceDecl {
    CoreType(Bytes)
    Type(TypeDef)
    AliasOuter(Int, Int, Int)
    AliasInstanceExport(Int, Int, String)
    Export(String, Array[NameAttribute], ExternDesc)
    } derive(Eq,
    Debug
    )

    A subset of instance type declarations (enough for wasmtime/component-spec).

    InstanceDecl::equal

    InstanceDecl::not_equal

    fn InstanceDecl::not_equal(x : InstanceDecl, y : InstanceDecl) -> Bool

    InstanceExpr

    pub(all) enum InstanceExpr {
    Instantiate(Int, Array[InstantiateArg])
    InlineExports(Array[InlineExport])
    } derive(Eq,
    Debug
    )

    InstanceExpr::equal

    InstanceExpr::not_equal

    fn InstanceExpr::not_equal(x : InstanceExpr, y : InstanceExpr) -> Bool

    InstanceExpr::output

    fn InstanceExpr::output(self : InstanceExpr, logger : &Logger) -> Unit

    InstanceExpr::to_string

    fn InstanceExpr::to_string(self : InstanceExpr) -> String

    InstantiateArg

    pub(all) struct InstantiateArg {
    name : String
    sortidx : SortIdx
    } derive(Eq,
    Debug
    )

    InstantiateArg::equal

    InstantiateArg::not_equal

    fn InstantiateArg::not_equal(x : InstantiateArg, y : InstantiateArg) -> Bool

    NameAttribute

    pub(all) enum NameAttribute {
    Implements(Bytes)
    VersionSuffix(Bytes)
    ExternalId(Bytes)
    } derive(Eq,
    Debug
    )

    NameAttribute::equal

    NameAttribute::not_equal

    fn NameAttribute::not_equal(x : NameAttribute, y : NameAttribute) -> Bool

    Param

    pub(all) struct Param {
    label : String
    ty : ValType
    } derive(Eq,
    Debug
    )

    Param::equal

    fn Param::equal(Param, Param) -> Bool

    Param::not_equal

    fn Param::not_equal(x : Param, y : Param) -> Bool

    Param::to_repr

    PrimValType

    pub(all) enum PrimValType {
    Bool
    S8
    U8
    S16
    U16
    S32
    U32
    S64
    U64
    F32
    F64
    Char
    String
    ErrorContext
    } derive(Eq,
    Debug
    )

    PrimValType::equal

    fn PrimValType::equal(PrimValType, PrimValType) -> Bool

    PrimValType::not_equal

    fn PrimValType::not_equal(x : PrimValType, y : PrimValType) -> Bool

    RecordField

    pub(all) struct RecordField {
    label : String
    ty : ValType
    } derive(Eq,
    Debug
    )

    RecordField::equal

    fn RecordField::equal(RecordField, RecordField) -> Bool

    RecordField::not_equal

    fn RecordField::not_equal(x : RecordField, y : RecordField) -> Bool

    ResourceKind

    pub(all) enum ResourceKind {
    GuestDefined
    HostDefined
    } derive(Eq,
    Debug
    )

    ResourceKind::equal

    ResourceKind::not_equal

    fn ResourceKind::not_equal(x : ResourceKind, y : ResourceKind) -> Bool

    Section

    pub struct Section {
    id : Int
    payload : Bytes
    } derive(Eq,
    Debug
    )

    Section::equal

    fn Section::equal(Section, Section) -> Bool

    Section::not_equal

    fn Section::not_equal(x : Section, y : Section) -> Bool

    Section::to_repr

    Sort

    pub(all) enum Sort {
    Core(Int)
    Func
    Value
    Type
    Component
    Instance
    } derive(Eq,
    Debug
    )

    Sort::equal

    fn Sort::equal(Sort, Sort) -> Bool

    Sort::not_equal

    fn Sort::not_equal(x : Sort, y : Sort) -> Bool

    Sort::to_repr

    SortIdx

    pub(all) struct SortIdx {
    sort : Sort
    idx : Int
    } derive(Eq,
    Debug
    )

    impl Show for SortIdx

    SortIdx::equal

    fn SortIdx::equal(SortIdx, SortIdx) -> Bool

    SortIdx::not_equal

    fn SortIdx::not_equal(x : SortIdx, y : SortIdx) -> Bool

    SortIdx::output

    fn SortIdx::output(self : SortIdx, logger : &Logger) -> Unit

    SortIdx::to_repr

    SortIdx::to_string

    fn SortIdx::to_string(self : SortIdx) -> String

    Start

    pub(all) struct Start {
    func_idx : Int
    args : Array[Int]
    results : Int
    } derive(Eq,
    Debug
    )

    impl Show for Start

    Start::equal

    fn Start::equal(Start, Start) -> Bool

    Start::not_equal

    fn Start::not_equal(x : Start, y : Start) -> Bool

    Start::output

    fn Start::output(self : Start, logger : &Logger) -> Unit

    Start::to_repr

    Start::to_string

    fn Start::to_string(self : Start) -> String

    StringEncoding

    pub(all) enum StringEncoding {
    Utf8
    Utf16
    Latin1Utf16
    } derive(Eq,
    Debug
    )

    StringEncoding::equal

    StringEncoding::not_equal

    fn StringEncoding::not_equal(x : StringEncoding, y : StringEncoding) -> Bool

    TypeBound

    pub(all) enum TypeBound {
    Eq(Int)
    SubResource
    } derive(Eq,
    Debug
    )

    TypeBound::equal

    fn TypeBound::equal(TypeBound, TypeBound) -> Bool

    TypeBound::not_equal

    fn TypeBound::not_equal(x : TypeBound, y : TypeBound) -> Bool

    TypeDef

    pub(all) enum TypeDef {
    DefValType(PrimValType)
    FuncType(FuncType)
    List(ValType)
    FixedList(ValType, Int)
    MapType(ValType, ValType)
    Record(Array[RecordField])
    Variant(Array[VariantCase])
    Tuple(Array[ValType])
    Flags(Array[String])
    Enum(Array[String])
    Option(ValType)
    Result(ValType?, ValType?)
    Own(Int)
    Borrow(Int)
    Stream(ValType?)
    Future(ValType?)
    ResourceType(Int, Int, Int?, ResourceKind)
    ComponentType(Array[ComponentDecl])
    InstanceTypeEmpty
    InstanceType(Array[InstanceDecl])
    } derive(Eq,
    Debug
    )

    impl Show for TypeDef

    TypeDef::equal

    fn TypeDef::equal(TypeDef, TypeDef) -> Bool

    TypeDef::not_equal

    fn TypeDef::not_equal(x : TypeDef, y : TypeDef) -> Bool

    TypeDef::output

    fn TypeDef::output(self : TypeDef, logger : &Logger) -> Unit

    TypeDef::to_repr

    TypeDef::to_string

    fn TypeDef::to_string(self : TypeDef) -> String

    ValType

    pub(all) enum ValType {
    TypeIdx(Int)
    Prim(PrimValType)
    } derive(Eq,
    Debug
    )

    ValType::equal

    fn ValType::equal(ValType, ValType) -> Bool

    ValType::not_equal

    fn ValType::not_equal(x : ValType, y : ValType) -> Bool

    ValType::to_repr

    ValueBound

    pub(all) enum ValueBound {
    Eq(Int)
    Type(ValType)
    } derive(Eq,
    Debug
    )

    ValueBound::equal

    fn ValueBound::equal(ValueBound, ValueBound) -> Bool

    ValueBound::not_equal

    fn ValueBound::not_equal(x : ValueBound, y : ValueBound) -> Bool

    VariantCase

    pub(all) struct VariantCase {
    label : String
    ty : ValType?
    refines : Int?
    } derive(Eq,
    Debug
    )

    VariantCase::equal

    fn VariantCase::equal(VariantCase, VariantCase) -> Bool

    VariantCase::not_equal

    fn VariantCase::not_equal(x : VariantCase, y : VariantCase) -> Bool

    parse_alias_section

    fn parse_alias_section(payload : Bytes) -> Array[Alias] raise ComponentParseError

    parse_canon_section

    fn parse_canon_section(payload : Bytes) -> Array[Canon] raise ComponentParseError

    parse_component

    fn parse_component(bytes : Bytes) -> Component raise ComponentParseError

    parse_component_binary

    fn parse_component_binary(bytes : Bytes) -> ComponentBinary raise ComponentParseError

    parse_core_instance_section

    fn parse_core_instance_section(payload : Bytes) -> Array[CoreInstanceDecl] raise ComponentParseError

    parse_export_section

    fn parse_export_section(payload : Bytes) -> Array[Export] raise ComponentParseError

    parse_import_section

    fn parse_import_section(payload : Bytes) -> Array[Import] raise ComponentParseError

    parse_instance_section

    fn parse_instance_section(payload : Bytes) -> Array[Instance] raise ComponentParseError

    parse_start_section

    fn parse_start_section(payload : Bytes) -> Start raise ComponentParseError

    parse_type_section

    fn parse_type_section(payload : Bytes) -> Array[TypeDef] raise ComponentParseError

    sniff_binary_kind

    fn sniff_binary_kind(bytes : Bytes) -> BinaryKind?