aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/WebAssembly/Structure
diff options
context:
space:
mode:
Diffstat (limited to 'src/WebAssembly/Structure')
-rw-r--r--src/WebAssembly/Structure/Types/ValType.php24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/WebAssembly/Structure/Types/ValType.php b/src/WebAssembly/Structure/Types/ValType.php
index ace4604..02e1113 100644
--- a/src/WebAssembly/Structure/Types/ValType.php
+++ b/src/WebAssembly/Structure/Types/ValType.php
@@ -13,4 +13,28 @@ enum ValType
case V128;
case FuncRef;
case ExternRef;
+
+ public function isNum(): bool
+ {
+ return match ($this) {
+ ValType::I32 , ValType::I64 , ValType::F32 , ValType::F64 => true,
+ default => false,
+ };
+ }
+
+ public function isVec(): bool
+ {
+ return match ($this) {
+ ValType::V128 => true,
+ default => false,
+ };
+ }
+
+ public function isRef(): bool
+ {
+ return match ($this) {
+ ValType::FuncRef , ValType::ExternRef => true,
+ default => false,
+ };
+ }
}