diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-11 03:50:50 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-11 04:14:03 +0900 |
| commit | 8a083ed74e9f4472441175e187208012927ed357 (patch) | |
| tree | 3686a0f61f3fccc5ded3eda28b92b8bf7765fd2f /src/WebAssembly/Structure/Types | |
| parent | 26f49b7e27076e689541b9e13a1b54f60a4ee5c2 (diff) | |
| download | php-waddiwasi-8a083ed74e9f4472441175e187208012927ed357.tar.gz php-waddiwasi-8a083ed74e9f4472441175e187208012927ed357.tar.zst php-waddiwasi-8a083ed74e9f4472441175e187208012927ed357.zip | |
feat: simplify ValType structure
Diffstat (limited to 'src/WebAssembly/Structure/Types')
| -rw-r--r-- | src/WebAssembly/Structure/Types/NumType.php | 13 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/RefType.php | 11 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/ResultType.php | 2 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/TableType.php | 5 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/ValType.php | 25 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/ValTypes/NumType.php | 21 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/ValTypes/RefType.php | 21 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/ValTypes/VecType.php | 21 | ||||
| -rw-r--r-- | src/WebAssembly/Structure/Types/VecType.php | 10 |
9 files changed, 13 insertions, 116 deletions
diff --git a/src/WebAssembly/Structure/Types/NumType.php b/src/WebAssembly/Structure/Types/NumType.php deleted file mode 100644 index 2d5a3b1..0000000 --- a/src/WebAssembly/Structure/Types/NumType.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types; - -enum NumType -{ - case I32; - case I64; - case F32; - case F64; -} diff --git a/src/WebAssembly/Structure/Types/RefType.php b/src/WebAssembly/Structure/Types/RefType.php deleted file mode 100644 index 2225f56..0000000 --- a/src/WebAssembly/Structure/Types/RefType.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types; - -enum RefType -{ - case FuncRef; - case ExternRef; -} diff --git a/src/WebAssembly/Structure/Types/ResultType.php b/src/WebAssembly/Structure/Types/ResultType.php index dff2e59..9f44e81 100644 --- a/src/WebAssembly/Structure/Types/ResultType.php +++ b/src/WebAssembly/Structure/Types/ResultType.php @@ -22,7 +22,7 @@ final readonly class ResultType return false; } foreach ($this->types as $i => $type) { - if (!$type->equals($other->types[$i])) { + if ($type !== $other->types[$i]) { return false; } } diff --git a/src/WebAssembly/Structure/Types/TableType.php b/src/WebAssembly/Structure/Types/TableType.php index 7e4b957..b812de4 100644 --- a/src/WebAssembly/Structure/Types/TableType.php +++ b/src/WebAssembly/Structure/Types/TableType.php @@ -6,9 +6,12 @@ namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types; final readonly class TableType { + /** + * @param ValType::FuncRef|ValType::ExternRef $refType + */ public function __construct( public Limits $limits, - public RefType $refType, + public ValType $refType, ) { } } diff --git a/src/WebAssembly/Structure/Types/ValType.php b/src/WebAssembly/Structure/Types/ValType.php index f6f3111..ace4604 100644 --- a/src/WebAssembly/Structure/Types/ValType.php +++ b/src/WebAssembly/Structure/Types/ValType.php @@ -4,22 +4,13 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types; -abstract readonly class ValType +enum ValType { - final public static function NumType(NumType $type): ValTypes\NumType - { - return new ValTypes\NumType($type); - } - - final public static function VecType(VecType $type): ValTypes\VecType - { - return new ValTypes\VecType($type); - } - - final public static function RefType(RefType $type): ValTypes\RefType - { - return new ValTypes\RefType($type); - } - - abstract public function equals(ValType $other): bool; + case I32; + case I64; + case F32; + case F64; + case V128; + case FuncRef; + case ExternRef; } diff --git a/src/WebAssembly/Structure/Types/ValTypes/NumType.php b/src/WebAssembly/Structure/Types/ValTypes/NumType.php deleted file mode 100644 index 1836679..0000000 --- a/src/WebAssembly/Structure/Types/ValTypes/NumType.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValTypes; - -use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\NumType as OrigNumType; -use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType; - -final readonly class NumType extends ValType -{ - protected function __construct(public OrigNumType $inner) - { - } - - public function equals(ValType $other): bool - { - return $other instanceof self - && $this->inner === $other->inner; - } -} diff --git a/src/WebAssembly/Structure/Types/ValTypes/RefType.php b/src/WebAssembly/Structure/Types/ValTypes/RefType.php deleted file mode 100644 index a31b7c3..0000000 --- a/src/WebAssembly/Structure/Types/ValTypes/RefType.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValTypes; - -use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\RefType as OrigRefType; -use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType; - -final readonly class RefType extends ValType -{ - protected function __construct(public OrigRefType $inner) - { - } - - public function equals(ValType $other): bool - { - return $other instanceof self - && $this->inner === $other->inner; - } -} diff --git a/src/WebAssembly/Structure/Types/ValTypes/VecType.php b/src/WebAssembly/Structure/Types/ValTypes/VecType.php deleted file mode 100644 index 03cc95e..0000000 --- a/src/WebAssembly/Structure/Types/ValTypes/VecType.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValTypes; - -use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType; -use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\VecType as OrigVecType; - -final readonly class VecType extends ValType -{ - protected function __construct(public OrigVecType $inner) - { - } - - public function equals(ValType $other): bool - { - return $other instanceof self - && $this->inner === $other->inner; // @phpstan-ignore-line - } -} diff --git a/src/WebAssembly/Structure/Types/VecType.php b/src/WebAssembly/Structure/Types/VecType.php deleted file mode 100644 index dcf7d68..0000000 --- a/src/WebAssembly/Structure/Types/VecType.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types; - -enum VecType -{ - case V128; -} |
