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
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
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" }