diff options
Diffstat (limited to 'src/Structure/Instructions/Instrs')
207 files changed, 2683 insertions, 0 deletions
diff --git a/src/Structure/Instructions/Instrs/Control/Block.php b/src/Structure/Instructions/Instrs/Control/Block.php new file mode 100644 index 0000000..2be7a1f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Block.php @@ -0,0 +1,19 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Block extends Instr +{ + /** + * @param list<Instr> $body + */ + public function __construct( + public BlockType $type, + public array $body, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/BlockType.php b/src/Structure/Instructions/Instrs/Control/BlockType.php new file mode 100644 index 0000000..68c6bd4 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/BlockType.php @@ -0,0 +1,21 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Types\TypeIdx; +use Nsfisis\Waddiwasi\Structure\Types\ValType; + +abstract readonly class BlockType +{ + final public static function TypeIdx(TypeIdx $type): BlockTypes\TypeIdx + { + return new BlockTypes\TypeIdx($type); + } + + final public static function ValType(?ValType $type): BlockTypes\ValType + { + return new BlockTypes\ValType($type); + } +} diff --git a/src/Structure/Instructions/Instrs/Control/BlockTypes/TypeIdx.php b/src/Structure/Instructions/Instrs/Control/BlockTypes/TypeIdx.php new file mode 100644 index 0000000..b633bb7 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/BlockTypes/TypeIdx.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control\BlockTypes; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control\BlockType; +use Nsfisis\Waddiwasi\Structure\Types\TypeIdx as OrigTypeIdx; + +final readonly class TypeIdx extends BlockType +{ + protected function __construct(public OrigTypeIdx $inner) + { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/BlockTypes/ValType.php b/src/Structure/Instructions/Instrs/Control/BlockTypes/ValType.php new file mode 100644 index 0000000..1a56ce4 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/BlockTypes/ValType.php @@ -0,0 +1,15 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control\BlockTypes; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control\BlockType; +use Nsfisis\Waddiwasi\Structure\Types\ValType as OrigValType; + +final readonly class ValType extends BlockType +{ + protected function __construct(public ?OrigValType $inner) + { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/Br.php b/src/Structure/Instructions/Instrs/Control/Br.php new file mode 100644 index 0000000..836f3f1 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Br.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\LabelIdx; + +final readonly class Br extends Instr +{ + public function __construct( + public LabelIdx $label, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/BrIf.php b/src/Structure/Instructions/Instrs/Control/BrIf.php new file mode 100644 index 0000000..a15a716 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/BrIf.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\LabelIdx; + +final readonly class BrIf extends Instr +{ + public function __construct( + public LabelIdx $label, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/BrTable.php b/src/Structure/Instructions/Instrs/Control/BrTable.php new file mode 100644 index 0000000..57a08f3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/BrTable.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\LabelIdx; + +final readonly class BrTable extends Instr +{ + /** + * @param list<LabelIdx> $labelTable + */ + public function __construct( + public array $labelTable, + public LabelIdx $defaultLabel, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/Call.php b/src/Structure/Instructions/Instrs/Control/Call.php new file mode 100644 index 0000000..c8702d3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Call.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\FuncIdx; + +final readonly class Call extends Instr +{ + public function __construct( + public FuncIdx $func, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/CallIndirect.php b/src/Structure/Instructions/Instrs/Control/CallIndirect.php new file mode 100644 index 0000000..2cf28a5 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/CallIndirect.php @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; +use Nsfisis\Waddiwasi\Structure\Types\TypeIdx; + +final readonly class CallIndirect extends Instr +{ + public function __construct( + public TableIdx $funcTable, + public TypeIdx $type, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/Else_.php b/src/Structure/Instructions/Instrs/Control/Else_.php new file mode 100644 index 0000000..665b11f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Else_.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Else_ extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Control/End.php b/src/Structure/Instructions/Instrs/Control/End.php new file mode 100644 index 0000000..275dc6d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/End.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class End extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Control/If_.php b/src/Structure/Instructions/Instrs/Control/If_.php new file mode 100644 index 0000000..0536be0 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/If_.php @@ -0,0 +1,21 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class If_ extends Instr +{ + /** + * @param list<Instr> $thenBody + * @param list<Instr> $elseBody + */ + public function __construct( + public BlockType $type, + public array $thenBody, + public array $elseBody, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/Loop.php b/src/Structure/Instructions/Instrs/Control/Loop.php new file mode 100644 index 0000000..30c85ef --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Loop.php @@ -0,0 +1,19 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Loop extends Instr +{ + /** + * @param list<Instr> $body + */ + public function __construct( + public BlockType $type, + public array $body, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Control/Nop.php b/src/Structure/Instructions/Instrs/Control/Nop.php new file mode 100644 index 0000000..dbb1b6c --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Nop.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Nop extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Control/Return_.php b/src/Structure/Instructions/Instrs/Control/Return_.php new file mode 100644 index 0000000..0322076 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Return_.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Return_ extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Control/Unreachable.php b/src/Structure/Instructions/Instrs/Control/Unreachable.php new file mode 100644 index 0000000..49f586b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Control/Unreachable.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Control; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Unreachable extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Memory/DataDrop.php b/src/Structure/Instructions/Instrs/Memory/DataDrop.php new file mode 100644 index 0000000..4d08ef8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/DataDrop.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\DataIdx; + +final readonly class DataDrop extends Instr +{ + public function __construct( + public DataIdx $data, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/F32Load.php b/src/Structure/Instructions/Instrs/Memory/F32Load.php new file mode 100644 index 0000000..d315ffc --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/F32Load.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/F32Store.php b/src/Structure/Instructions/Instrs/Memory/F32Store.php new file mode 100644 index 0000000..702698d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/F32Store.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/F64Load.php b/src/Structure/Instructions/Instrs/Memory/F64Load.php new file mode 100644 index 0000000..8ea4742 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/F64Load.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/F64Store.php b/src/Structure/Instructions/Instrs/Memory/F64Store.php new file mode 100644 index 0000000..3cda981 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/F64Store.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Load.php b/src/Structure/Instructions/Instrs/Memory/I32Load.php new file mode 100644 index 0000000..98e5e35 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Load.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Load16S.php b/src/Structure/Instructions/Instrs/Memory/I32Load16S.php new file mode 100644 index 0000000..f4fa975 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Load16S.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Load16S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Load16U.php b/src/Structure/Instructions/Instrs/Memory/I32Load16U.php new file mode 100644 index 0000000..8d6d772 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Load16U.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Load16U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Load8S.php b/src/Structure/Instructions/Instrs/Memory/I32Load8S.php new file mode 100644 index 0000000..3d93375 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Load8S.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Load8S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Load8U.php b/src/Structure/Instructions/Instrs/Memory/I32Load8U.php new file mode 100644 index 0000000..dcc94bc --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Load8U.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Load8U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Store.php b/src/Structure/Instructions/Instrs/Memory/I32Store.php new file mode 100644 index 0000000..c65e9c1 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Store.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Store16.php b/src/Structure/Instructions/Instrs/Memory/I32Store16.php new file mode 100644 index 0000000..01401df --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Store16.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Store16 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I32Store8.php b/src/Structure/Instructions/Instrs/Memory/I32Store8.php new file mode 100644 index 0000000..07f0f90 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I32Store8.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Store8 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load.php b/src/Structure/Instructions/Instrs/Memory/I64Load.php new file mode 100644 index 0000000..ccb8069 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load16S.php b/src/Structure/Instructions/Instrs/Memory/I64Load16S.php new file mode 100644 index 0000000..34f9a9d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load16S.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load16S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load16U.php b/src/Structure/Instructions/Instrs/Memory/I64Load16U.php new file mode 100644 index 0000000..171ed96 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load16U.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load16U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load32S.php b/src/Structure/Instructions/Instrs/Memory/I64Load32S.php new file mode 100644 index 0000000..e26fbc8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load32S.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load32S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load32U.php b/src/Structure/Instructions/Instrs/Memory/I64Load32U.php new file mode 100644 index 0000000..6568d25 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load32U.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load32U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load8S.php b/src/Structure/Instructions/Instrs/Memory/I64Load8S.php new file mode 100644 index 0000000..7f4a8ef --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load8S.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load8S extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Load8U.php b/src/Structure/Instructions/Instrs/Memory/I64Load8U.php new file mode 100644 index 0000000..1982714 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Load8U.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Load8U extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Store.php b/src/Structure/Instructions/Instrs/Memory/I64Store.php new file mode 100644 index 0000000..75e0303 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Store.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Store extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Store16.php b/src/Structure/Instructions/Instrs/Memory/I64Store16.php new file mode 100644 index 0000000..66ecec6 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Store16.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Store16 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Store32.php b/src/Structure/Instructions/Instrs/Memory/I64Store32.php new file mode 100644 index 0000000..8307efd --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Store32.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Store32 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/I64Store8.php b/src/Structure/Instructions/Instrs/Memory/I64Store8.php new file mode 100644 index 0000000..dd52475 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/I64Store8.php @@ -0,0 +1,20 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Store8 extends Instr +{ + /** + * @param U32 $offset + * @param U32 $align + */ + public function __construct( + public int $offset, + public int $align, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/MemoryCopy.php b/src/Structure/Instructions/Instrs/Memory/MemoryCopy.php new file mode 100644 index 0000000..49a2700 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/MemoryCopy.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class MemoryCopy extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Memory/MemoryFill.php b/src/Structure/Instructions/Instrs/Memory/MemoryFill.php new file mode 100644 index 0000000..0de6d5e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/MemoryFill.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class MemoryFill extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Memory/MemoryGrow.php b/src/Structure/Instructions/Instrs/Memory/MemoryGrow.php new file mode 100644 index 0000000..2b16de1 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/MemoryGrow.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class MemoryGrow extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Memory/MemoryInit.php b/src/Structure/Instructions/Instrs/Memory/MemoryInit.php new file mode 100644 index 0000000..72f7ee9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/MemoryInit.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\DataIdx; + +final readonly class MemoryInit extends Instr +{ + public function __construct( + public DataIdx $data, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Memory/MemorySize.php b/src/Structure/Instructions/Instrs/Memory/MemorySize.php new file mode 100644 index 0000000..e411762 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Memory/MemorySize.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Memory; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class MemorySize extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Abs.php b/src/Structure/Instructions/Instrs/Numeric/F32Abs.php new file mode 100644 index 0000000..94fc22b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Abs.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Abs extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Add.php b/src/Structure/Instructions/Instrs/Numeric/F32Add.php new file mode 100644 index 0000000..8a69f34 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Add.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Add extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Ceil.php b/src/Structure/Instructions/Instrs/Numeric/F32Ceil.php new file mode 100644 index 0000000..75469a6 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Ceil.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Ceil extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Const.php b/src/Structure/Instructions/Instrs/Numeric/F32Const.php new file mode 100644 index 0000000..d9ce335 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Const.php @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Const extends Instr +{ + /** + * @param F32 $value + */ + public function __construct( + public float $value, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32ConvertI32S.php b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI32S.php new file mode 100644 index 0000000..6443f07 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32ConvertI32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32ConvertI32U.php b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI32U.php new file mode 100644 index 0000000..c845057 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32ConvertI32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32ConvertI64S.php b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI64S.php new file mode 100644 index 0000000..ff9515e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI64S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32ConvertI64S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32ConvertI64U.php b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI64U.php new file mode 100644 index 0000000..2a321c7 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32ConvertI64U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32ConvertI64U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32CopySign.php b/src/Structure/Instructions/Instrs/Numeric/F32CopySign.php new file mode 100644 index 0000000..80ca681 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32CopySign.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32CopySign extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32DemoteF64.php b/src/Structure/Instructions/Instrs/Numeric/F32DemoteF64.php new file mode 100644 index 0000000..bfe7221 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32DemoteF64.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32DemoteF64 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Div.php b/src/Structure/Instructions/Instrs/Numeric/F32Div.php new file mode 100644 index 0000000..034a161 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Div.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Div extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Eq.php b/src/Structure/Instructions/Instrs/Numeric/F32Eq.php new file mode 100644 index 0000000..acfaa91 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Eq.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Eq extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Floor.php b/src/Structure/Instructions/Instrs/Numeric/F32Floor.php new file mode 100644 index 0000000..6b8c760 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Floor.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Floor extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Ge.php b/src/Structure/Instructions/Instrs/Numeric/F32Ge.php new file mode 100644 index 0000000..bd8a7ce --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Ge.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Ge extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Gt.php b/src/Structure/Instructions/Instrs/Numeric/F32Gt.php new file mode 100644 index 0000000..4f071b5 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Gt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Gt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Le.php b/src/Structure/Instructions/Instrs/Numeric/F32Le.php new file mode 100644 index 0000000..76d53ed --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Le.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Le extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Lt.php b/src/Structure/Instructions/Instrs/Numeric/F32Lt.php new file mode 100644 index 0000000..9286087 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Lt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Lt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Max.php b/src/Structure/Instructions/Instrs/Numeric/F32Max.php new file mode 100644 index 0000000..e2d68cd --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Max.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Max extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Min.php b/src/Structure/Instructions/Instrs/Numeric/F32Min.php new file mode 100644 index 0000000..2b07d3a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Min.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Min extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Mul.php b/src/Structure/Instructions/Instrs/Numeric/F32Mul.php new file mode 100644 index 0000000..f232268 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Mul.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Mul extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Ne.php b/src/Structure/Instructions/Instrs/Numeric/F32Ne.php new file mode 100644 index 0000000..4d88d58 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Ne.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Ne extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Nearest.php b/src/Structure/Instructions/Instrs/Numeric/F32Nearest.php new file mode 100644 index 0000000..5ef087c --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Nearest.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Nearest extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Neg.php b/src/Structure/Instructions/Instrs/Numeric/F32Neg.php new file mode 100644 index 0000000..0ee1c81 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Neg.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Neg extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32ReinterpretI32.php b/src/Structure/Instructions/Instrs/Numeric/F32ReinterpretI32.php new file mode 100644 index 0000000..ca6bbc9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32ReinterpretI32.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32ReinterpretI32 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32ReinterpretI64.php b/src/Structure/Instructions/Instrs/Numeric/F32ReinterpretI64.php new file mode 100644 index 0000000..4c0c1cc --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32ReinterpretI64.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32ReinterpretI64 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Sqrt.php b/src/Structure/Instructions/Instrs/Numeric/F32Sqrt.php new file mode 100644 index 0000000..8889df2 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Sqrt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Sqrt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Sub.php b/src/Structure/Instructions/Instrs/Numeric/F32Sub.php new file mode 100644 index 0000000..79efc3c --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Sub.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Sub extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F32Trunc.php b/src/Structure/Instructions/Instrs/Numeric/F32Trunc.php new file mode 100644 index 0000000..6c273ac --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F32Trunc.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F32Trunc extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Abs.php b/src/Structure/Instructions/Instrs/Numeric/F64Abs.php new file mode 100644 index 0000000..cc0a7d3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Abs.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Abs extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Add.php b/src/Structure/Instructions/Instrs/Numeric/F64Add.php new file mode 100644 index 0000000..6e8ed1a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Add.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Add extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Ceil.php b/src/Structure/Instructions/Instrs/Numeric/F64Ceil.php new file mode 100644 index 0000000..42bc77d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Ceil.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Ceil extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Const.php b/src/Structure/Instructions/Instrs/Numeric/F64Const.php new file mode 100644 index 0000000..dcfa9e8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Const.php @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Const extends Instr +{ + /** + * @param F64 $value + */ + public function __construct( + public float $value, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64ConvertI32S.php b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI32S.php new file mode 100644 index 0000000..ca52f39 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64ConvertI32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64ConvertI32U.php b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI32U.php new file mode 100644 index 0000000..2b0cb1b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64ConvertI32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64ConvertI64S.php b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI64S.php new file mode 100644 index 0000000..9f2d8ad --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI64S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64ConvertI64S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64ConvertI64U.php b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI64U.php new file mode 100644 index 0000000..a86cd01 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64ConvertI64U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64ConvertI64U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64CopySign.php b/src/Structure/Instructions/Instrs/Numeric/F64CopySign.php new file mode 100644 index 0000000..2e11ae4 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64CopySign.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64CopySign extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Div.php b/src/Structure/Instructions/Instrs/Numeric/F64Div.php new file mode 100644 index 0000000..d655879 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Div.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Div extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Eq.php b/src/Structure/Instructions/Instrs/Numeric/F64Eq.php new file mode 100644 index 0000000..5155b0b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Eq.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Eq extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Floor.php b/src/Structure/Instructions/Instrs/Numeric/F64Floor.php new file mode 100644 index 0000000..a55785f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Floor.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Floor extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Ge.php b/src/Structure/Instructions/Instrs/Numeric/F64Ge.php new file mode 100644 index 0000000..f9dc40e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Ge.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Ge extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Gt.php b/src/Structure/Instructions/Instrs/Numeric/F64Gt.php new file mode 100644 index 0000000..bf33336 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Gt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Gt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Le.php b/src/Structure/Instructions/Instrs/Numeric/F64Le.php new file mode 100644 index 0000000..eae4b93 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Le.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Le extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Lt.php b/src/Structure/Instructions/Instrs/Numeric/F64Lt.php new file mode 100644 index 0000000..755914a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Lt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Lt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Max.php b/src/Structure/Instructions/Instrs/Numeric/F64Max.php new file mode 100644 index 0000000..3f07d6d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Max.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Max extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Min.php b/src/Structure/Instructions/Instrs/Numeric/F64Min.php new file mode 100644 index 0000000..272dc4a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Min.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Min extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Mul.php b/src/Structure/Instructions/Instrs/Numeric/F64Mul.php new file mode 100644 index 0000000..f22dbab --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Mul.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Mul extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Ne.php b/src/Structure/Instructions/Instrs/Numeric/F64Ne.php new file mode 100644 index 0000000..91c86e3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Ne.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Ne extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Nearest.php b/src/Structure/Instructions/Instrs/Numeric/F64Nearest.php new file mode 100644 index 0000000..52bcfd8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Nearest.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Nearest extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Neg.php b/src/Structure/Instructions/Instrs/Numeric/F64Neg.php new file mode 100644 index 0000000..4589529 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Neg.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Neg extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64PromoteF32.php b/src/Structure/Instructions/Instrs/Numeric/F64PromoteF32.php new file mode 100644 index 0000000..a14aa36 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64PromoteF32.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64PromoteF32 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64ReinterpretI32.php b/src/Structure/Instructions/Instrs/Numeric/F64ReinterpretI32.php new file mode 100644 index 0000000..b37bf7e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64ReinterpretI32.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64ReinterpretI32 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64ReinterpretI64.php b/src/Structure/Instructions/Instrs/Numeric/F64ReinterpretI64.php new file mode 100644 index 0000000..0f8a3fb --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64ReinterpretI64.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64ReinterpretI64 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Sqrt.php b/src/Structure/Instructions/Instrs/Numeric/F64Sqrt.php new file mode 100644 index 0000000..647d95f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Sqrt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Sqrt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Sub.php b/src/Structure/Instructions/Instrs/Numeric/F64Sub.php new file mode 100644 index 0000000..31677c1 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Sub.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Sub extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/F64Trunc.php b/src/Structure/Instructions/Instrs/Numeric/F64Trunc.php new file mode 100644 index 0000000..6ed7314 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/F64Trunc.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class F64Trunc extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Add.php b/src/Structure/Instructions/Instrs/Numeric/I32Add.php new file mode 100644 index 0000000..45b1fea --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Add.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Add extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32And.php b/src/Structure/Instructions/Instrs/Numeric/I32And.php new file mode 100644 index 0000000..8f0a906 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32And.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32And extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Clz.php b/src/Structure/Instructions/Instrs/Numeric/I32Clz.php new file mode 100644 index 0000000..124995b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Clz.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Clz extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Const.php b/src/Structure/Instructions/Instrs/Numeric/I32Const.php new file mode 100644 index 0000000..7beaae0 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Const.php @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Const extends Instr +{ + /** + * @param U32 $value + */ + public function __construct( + public int $value, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Ctz.php b/src/Structure/Instructions/Instrs/Numeric/I32Ctz.php new file mode 100644 index 0000000..fc17042 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Ctz.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Ctz extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32DivS.php b/src/Structure/Instructions/Instrs/Numeric/I32DivS.php new file mode 100644 index 0000000..789716d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32DivS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32DivS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32DivU.php b/src/Structure/Instructions/Instrs/Numeric/I32DivU.php new file mode 100644 index 0000000..f7797f4 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32DivU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32DivU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Eq.php b/src/Structure/Instructions/Instrs/Numeric/I32Eq.php new file mode 100644 index 0000000..e6c5969 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Eq.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Eq extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Eqz.php b/src/Structure/Instructions/Instrs/Numeric/I32Eqz.php new file mode 100644 index 0000000..16d7b44 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Eqz.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Eqz extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Extend16S.php b/src/Structure/Instructions/Instrs/Numeric/I32Extend16S.php new file mode 100644 index 0000000..cdb3227 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Extend16S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Extend16S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Extend8S.php b/src/Structure/Instructions/Instrs/Numeric/I32Extend8S.php new file mode 100644 index 0000000..73c95f9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Extend8S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Extend8S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32GeS.php b/src/Structure/Instructions/Instrs/Numeric/I32GeS.php new file mode 100644 index 0000000..c9f9bf4 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32GeS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32GeS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32GeU.php b/src/Structure/Instructions/Instrs/Numeric/I32GeU.php new file mode 100644 index 0000000..8c16771 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32GeU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32GeU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32GtS.php b/src/Structure/Instructions/Instrs/Numeric/I32GtS.php new file mode 100644 index 0000000..4b044a3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32GtS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32GtS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32GtU.php b/src/Structure/Instructions/Instrs/Numeric/I32GtU.php new file mode 100644 index 0000000..6f915e8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32GtU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32GtU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32LeS.php b/src/Structure/Instructions/Instrs/Numeric/I32LeS.php new file mode 100644 index 0000000..e82233a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32LeS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32LeS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32LeU.php b/src/Structure/Instructions/Instrs/Numeric/I32LeU.php new file mode 100644 index 0000000..99a470d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32LeU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32LeU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32LtS.php b/src/Structure/Instructions/Instrs/Numeric/I32LtS.php new file mode 100644 index 0000000..09ba5a0 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32LtS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32LtS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32LtU.php b/src/Structure/Instructions/Instrs/Numeric/I32LtU.php new file mode 100644 index 0000000..a7526e9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32LtU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32LtU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Mul.php b/src/Structure/Instructions/Instrs/Numeric/I32Mul.php new file mode 100644 index 0000000..53c7909 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Mul.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Mul extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Ne.php b/src/Structure/Instructions/Instrs/Numeric/I32Ne.php new file mode 100644 index 0000000..01d16a1 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Ne.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Ne extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Or.php b/src/Structure/Instructions/Instrs/Numeric/I32Or.php new file mode 100644 index 0000000..93ef312 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Or.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Or extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Popcnt.php b/src/Structure/Instructions/Instrs/Numeric/I32Popcnt.php new file mode 100644 index 0000000..6519b81 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Popcnt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Popcnt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32ReinterpretF32.php b/src/Structure/Instructions/Instrs/Numeric/I32ReinterpretF32.php new file mode 100644 index 0000000..4bbd00b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32ReinterpretF32.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32ReinterpretF32 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32ReinterpretF64.php b/src/Structure/Instructions/Instrs/Numeric/I32ReinterpretF64.php new file mode 100644 index 0000000..452b94c --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32ReinterpretF64.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32ReinterpretF64 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32RemS.php b/src/Structure/Instructions/Instrs/Numeric/I32RemS.php new file mode 100644 index 0000000..57ee14e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32RemS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32RemS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32RemU.php b/src/Structure/Instructions/Instrs/Numeric/I32RemU.php new file mode 100644 index 0000000..4ff68af --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32RemU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32RemU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32RotL.php b/src/Structure/Instructions/Instrs/Numeric/I32RotL.php new file mode 100644 index 0000000..66597f3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32RotL.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32RotL extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32RotR.php b/src/Structure/Instructions/Instrs/Numeric/I32RotR.php new file mode 100644 index 0000000..732a609 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32RotR.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32RotR extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Shl.php b/src/Structure/Instructions/Instrs/Numeric/I32Shl.php new file mode 100644 index 0000000..51da4d7 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Shl.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Shl extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32ShrS.php b/src/Structure/Instructions/Instrs/Numeric/I32ShrS.php new file mode 100644 index 0000000..bd450c7 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32ShrS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32ShrS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32ShrU.php b/src/Structure/Instructions/Instrs/Numeric/I32ShrU.php new file mode 100644 index 0000000..45a9591 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32ShrU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32ShrU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Sub.php b/src/Structure/Instructions/Instrs/Numeric/I32Sub.php new file mode 100644 index 0000000..bccb57b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Sub.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Sub extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncF32S.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncF32S.php new file mode 100644 index 0000000..eceb6aa --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncF32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncF32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncF32U.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncF32U.php new file mode 100644 index 0000000..1b63b10 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncF32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncF32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncF64S.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncF64S.php new file mode 100644 index 0000000..8290349 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncF64S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncF64S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncF64U.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncF64U.php new file mode 100644 index 0000000..61bc0fe --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncF64U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncF64U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF32S.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF32S.php new file mode 100644 index 0000000..e5d490d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncSatF32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF32U.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF32U.php new file mode 100644 index 0000000..e032eb8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncSatF32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF64S.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF64S.php new file mode 100644 index 0000000..3094a68 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF64S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncSatF64S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF64U.php b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF64U.php new file mode 100644 index 0000000..fa2fa63 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32TruncSatF64U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32TruncSatF64U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32WrapI64.php b/src/Structure/Instructions/Instrs/Numeric/I32WrapI64.php new file mode 100644 index 0000000..f9467c3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32WrapI64.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32WrapI64 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I32Xor.php b/src/Structure/Instructions/Instrs/Numeric/I32Xor.php new file mode 100644 index 0000000..1526d59 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I32Xor.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I32Xor extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Add.php b/src/Structure/Instructions/Instrs/Numeric/I64Add.php new file mode 100644 index 0000000..f94c7e8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Add.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Add extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64And.php b/src/Structure/Instructions/Instrs/Numeric/I64And.php new file mode 100644 index 0000000..f82d3d9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64And.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64And extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Clz.php b/src/Structure/Instructions/Instrs/Numeric/I64Clz.php new file mode 100644 index 0000000..e0846ae --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Clz.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Clz extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Const.php b/src/Structure/Instructions/Instrs/Numeric/I64Const.php new file mode 100644 index 0000000..59f34f3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Const.php @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Const extends Instr +{ + /** + * @param U64 $value + */ + public function __construct( + public int $value, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Ctz.php b/src/Structure/Instructions/Instrs/Numeric/I64Ctz.php new file mode 100644 index 0000000..0422f68 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Ctz.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Ctz extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64DivS.php b/src/Structure/Instructions/Instrs/Numeric/I64DivS.php new file mode 100644 index 0000000..9294d17 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64DivS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64DivS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64DivU.php b/src/Structure/Instructions/Instrs/Numeric/I64DivU.php new file mode 100644 index 0000000..4c5242c --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64DivU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64DivU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Eq.php b/src/Structure/Instructions/Instrs/Numeric/I64Eq.php new file mode 100644 index 0000000..2145985 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Eq.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Eq extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Eqz.php b/src/Structure/Instructions/Instrs/Numeric/I64Eqz.php new file mode 100644 index 0000000..dd7af0d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Eqz.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Eqz extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Extend16S.php b/src/Structure/Instructions/Instrs/Numeric/I64Extend16S.php new file mode 100644 index 0000000..c9ec236 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Extend16S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Extend16S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Extend32S.php b/src/Structure/Instructions/Instrs/Numeric/I64Extend32S.php new file mode 100644 index 0000000..f5cf6e3 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Extend32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Extend32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Extend8S.php b/src/Structure/Instructions/Instrs/Numeric/I64Extend8S.php new file mode 100644 index 0000000..8aabde1 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Extend8S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Extend8S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64ExtendI32S.php b/src/Structure/Instructions/Instrs/Numeric/I64ExtendI32S.php new file mode 100644 index 0000000..4758071 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64ExtendI32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64ExtendI32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64ExtendI32U.php b/src/Structure/Instructions/Instrs/Numeric/I64ExtendI32U.php new file mode 100644 index 0000000..255676c --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64ExtendI32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64ExtendI32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64GeS.php b/src/Structure/Instructions/Instrs/Numeric/I64GeS.php new file mode 100644 index 0000000..7ab7587 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64GeS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64GeS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64GeU.php b/src/Structure/Instructions/Instrs/Numeric/I64GeU.php new file mode 100644 index 0000000..2695524 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64GeU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64GeU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64GtS.php b/src/Structure/Instructions/Instrs/Numeric/I64GtS.php new file mode 100644 index 0000000..6aada91 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64GtS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64GtS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64GtU.php b/src/Structure/Instructions/Instrs/Numeric/I64GtU.php new file mode 100644 index 0000000..396b8e2 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64GtU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64GtU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64LeS.php b/src/Structure/Instructions/Instrs/Numeric/I64LeS.php new file mode 100644 index 0000000..c6a7ecb --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64LeS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64LeS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64LeU.php b/src/Structure/Instructions/Instrs/Numeric/I64LeU.php new file mode 100644 index 0000000..c0037be --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64LeU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64LeU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64LtS.php b/src/Structure/Instructions/Instrs/Numeric/I64LtS.php new file mode 100644 index 0000000..662f082 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64LtS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64LtS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64LtU.php b/src/Structure/Instructions/Instrs/Numeric/I64LtU.php new file mode 100644 index 0000000..fd5f3b0 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64LtU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64LtU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Mul.php b/src/Structure/Instructions/Instrs/Numeric/I64Mul.php new file mode 100644 index 0000000..c6133c9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Mul.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Mul extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Ne.php b/src/Structure/Instructions/Instrs/Numeric/I64Ne.php new file mode 100644 index 0000000..5c076c0 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Ne.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Ne extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Or.php b/src/Structure/Instructions/Instrs/Numeric/I64Or.php new file mode 100644 index 0000000..c1d1d1a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Or.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Or extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Popcnt.php b/src/Structure/Instructions/Instrs/Numeric/I64Popcnt.php new file mode 100644 index 0000000..33ec288 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Popcnt.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Popcnt extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64ReinterpretF32.php b/src/Structure/Instructions/Instrs/Numeric/I64ReinterpretF32.php new file mode 100644 index 0000000..d3104b9 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64ReinterpretF32.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64ReinterpretF32 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64ReinterpretF64.php b/src/Structure/Instructions/Instrs/Numeric/I64ReinterpretF64.php new file mode 100644 index 0000000..0a6245a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64ReinterpretF64.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64ReinterpretF64 extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64RemS.php b/src/Structure/Instructions/Instrs/Numeric/I64RemS.php new file mode 100644 index 0000000..1d66b60 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64RemS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64RemS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64RemU.php b/src/Structure/Instructions/Instrs/Numeric/I64RemU.php new file mode 100644 index 0000000..0241747 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64RemU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64RemU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64RotL.php b/src/Structure/Instructions/Instrs/Numeric/I64RotL.php new file mode 100644 index 0000000..6a6fdba --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64RotL.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64RotL extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64RotR.php b/src/Structure/Instructions/Instrs/Numeric/I64RotR.php new file mode 100644 index 0000000..e77fab0 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64RotR.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64RotR extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Shl.php b/src/Structure/Instructions/Instrs/Numeric/I64Shl.php new file mode 100644 index 0000000..d800c6d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Shl.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Shl extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64ShrS.php b/src/Structure/Instructions/Instrs/Numeric/I64ShrS.php new file mode 100644 index 0000000..d44e48f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64ShrS.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64ShrS extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64ShrU.php b/src/Structure/Instructions/Instrs/Numeric/I64ShrU.php new file mode 100644 index 0000000..656a662 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64ShrU.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64ShrU extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Sub.php b/src/Structure/Instructions/Instrs/Numeric/I64Sub.php new file mode 100644 index 0000000..ab87eaf --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Sub.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Sub extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncF32S.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncF32S.php new file mode 100644 index 0000000..a3421ce --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncF32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncF32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncF32U.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncF32U.php new file mode 100644 index 0000000..917e940 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncF32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncF32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncF64S.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncF64S.php new file mode 100644 index 0000000..3f0d5fd --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncF64S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncF64S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncF64U.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncF64U.php new file mode 100644 index 0000000..9726bc4 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncF64U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncF64U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF32S.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF32S.php new file mode 100644 index 0000000..71d82a5 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF32S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncSatF32S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF32U.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF32U.php new file mode 100644 index 0000000..d4dafd7 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF32U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncSatF32U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF64S.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF64S.php new file mode 100644 index 0000000..0833520 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF64S.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncSatF64S extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF64U.php b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF64U.php new file mode 100644 index 0000000..41f1c0e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64TruncSatF64U.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64TruncSatF64U extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Numeric/I64Xor.php b/src/Structure/Instructions/Instrs/Numeric/I64Xor.php new file mode 100644 index 0000000..917f62d --- /dev/null +++ b/src/Structure/Instructions/Instrs/Numeric/I64Xor.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Numeric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class I64Xor extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Parametric/Drop.php b/src/Structure/Instructions/Instrs/Parametric/Drop.php new file mode 100644 index 0000000..7513014 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Parametric/Drop.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Parametric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class Drop extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Parametric/Select.php b/src/Structure/Instructions/Instrs/Parametric/Select.php new file mode 100644 index 0000000..5e5b5ad --- /dev/null +++ b/src/Structure/Instructions/Instrs/Parametric/Select.php @@ -0,0 +1,19 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Parametric; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\ValType; + +final readonly class Select extends Instr +{ + /** + * @param list<ValType> $types + */ + public function __construct( + public array $types, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Reference/RefFunc.php b/src/Structure/Instructions/Instrs/Reference/RefFunc.php new file mode 100644 index 0000000..2849f5f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Reference/RefFunc.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Reference; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\FuncIdx; + +final readonly class RefFunc extends Instr +{ + public function __construct( + public FuncIdx $func, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Reference/RefIsNull.php b/src/Structure/Instructions/Instrs/Reference/RefIsNull.php new file mode 100644 index 0000000..eb8db06 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Reference/RefIsNull.php @@ -0,0 +1,11 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Reference; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; + +final readonly class RefIsNull extends Instr +{ +} diff --git a/src/Structure/Instructions/Instrs/Reference/RefNull.php b/src/Structure/Instructions/Instrs/Reference/RefNull.php new file mode 100644 index 0000000..b3727c6 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Reference/RefNull.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Reference; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\RefType; + +final readonly class RefNull extends Instr +{ + public function __construct( + public RefType $type, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/ElemDrop.php b/src/Structure/Instructions/Instrs/Table/ElemDrop.php new file mode 100644 index 0000000..fcaf9ea --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/ElemDrop.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\ElemIdx; + +final readonly class ElemDrop extends Instr +{ + public function __construct( + public ElemIdx $elem, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableCopy.php b/src/Structure/Instructions/Instrs/Table/TableCopy.php new file mode 100644 index 0000000..04a50c8 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableCopy.php @@ -0,0 +1,17 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableCopy extends Instr +{ + public function __construct( + public TableIdx $to, + public TableIdx $from, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableFill.php b/src/Structure/Instructions/Instrs/Table/TableFill.php new file mode 100644 index 0000000..4128657 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableFill.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableFill extends Instr +{ + public function __construct( + public TableIdx $table, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableGet.php b/src/Structure/Instructions/Instrs/Table/TableGet.php new file mode 100644 index 0000000..bc1b35f --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableGet.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableGet extends Instr +{ + public function __construct( + public TableIdx $table, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableGrow.php b/src/Structure/Instructions/Instrs/Table/TableGrow.php new file mode 100644 index 0000000..ddd9b2a --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableGrow.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableGrow extends Instr +{ + public function __construct( + public TableIdx $table, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableInit.php b/src/Structure/Instructions/Instrs/Table/TableInit.php new file mode 100644 index 0000000..d4666ae --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableInit.php @@ -0,0 +1,18 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\ElemIdx; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableInit extends Instr +{ + public function __construct( + public TableIdx $to, + public ElemIdx $from, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableSet.php b/src/Structure/Instructions/Instrs/Table/TableSet.php new file mode 100644 index 0000000..8aaf11e --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableSet.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableSet extends Instr +{ + public function __construct( + public TableIdx $table, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Table/TableSize.php b/src/Structure/Instructions/Instrs/Table/TableSize.php new file mode 100644 index 0000000..00200a6 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Table/TableSize.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Table; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\TableIdx; + +final readonly class TableSize extends Instr +{ + public function __construct( + public TableIdx $table, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Variable/GlobalGet.php b/src/Structure/Instructions/Instrs/Variable/GlobalGet.php new file mode 100644 index 0000000..7d25650 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Variable/GlobalGet.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\GlobalIdx; + +final readonly class GlobalGet extends Instr +{ + public function __construct( + public GlobalIdx $var, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Variable/GlobalSet.php b/src/Structure/Instructions/Instrs/Variable/GlobalSet.php new file mode 100644 index 0000000..2f32855 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Variable/GlobalSet.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\GlobalIdx; + +final readonly class GlobalSet extends Instr +{ + public function __construct( + public GlobalIdx $var, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Variable/LocalGet.php b/src/Structure/Instructions/Instrs/Variable/LocalGet.php new file mode 100644 index 0000000..4c4f794 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Variable/LocalGet.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\LocalIdx; + +final readonly class LocalGet extends Instr +{ + public function __construct( + public LocalIdx $var, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Variable/LocalSet.php b/src/Structure/Instructions/Instrs/Variable/LocalSet.php new file mode 100644 index 0000000..d103c22 --- /dev/null +++ b/src/Structure/Instructions/Instrs/Variable/LocalSet.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\LocalIdx; + +final readonly class LocalSet extends Instr +{ + public function __construct( + public LocalIdx $var, + ) { + } +} diff --git a/src/Structure/Instructions/Instrs/Variable/LocalTee.php b/src/Structure/Instructions/Instrs/Variable/LocalTee.php new file mode 100644 index 0000000..89e253b --- /dev/null +++ b/src/Structure/Instructions/Instrs/Variable/LocalTee.php @@ -0,0 +1,16 @@ +<?php + +declare(strict_types=1); + +namespace Nsfisis\Waddiwasi\Structure\Instructions\Instrs\Variable; + +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; +use Nsfisis\Waddiwasi\Structure\Types\LocalIdx; + +final readonly class LocalTee extends Instr +{ + public function __construct( + public LocalIdx $var, + ) { + } +} |
