aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Structure/Modules
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-03-15 19:02:22 +0900
committernsfisis <nsfisis@gmail.com>2024-03-15 19:02:22 +0900
commit9b45796547c8022b98a9254320323d72aecd81cb (patch)
tree5aaf49a070859ff4c226c4efef5de0174d51d36d /src/Structure/Modules
parentb2f2bbf72d7c5009f56f15fa972957ea399ad221 (diff)
downloadphp-waddiwasi-9b45796547c8022b98a9254320323d72aecd81cb.tar.gz
php-waddiwasi-9b45796547c8022b98a9254320323d72aecd81cb.tar.zst
php-waddiwasi-9b45796547c8022b98a9254320323d72aecd81cb.zip
refactor: remove Expr class
Diffstat (limited to 'src/Structure/Modules')
-rw-r--r--src/Structure/Modules/DataMode.php7
-rw-r--r--src/Structure/Modules/DataModes/Active.php7
-rw-r--r--src/Structure/Modules/Elem.php4
-rw-r--r--src/Structure/Modules/ElemMode.php7
-rw-r--r--src/Structure/Modules/ElemModes/Active.php7
-rw-r--r--src/Structure/Modules/Func.php5
-rw-r--r--src/Structure/Modules/Global_.php7
7 files changed, 30 insertions, 14 deletions
diff --git a/src/Structure/Modules/DataMode.php b/src/Structure/Modules/DataMode.php
index 96cd7dc..e9b5a72 100644
--- a/src/Structure/Modules/DataMode.php
+++ b/src/Structure/Modules/DataMode.php
@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
abstract readonly class DataMode
{
@@ -13,9 +13,12 @@ abstract readonly class DataMode
return new DataModes\Passive();
}
+ /**
+ * @param list<Instr> $offset
+ */
final public static function Active(
int $memory,
- Expr $offset,
+ array $offset,
): DataModes\Active {
return new DataModes\Active($memory, $offset);
}
diff --git a/src/Structure/Modules/DataModes/Active.php b/src/Structure/Modules/DataModes/Active.php
index 1a46f3e..de52861 100644
--- a/src/Structure/Modules/DataModes/Active.php
+++ b/src/Structure/Modules/DataModes/Active.php
@@ -4,14 +4,17 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules\DataModes;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
use Nsfisis\Waddiwasi\Structure\Modules\DataMode;
final readonly class Active extends DataMode
{
+ /**
+ * @param list<Instr> $offset
+ */
protected function __construct(
public int $memory,
- public Expr $offset,
+ public array $offset,
) {
}
}
diff --git a/src/Structure/Modules/Elem.php b/src/Structure/Modules/Elem.php
index e074590..5050fad 100644
--- a/src/Structure/Modules/Elem.php
+++ b/src/Structure/Modules/Elem.php
@@ -4,13 +4,13 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
use Nsfisis\Waddiwasi\Structure\Types\RefType;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
final readonly class Elem
{
/**
- * @param list<Expr> $init
+ * @param list<list<Instr>> $init
*/
public function __construct(
public RefType $type,
diff --git a/src/Structure/Modules/ElemMode.php b/src/Structure/Modules/ElemMode.php
index 051a7e1..e3e7693 100644
--- a/src/Structure/Modules/ElemMode.php
+++ b/src/Structure/Modules/ElemMode.php
@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
abstract readonly class ElemMode
{
@@ -13,9 +13,12 @@ abstract readonly class ElemMode
return new ElemModes\Passive();
}
+ /**
+ * @param list<Instr> $offset
+ */
final public static function Active(
int $table,
- Expr $offset,
+ array $offset,
): ElemModes\Active {
return new ElemModes\Active($table, $offset);
}
diff --git a/src/Structure/Modules/ElemModes/Active.php b/src/Structure/Modules/ElemModes/Active.php
index bd5f123..5487542 100644
--- a/src/Structure/Modules/ElemModes/Active.php
+++ b/src/Structure/Modules/ElemModes/Active.php
@@ -4,14 +4,17 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules\ElemModes;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
use Nsfisis\Waddiwasi\Structure\Modules\ElemMode;
final readonly class Active extends ElemMode
{
+ /**
+ * @param list<Instr> $offset
+ */
protected function __construct(
public int $table,
- public Expr $offset,
+ public array $offset,
) {
}
}
diff --git a/src/Structure/Modules/Func.php b/src/Structure/Modules/Func.php
index bab1889..7c76b5e 100644
--- a/src/Structure/Modules/Func.php
+++ b/src/Structure/Modules/Func.php
@@ -4,17 +4,18 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
final readonly class Func
{
/**
* @param list<Local> $locals
+ * @param list<Instr> $body
*/
public function __construct(
public int $type,
public array $locals,
- public Expr $body,
+ public array $body,
) {
}
}
diff --git a/src/Structure/Modules/Global_.php b/src/Structure/Modules/Global_.php
index 9d6d371..aae1706 100644
--- a/src/Structure/Modules/Global_.php
+++ b/src/Structure/Modules/Global_.php
@@ -4,14 +4,17 @@ declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Structure\Modules;
-use Nsfisis\Waddiwasi\Structure\Instructions\Expr;
+use Nsfisis\Waddiwasi\Structure\Instructions\Instr;
use Nsfisis\Waddiwasi\Structure\Types\GlobalType;
final readonly class Global_
{
+ /**
+ * @param list<Instr> $init
+ */
public function __construct(
public GlobalType $type,
- public Expr $init,
+ public array $init,
) {
}
}