aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Structure/Modules/DataMode.php
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-01-03 01:35:32 +0900
committernsfisis <nsfisis@gmail.com>2024-01-27 12:05:23 +0900
commite2495878b872b341e6e04eed31dd255b1a6e256f (patch)
tree4057ab19765ea7fc13505798c6434dceac02f4b1 /src/Structure/Modules/DataMode.php
parent5b4652d080c7eae26f8aac482468a6777ad9defe (diff)
downloadphp-waddiwasi-e2495878b872b341e6e04eed31dd255b1a6e256f.tar.gz
php-waddiwasi-e2495878b872b341e6e04eed31dd255b1a6e256f.tar.zst
php-waddiwasi-e2495878b872b341e6e04eed31dd255b1a6e256f.zip
feat: implement binary decoder
Diffstat (limited to 'src/Structure/Modules/DataMode.php')
-rw-r--r--src/Structure/Modules/DataMode.php23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Structure/Modules/DataMode.php b/src/Structure/Modules/DataMode.php
new file mode 100644
index 0000000..08228d9
--- /dev/null
+++ b/src/Structure/Modules/DataMode.php
@@ -0,0 +1,23 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Nsfisis\Waddiwasi\Structure\Modules;
+
+use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Types\MemIdx;
+
+abstract readonly class DataMode
+{
+ final public static function Passive(): DataModes\Passive
+ {
+ return new DataModes\Passive();
+ }
+
+ final public static function Active(
+ MemIdx $memory,
+ Expr $offset,
+ ): DataModes\Active {
+ return new DataModes\Active($memory, $offset);
+ }
+}