aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/WebAssembly/BinaryFormat/Decoder.php
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-07-11 20:02:34 +0900
committernsfisis <nsfisis@gmail.com>2024-07-11 20:02:34 +0900
commitd1c268b76f65e69ea708096d5023c4d731cff594 (patch)
treee48836287272388df613a370fda7a46598c517f8 /src/WebAssembly/BinaryFormat/Decoder.php
parente4324d3d1d3bf3568d4e2f3b80c9cc324d324f83 (diff)
downloadphp-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.php10
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();