diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-11 20:02:34 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-11 20:02:34 +0900 |
| commit | d1c268b76f65e69ea708096d5023c4d731cff594 (patch) | |
| tree | e48836287272388df613a370fda7a46598c517f8 /src/WebAssembly/BinaryFormat/Decoder.php | |
| parent | e4324d3d1d3bf3568d4e2f3b80c9cc324d324f83 (diff) | |
| download | php-waddiwasi-d1c268b76f65e69ea708096d5023c4d731cff594.tar.gz php-waddiwasi-d1c268b76f65e69ea708096d5023c4d731cff594.tar.zst php-waddiwasi-d1c268b76f65e69ea708096d5023c4d731cff594.zip | |
fix: various spectests
Diffstat (limited to 'src/WebAssembly/BinaryFormat/Decoder.php')
| -rw-r--r-- | src/WebAssembly/BinaryFormat/Decoder.php | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/WebAssembly/BinaryFormat/Decoder.php b/src/WebAssembly/BinaryFormat/Decoder.php index 0ec342c..09d5a14 100644 --- a/src/WebAssembly/BinaryFormat/Decoder.php +++ b/src/WebAssembly/BinaryFormat/Decoder.php @@ -5,6 +5,7 @@ declare(strict_types=1); namespace Nsfisis\Waddiwasi\WebAssembly\BinaryFormat; use Nsfisis\Waddiwasi\Stream\StreamInterface; +use Nsfisis\Waddiwasi\Stream\UnexpectedEofException; use Nsfisis\Waddiwasi\WebAssembly\BinaryFormat\Internal\Code; use Nsfisis\Waddiwasi\WebAssembly\BinaryFormat\Internal\Locals; use Nsfisis\Waddiwasi\WebAssembly\BinaryFormat\Internal\SectionId; @@ -51,6 +52,15 @@ final class Decoder public function decode(): Module { + try { + return $this->doDecode(); + } catch (UnexpectedEofException $e) { + throw new InvalidBinaryFormatException('eof', previous: $e); + } + } + + private function doDecode(): Module + { $this->checkMagic(); $this->checkVersion(); |
