diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-03-15 19:02:22 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-03-15 19:02:22 +0900 |
| commit | 9b45796547c8022b98a9254320323d72aecd81cb (patch) | |
| tree | 5aaf49a070859ff4c226c4efef5de0174d51d36d /src/Structure | |
| parent | b2f2bbf72d7c5009f56f15fa972957ea399ad221 (diff) | |
| download | php-waddiwasi-9b45796547c8022b98a9254320323d72aecd81cb.tar.gz php-waddiwasi-9b45796547c8022b98a9254320323d72aecd81cb.tar.zst php-waddiwasi-9b45796547c8022b98a9254320323d72aecd81cb.zip | |
refactor: remove Expr class
Diffstat (limited to 'src/Structure')
| -rw-r--r-- | src/Structure/Instructions/Expr.php | 23 | ||||
| -rw-r--r-- | src/Structure/Modules/DataMode.php | 7 | ||||
| -rw-r--r-- | src/Structure/Modules/DataModes/Active.php | 7 | ||||
| -rw-r--r-- | src/Structure/Modules/Elem.php | 4 | ||||
| -rw-r--r-- | src/Structure/Modules/ElemMode.php | 7 | ||||
| -rw-r--r-- | src/Structure/Modules/ElemModes/Active.php | 7 | ||||
| -rw-r--r-- | src/Structure/Modules/Func.php | 5 | ||||
| -rw-r--r-- | src/Structure/Modules/Global_.php | 7 |
8 files changed, 30 insertions, 37 deletions
diff --git a/src/Structure/Instructions/Expr.php b/src/Structure/Instructions/Expr.php deleted file mode 100644 index ceefcc0..0000000 --- a/src/Structure/Instructions/Expr.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\Structure\Instructions; - -final readonly class Expr -{ - /** - * @var non-empty-list<Instr> - */ - public array $instrs; - - /** - * @param list<Instr> $instrs - */ - public function __construct( - array $instrs, - ) { - $instrs[] = Instr::End(); - $this->instrs = $instrs; - } -} diff --git a/src/Structure/Modules/DataMode.php b/src/Structure/Modules/DataMode.php index 96cd7dc..e9b5a72 100644 --- a/src/Structure/Modules/DataMode.php +++ b/src/Structure/Modules/DataMode.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; abstract readonly class DataMode { @@ -13,9 +13,12 @@ abstract readonly class DataMode return new DataModes\Passive(); } + /** + * @param list<Instr> $offset + */ final public static function Active( int $memory, - Expr $offset, + array $offset, ): DataModes\Active { return new DataModes\Active($memory, $offset); } diff --git a/src/Structure/Modules/DataModes/Active.php b/src/Structure/Modules/DataModes/Active.php index 1a46f3e..de52861 100644 --- a/src/Structure/Modules/DataModes/Active.php +++ b/src/Structure/Modules/DataModes/Active.php @@ -4,14 +4,17 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules\DataModes; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; use Nsfisis\Waddiwasi\Structure\Modules\DataMode; final readonly class Active extends DataMode { + /** + * @param list<Instr> $offset + */ protected function __construct( public int $memory, - public Expr $offset, + public array $offset, ) { } } diff --git a/src/Structure/Modules/Elem.php b/src/Structure/Modules/Elem.php index e074590..5050fad 100644 --- a/src/Structure/Modules/Elem.php +++ b/src/Structure/Modules/Elem.php @@ -4,13 +4,13 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; use Nsfisis\Waddiwasi\Structure\Types\RefType; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; final readonly class Elem { /** - * @param list<Expr> $init + * @param list<list<Instr>> $init */ public function __construct( public RefType $type, diff --git a/src/Structure/Modules/ElemMode.php b/src/Structure/Modules/ElemMode.php index 051a7e1..e3e7693 100644 --- a/src/Structure/Modules/ElemMode.php +++ b/src/Structure/Modules/ElemMode.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; abstract readonly class ElemMode { @@ -13,9 +13,12 @@ abstract readonly class ElemMode return new ElemModes\Passive(); } + /** + * @param list<Instr> $offset + */ final public static function Active( int $table, - Expr $offset, + array $offset, ): ElemModes\Active { return new ElemModes\Active($table, $offset); } diff --git a/src/Structure/Modules/ElemModes/Active.php b/src/Structure/Modules/ElemModes/Active.php index bd5f123..5487542 100644 --- a/src/Structure/Modules/ElemModes/Active.php +++ b/src/Structure/Modules/ElemModes/Active.php @@ -4,14 +4,17 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules\ElemModes; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; use Nsfisis\Waddiwasi\Structure\Modules\ElemMode; final readonly class Active extends ElemMode { + /** + * @param list<Instr> $offset + */ protected function __construct( public int $table, - public Expr $offset, + public array $offset, ) { } } diff --git a/src/Structure/Modules/Func.php b/src/Structure/Modules/Func.php index bab1889..7c76b5e 100644 --- a/src/Structure/Modules/Func.php +++ b/src/Structure/Modules/Func.php @@ -4,17 +4,18 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; final readonly class Func { /** * @param list<Local> $locals + * @param list<Instr> $body */ public function __construct( public int $type, public array $locals, - public Expr $body, + public array $body, ) { } } diff --git a/src/Structure/Modules/Global_.php b/src/Structure/Modules/Global_.php index 9d6d371..aae1706 100644 --- a/src/Structure/Modules/Global_.php +++ b/src/Structure/Modules/Global_.php @@ -4,14 +4,17 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\Structure\Modules; -use Nsfisis\Waddiwasi\Structure\Instructions\Expr; +use Nsfisis\Waddiwasi\Structure\Instructions\Instr; use Nsfisis\Waddiwasi\Structure\Types\GlobalType; final readonly class Global_ { + /** + * @param list<Instr> $init + */ public function __construct( public GlobalType $type, - public Expr $init, + public array $init, ) { } } |
