aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Structure/Modules/ExportDesc.php
blob: 7183c2a4e630e30e0cf8463b65cb4eac0ad82e77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

declare(strict_types=1);

namespace Nsfisis\Waddiwasi\Structure\Modules;

use Nsfisis\Waddiwasi\Structure\Types\FuncIdx;
use Nsfisis\Waddiwasi\Structure\Types\GlobalIdx;
use Nsfisis\Waddiwasi\Structure\Types\MemIdx;
use Nsfisis\Waddiwasi\Structure\Types\TableIdx;

abstract readonly class ExportDesc
{
    final public static function Func(FuncIdx $func): ExportDescs\Func
    {
        return new ExportDescs\Func($func);
    }

    final public static function Table(TableIdx $table): ExportDescs\Table
    {
        return new ExportDescs\Table($table);
    }

    final public static function Mem(MemIdx $mem): ExportDescs\Mem
    {
        return new ExportDescs\Mem($mem);
    }

    final public static function Global(GlobalIdx $global): ExportDescs\Global_
    {
        return new ExportDescs\Global_($global);
    }
}