From 26f49b7e27076e689541b9e13a1b54f60a4ee5c2 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 11 Jul 2024 02:57:23 +0900 Subject: feat: organize namespaces --- src/Debug/Debug.php | 112 ---------------------------------------------------- 1 file changed, 112 deletions(-) delete mode 100644 src/Debug/Debug.php (limited to 'src/Debug') diff --git a/src/Debug/Debug.php b/src/Debug/Debug.php deleted file mode 100644 index 56dcdae..0000000 --- a/src/Debug/Debug.php +++ /dev/null @@ -1,112 +0,0 @@ -imports as $import) { - $mod = $import->module; - $name = $import->name; - $desc = $import->desc; - $type = match ($desc::class) { - ImportDescs\Func::class => 'func', - ImportDescs\Table::class => 'table', - ImportDescs\Mem::class => 'mem', - ImportDescs\Global_::class => 'global', - default => 'unknown', - }; - $extraInfo = match ($desc::class) { - ImportDescs\Func::class => self::typeIdxToString($desc->func, $module), - ImportDescs\Table::class => self::tableTypeToString($desc->table), - ImportDescs\Mem::class => self::memTypeToString($desc->mem), - ImportDescs\Global_::class => self::globalTypeToString($desc->global), - default => 'unknown', - }; - echo "$mod::$name: $type $extraInfo\n"; - } - } - - private static function typeIdxToString(int $idx, Module $module): string - { - $type = $module->types[$idx]; - return self::funcTypeToString($type); - } - - private static function tableTypeToString(TableType $type): string - { - return self::valTypeToString(ValType::RefType($type->refType)) . ' ' . self::limitsToString($type->limits); - } - - private static function memTypeToString(MemType $type): string - { - return self::limitsToString($type->limits); - } - - private static function globalTypeToString(GlobalType $type): string - { - return self::mutToString($type->mut) . ' ' . self::valTypeToString($type->valType); - } - - private static function funcTypeToString(FuncType $type): string - { - $params = self::resultTypeToString($type->params); - $results = self::resultTypeToString($type->results); - return "($params) -> ($results)"; - } - - private static function valTypeToString(ValType $type): string - { - return match ($type::class) { - ValTypes\NumType::class => match ($type->inner) { - NumType::I32 => 'i32', - NumType::I64 => 'i64', - NumType::F32 => 'f32', - NumType::F64 => 'f64', - }, - ValTypes\VecType::class => 'v128', - ValTypes\RefType::class => match ($type->inner) { - RefType::FuncRef => 'funcref', - RefType::ExternRef => 'externref', - }, - default => 'unknown', - }; - } - - private static function limitsToString(Limits $limit): string - { - $min = $limit->min; - $max = $limit->max; - return $max === null ? "[$min, inf)" : "[$min, $max]"; - } - - private static function mutToString(Mut $mut): string - { - return match ($mut) { - Mut::Const => 'const', - Mut::Var => 'var', - }; - } - - private static function resultTypeToString(ResultType $type): string - { - return implode(', ', array_map(self::valTypeToString(...), $type->types)); - } -} -- cgit v1.2.3-70-g09d2