aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/WebAssembly/BinaryFormat/Internal
diff options
context:
space:
mode:
Diffstat (limited to 'src/WebAssembly/BinaryFormat/Internal')
-rw-r--r--src/WebAssembly/BinaryFormat/Internal/Code.php23
-rw-r--r--src/WebAssembly/BinaryFormat/Internal/Locals.php22
-rw-r--r--src/WebAssembly/BinaryFormat/Internal/SectionId.php25
3 files changed, 70 insertions, 0 deletions
diff --git a/src/WebAssembly/BinaryFormat/Internal/Code.php b/src/WebAssembly/BinaryFormat/Internal/Code.php
new file mode 100644
index 0000000..80010e2
--- /dev/null
+++ b/src/WebAssembly/BinaryFormat/Internal/Code.php
@@ -0,0 +1,23 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Nsfisis\Waddiwasi\WebAssembly\BinaryFormat\Internal;
+
+use Nsfisis\Waddiwasi\WebAssembly\Structure\Instructions\Instr;
+
+/**
+ * @internal
+ */
+final readonly class Code
+{
+ /**
+ * @param list<Locals> $compressedLocals
+ * @param list<Instr> $body
+ */
+ public function __construct(
+ public array $compressedLocals,
+ public array $body,
+ ) {
+ }
+}
diff --git a/src/WebAssembly/BinaryFormat/Internal/Locals.php b/src/WebAssembly/BinaryFormat/Internal/Locals.php
new file mode 100644
index 0000000..7cc0029
--- /dev/null
+++ b/src/WebAssembly/BinaryFormat/Internal/Locals.php
@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Nsfisis\Waddiwasi\WebAssembly\BinaryFormat\Internal;
+
+use Nsfisis\Waddiwasi\WebAssembly\Structure\Types\ValType;
+
+/**
+ * @internal
+ */
+final readonly class Locals
+{
+ /**
+ * @param U32 $count
+ */
+ public function __construct(
+ public int $count,
+ public ValType $type,
+ ) {
+ }
+}
diff --git a/src/WebAssembly/BinaryFormat/Internal/SectionId.php b/src/WebAssembly/BinaryFormat/Internal/SectionId.php
new file mode 100644
index 0000000..e085c37
--- /dev/null
+++ b/src/WebAssembly/BinaryFormat/Internal/SectionId.php
@@ -0,0 +1,25 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Nsfisis\Waddiwasi\WebAssembly\BinaryFormat\Internal;
+
+/**
+ * @internal
+ */
+enum SectionId: int
+{
+ case Custom = 0;
+ case Type = 1;
+ case Import = 2;
+ case Func = 3;
+ case Table = 4;
+ case Mem = 5;
+ case Global = 6;
+ case Export = 7;
+ case Start = 8;
+ case Elem = 9;
+ case Code = 10;
+ case Data = 11;
+ case DataCount = 12;
+}