From 5be97eadbb1065f842aad4341cd4732498e0553b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 11 Jul 2024 04:20:25 +0900 Subject: feat: simplify FuncType structure --- src/WebAssembly/Structure/Types/FuncType.php | 29 ++++++++++++++++++++---- src/WebAssembly/Structure/Types/ResultType.php | 31 -------------------------- 2 files changed, 25 insertions(+), 35 deletions(-) delete mode 100644 src/WebAssembly/Structure/Types/ResultType.php (limited to 'src/WebAssembly/Structure') diff --git a/src/WebAssembly/Structure/Types/FuncType.php b/src/WebAssembly/Structure/Types/FuncType.php index 6c53519..9ea2434 100644 --- a/src/WebAssembly/Structure/Types/FuncType.php +++ b/src/WebAssembly/Structure/Types/FuncType.php @@ -4,17 +4,38 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\WebAssembly\Structure\Types; +use function count; + final readonly class FuncType { + /** + * @param list $params + * @param list $results + */ public function __construct( - public ResultType $params, - public ResultType $results, + public array $params, + public array $results, ) { } public function equals(FuncType $other): bool { - return $this->params->equals($other->params) - && $this->results->equals($other->results); + if (count($this->params) !== count($other->params)) { + return false; + } + if (count($this->results) !== count($other->results)) { + return false; + } + foreach ($this->params as $i => $type) { + if ($type !== $other->params[$i]) { + return false; + } + } + foreach ($this->results as $i => $type) { + if ($type !== $other->results[$i]) { + return false; + } + } + return true; } } diff --git a/src/WebAssembly/Structure/Types/ResultType.php b/src/WebAssembly/Structure/Types/ResultType.php deleted file mode 100644 index 9f44e81..0000000 --- a/src/WebAssembly/Structure/Types/ResultType.php +++ /dev/null @@ -1,31 +0,0 @@ - $types - */ - public function __construct( - public array $types, - ) { - } - - public function equals(ResultType $other): bool - { - if (count($this->types) !== count($other->types)) { - return false; - } - foreach ($this->types as $i => $type) { - if ($type !== $other->types[$i]) { - return false; - } - } - return true; - } -} -- cgit v1.2.3-70-g09d2