wasm-tools 1.248.0

CLI tools for interoperating with WebAssembly files
Documentation
   0x0 | 00 61 73 6d | version 13 (Component)
       | 0d 00 01 00
   0x8 | 07 30       | component type section
   0xa | 01          | 1 count
   0xb | 42 09 00 50 | [type 0] Instance([CoreType(Module([])), Export { name: ComponentExportName("a"), ty: Module(0) }, Type(Func(ComponentFuncType { async_: false, params: [], result: None })), Export { name: ComponentExportName("b"), ty: Func(0) }, Export { name: ComponentExportName("c"), ty: Value(Primitive(String)) }, Type(Instance([])), Export { name: ComponentExportName("d"), ty: Instance(1) }, Type(Component([])), Export { name: ComponentExportName("e"), ty: Component(2) }])
       | 00 04 00 01
       | 61 00 11 00
       | 01 40 00 01
       | 00 04 00 01
       | 62 01 00 04
       | 00 01 63 02
       | 73 01 42 00
       | 04 00 01 64
       | 05 01 01 41
       | 00 04 00 01
       | 65 04 02   
  0x3a | 0a 06       | component import section
  0x3c | 01          | 1 count
  0x3d | 00 01 61 05 | [instance 0] ComponentImport { name: ComponentImportName("a"), ty: Instance(0) }
       | 00         
  0x42 | 04 59       | [component 0] inline size
    0x44 | 00 61 73 6d | version 13 (Component)
         | 0d 00 01 00
    0x4c | 03 03       | core type section
    0x4e | 01          | 1 count
    0x4f | 50 00       | [core type 0] Module([])
    0x51 | 0a 07       | component import section
    0x53 | 01          | 1 count
    0x54 | 00 01 61 00 | [module 0] ComponentImport { name: ComponentImportName("a"), ty: Module(0) }
         | 11 00      
    0x5a | 07 05       | component type section
    0x5c | 01          | 1 count
    0x5d | 40 00 01 00 | [type 0] Func(ComponentFuncType { async_: false, params: [], result: None })
    0x61 | 0a 0b       | component import section
    0x63 | 02          | 2 count
    0x64 | 00 01 62 01 | [func 0] ComponentImport { name: ComponentImportName("b"), ty: Func(0) }
         | 00         
    0x69 | 00 01 63 02 | [value 0] ComponentImport { name: ComponentImportName("c"), ty: Value(Primitive(String)) }
         | 73         
    0x6e | 07 03       | component type section
    0x70 | 01          | 1 count
    0x71 | 42 00       | [type 1] Instance([])
    0x73 | 0a 06       | component import section
    0x75 | 01          | 1 count
    0x76 | 00 01 64 05 | [instance 0] ComponentImport { name: ComponentImportName("d"), ty: Instance(1) }
         | 01         
    0x7b | 07 03       | component type section
    0x7d | 01          | 1 count
    0x7e | 41 00       | [type 2] Component([])
    0x80 | 0a 06       | component import section
    0x82 | 01          | 1 count
    0x83 | 00 01 65 04 | [component 0] ComponentImport { name: ComponentImportName("e"), ty: Component(2) }
         | 02         
    0x88 | 00 13       | custom section
    0x8a | 0e 63 6f 6d | name: "component-name"
         | 70 6f 6e 65
         | 6e 74 2d 6e
         | 61 6d 65   
    0x99 | 00 02       | component name
    0x9b | 01 63       | "c"
  0x9d | 06 1b       | component alias section
  0x9f | 05          | 5 count
  0xa0 | 00 11 00 00 | alias [module 0] InstanceExport { kind: Module, instance_index: 0, name: "a" }
       | 01 61      
  0xa6 | 01 00 00 01 | alias [func 0] InstanceExport { kind: Func, instance_index: 0, name: "b" }
       | 62         
  0xab | 02 00 00 01 | alias [value 0] InstanceExport { kind: Value, instance_index: 0, name: "c" }
       | 63         
  0xb0 | 05 00 00 01 | alias [instance 1] InstanceExport { kind: Instance, instance_index: 0, name: "d" }
       | 64         
  0xb5 | 04 00 00 01 | alias [component 1] InstanceExport { kind: Component, instance_index: 0, name: "e" }
       | 65         
  0xba | 05 19       | component instance section
  0xbc | 01          | 1 count
  0xbd | 00 00 05 01 | [instance 2] Instantiate { component_index: 0, args: [ComponentInstantiationArg { name: "a", kind: Module, index: 0 }, ComponentInstantiationArg { name: "b", kind: Func, index: 0 }, ComponentInstantiationArg { name: "c", kind: Value, index: 0 }, ComponentInstantiationArg { name: "d", kind: Instance, index: 1 }, ComponentInstantiationArg { name: "e", kind: Component, index: 1 }] }
       | 61 00 11 00
       | 01 62 01 00
       | 01 63 02 00
       | 01 64 05 01
       | 01 65 04 01
  0xd5 | 04 34       | [component 2] inline size
    0xd7 | 00 61 73 6d | version 13 (Component)
         | 0d 00 01 00
    0xdf | 06 05       | component alias section
    0xe1 | 01          | 1 count
    0xe2 | 03 02 01 00 | alias [type 0] Outer { kind: Type, count: 1, index: 0 }
    0xe6 | 0a 06       | component import section
    0xe8 | 01          | 1 count
    0xe9 | 00 01 61 05 | [instance 0] ComponentImport { name: ComponentImportName("a"), ty: Instance(0) }
         | 00         
    0xee | 00 1b       | custom section
    0xf0 | 0e 63 6f 6d | name: "component-name"
         | 70 6f 6e 65
         | 6e 74 2d 6e
         | 61 6d 65   
    0xff | 00 03       | component name
   0x101 | 02 63 32    | "c2"
   0x104 | 01 05 03    | type name section
   0x107 | 01          | 1 count
   0x108 | 00 01 74    | Naming { index: 0, name: "t" }
 0x10b | 06 1b       | component alias section
 0x10d | 05          | 5 count
 0x10e | 00 11 00 00 | alias [module 1] InstanceExport { kind: Module, instance_index: 0, name: "a" }
       | 01 61      
 0x114 | 01 00 00 01 | alias [func 1] InstanceExport { kind: Func, instance_index: 0, name: "b" }
       | 62         
 0x119 | 02 00 00 01 | alias [value 1] InstanceExport { kind: Value, instance_index: 0, name: "c" }
       | 63         
 0x11e | 05 00 00 01 | alias [instance 3] InstanceExport { kind: Instance, instance_index: 0, name: "d" }
       | 64         
 0x123 | 04 00 00 01 | alias [component 3] InstanceExport { kind: Component, instance_index: 0, name: "e" }
       | 65         
 0x128 | 05 24       | component instance section
 0x12a | 02          | 2 count
 0x12b | 01 05 00 01 | [instance 4] FromExports([ComponentExport { name: ComponentExportName("a"), kind: Module, index: 1, ty: None }, ComponentExport { name: ComponentExportName("b"), kind: Func, index: 1, ty: None }, ComponentExport { name: ComponentExportName("c"), kind: Value, index: 1, ty: None }, ComponentExport { name: ComponentExportName("d"), kind: Instance, index: 3, ty: None }, ComponentExport { name: ComponentExportName("e"), kind: Component, index: 3, ty: None }])
       | 61 00 11 01
       | 00 01 62 01
       | 01 00 01 63
       | 02 01 00 01
       | 64 05 03 00
       | 01 65 04 03
 0x147 | 00 02 01 01 | [instance 5] Instantiate { component_index: 2, args: [ComponentInstantiationArg { name: "a", kind: Instance, index: 4 }] }
       | 61 05 04   
 0x14e | 01 48       | [core module 2] inline size
   0x150 | 00 61 73 6d | version 1 (Module)
         | 01 00 00 00
   0x158 | 01 04       | type section
   0x15a | 01          | 1 count
--- rec group 0 (implicit) ---
   0x15b | 60 00 00    | [type 0] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [], results: [] }), shared: false, descriptor_idx: None, describes_idx: None } }
   0x15e | 03 02       | func section
   0x160 | 01          | 1 count
   0x161 | 00          | [func 0] type 0
   0x162 | 04 04       | table section
   0x164 | 01          | 1 count
   0x165 | 70 00 01    | [table 0] Table { ty: TableType { element_type: funcref, table64: false, initial: 1, maximum: None, shared: false }, init: RefNull }
   0x168 | 05 03       | memory section
   0x16a | 01          | 1 count
   0x16b | 00 01       | [memory 0] MemoryType { memory64: false, shared: false, initial: 1, maximum: None, page_size_log2: None }
   0x16d | 06 04       | global section
   0x16f | 01          | 1 count
   0x170 | 7f 00       | [global 0] GlobalType { content_type: I32, mutable: false, shared: false }
   0x172 | 0b          | end
   0x173 | 07 11       | export section
   0x175 | 04          | 4 count
   0x176 | 01 31 00 00 | export Export { name: "1", kind: Func, index: 0 }
   0x17a | 01 32 02 00 | export Export { name: "2", kind: Memory, index: 0 }
   0x17e | 01 33 03 00 | export Export { name: "3", kind: Global, index: 0 }
   0x182 | 01 34 01 00 | export Export { name: "4", kind: Table, index: 0 }
   0x186 | 0a 04       | code section
   0x188 | 01          | 1 count
============== func 0 ====================
   0x189 | 02          | size of function
   0x18a | 00          | 0 local blocks
   0x18b | 0b          | end
   0x18c | 00 0a       | custom section
   0x18e | 04 6e 61 6d | name: "name"
         | 65         
   0x193 | 00 03       | module name
   0x195 | 02 6d 31    | "m1"
 0x198 | 01 35       | [core module 3] inline size
   0x19a | 00 61 73 6d | version 1 (Module)
         | 01 00 00 00
   0x1a2 | 01 04       | type section
   0x1a4 | 01          | 1 count
--- rec group 0 (implicit) ---
   0x1a5 | 60 00 00    | [type 0] SubType { is_final: true, supertype_idx: None, composite_type: CompositeType { inner: Func(FuncType { params: [], results: [] }), shared: false, descriptor_idx: None, describes_idx: None } }
   0x1a8 | 02 19       | import section
   0x1aa | 04          | 4 count
   0x1ab | 00 01 31 00 | import [func 0] Import { module: "", name: "1", ty: Func(0) }
         | 00         
   0x1b0 | 00 01 32 02 | import [memory 0] Import { module: "", name: "2", ty: Memory(MemoryType { memory64: false, shared: false, initial: 1, maximum: None, page_size_log2: None }) }
         | 00 01      
   0x1b6 | 00 01 33 03 | import [global 0] Import { module: "", name: "3", ty: Global(GlobalType { content_type: I32, mutable: false, shared: false }) }
         | 7f 00      
   0x1bc | 00 01 34 01 | import [table 0] Import { module: "", name: "4", ty: Table(TableType { element_type: funcref, table64: false, initial: 1, maximum: None, shared: false }) }
         | 70 00 01   
   0x1c3 | 00 0a       | custom section
   0x1c5 | 04 6e 61 6d | name: "name"
         | 65         
   0x1ca | 00 03       | module name
   0x1cc | 02 6d 32    | "m2"
 0x1cf | 02 0a       | core instance section
 0x1d1 | 02          | 2 count
 0x1d2 | 00 02 00    | [core instance 0] Instantiate { module_index: 2, args: [] }
 0x1d5 | 00 03 01 00 | [core instance 1] Instantiate { module_index: 3, args: [InstantiationArg { name: "", kind: Instance, index: 0 }] }
       | 12 00      
 0x1db | 06 19       | component alias section
 0x1dd | 04          | 4 count
 0x1de | 00 00 01 00 | alias [core func 0] CoreInstanceExport { kind: Func, instance_index: 0, name: "1" }
       | 01 31      
 0x1e4 | 00 02 01 00 | alias [core memory 0] CoreInstanceExport { kind: Memory, instance_index: 0, name: "2" }
       | 01 32      
 0x1ea | 00 03 01 00 | alias [core global 0] CoreInstanceExport { kind: Global, instance_index: 0, name: "3" }
       | 01 33      
 0x1f0 | 00 01 01 00 | alias [core table 0] CoreInstanceExport { kind: Table, instance_index: 0, name: "4" }
       | 01 34      
 0x1f6 | 02 19       | core instance section
 0x1f8 | 02          | 2 count
 0x1f9 | 01 04 01 31 | [core instance 2] FromExports([Export { name: "1", kind: Func, index: 0 }, Export { name: "2", kind: Memory, index: 0 }, Export { name: "3", kind: Global, index: 0 }, Export { name: "4", kind: Table, index: 0 }])
       | 00 00 01 32
       | 02 00 01 33
       | 03 00 01 34
       | 01 00      
 0x20b | 00 03 01 00 | [core instance 3] Instantiate { module_index: 3, args: [InstantiationArg { name: "", kind: Instance, index: 2 }] }
       | 12 02      
 0x211 | 00 76       | custom section
 0x213 | 0e 63 6f 6d | name: "component-name"
       | 70 6f 6e 65
       | 6e 74 2d 6e
       | 61 6d 65   
 0x222 | 01 06 00 00 | core func name section
 0x226 | 01          | 1 count
 0x227 | 00 01 66    | Naming { index: 0, name: "f" }
 0x22a | 01 06 00 01 | core table name section
 0x22e | 01          | 1 count
 0x22f | 00 01 74    | Naming { index: 0, name: "t" }
 0x232 | 01 06 00 02 | core memory name section
 0x236 | 01          | 1 count
 0x237 | 00 01 6d    | Naming { index: 0, name: "m" }
 0x23a | 01 06 00 03 | core global name section
 0x23e | 01          | 1 count
 0x23f | 00 01 67    | Naming { index: 0, name: "g" }
 0x242 | 01 0e 00 11 | core module name section
 0x246 | 03          | 3 count
 0x247 | 01 01 6d    | Naming { index: 1, name: "m" }
 0x24a | 02 02 6d 31 | Naming { index: 2, name: "m1" }
 0x24e | 03 02 6d 32 | Naming { index: 3, name: "m2" }
 0x252 | 01 06 00 12 | core instance name section
 0x256 | 01          | 1 count
 0x257 | 00 01 69    | Naming { index: 0, name: "i" }
 0x25a | 01 05 01    | func name section
 0x25d | 01          | 1 count
 0x25e | 01 01 66    | Naming { index: 1, name: "f" }
 0x261 | 01 05 02    | value name section
 0x264 | 01          | 1 count
 0x265 | 01 01 76    | Naming { index: 1, name: "v" }
 0x268 | 01 05 03    | type name section
 0x26b | 01          | 1 count
 0x26c | 00 01 74    | Naming { index: 0, name: "t" }
 0x26f | 01 0d 04    | component name section
 0x272 | 03          | 3 count
 0x273 | 00 01 63    | Naming { index: 0, name: "c" }
 0x276 | 02 02 63 32 | Naming { index: 2, name: "c2" }
 0x27a | 03 02 63 33 | Naming { index: 3, name: "c3" }
 0x27e | 01 09 05    | instance name section
 0x281 | 02          | 2 count
 0x282 | 00 01 69    | Naming { index: 0, name: "i" }
 0x285 | 03 02 69 32 | Naming { index: 3, name: "i2" }