From d1c268b76f65e69ea708096d5023c4d731cff594 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 11 Jul 2024 20:02:34 +0900 Subject: fix: various spectests --- src/WebAssembly/BinaryFormat/Decoder.php | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/WebAssembly/BinaryFormat') 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; @@ -50,6 +51,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(); -- cgit v1.2.3-70-g09d2