From 9b45796547c8022b98a9254320323d72aecd81cb Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 15 Mar 2024 19:02:22 +0900 Subject: refactor: remove Expr class --- src/Structure/Instructions/Expr.php | 23 ----------------------- src/Structure/Modules/DataMode.php | 7 +++++-- src/Structure/Modules/DataModes/Active.php | 7 +++++-- src/Structure/Modules/Elem.php | 4 ++-- src/Structure/Modules/ElemMode.php | 7 +++++-- src/Structure/Modules/ElemModes/Active.php | 7 +++++-- src/Structure/Modules/Func.php | 5 +++-- src/Structure/Modules/Global_.php | 7 +++++-- 8 files changed, 30 insertions(+), 37 deletions(-) delete mode 100644 src/Structure/Instructions/Expr.php (limited to 'src/Structure') 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 @@ - - */ - public array $instrs; - - /** - * @param list $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 $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 $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 $init + * @param list> $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 $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 $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 $locals + * @param list $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 $init + */ public function __construct( public GlobalType $type, - public Expr $init, + public array $init, ) { } } -- cgit v1.2.3-70-g09d2