aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Structure/Types/ValType.php
blob: bf072e229ce0457948fc2b3d1900d9c3d55a40c9 (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
<?php

declare(strict_types=1);

namespace Nsfisis\Waddiwasi\Structure\Types;

abstract readonly class ValType
{
    final public static function NumType(NumType $type): ValTypes\NumType
    {
        return new ValTypes\NumType($type);
    }

    final public static function VecType(VecType $type): ValTypes\VecType
    {
        return new ValTypes\VecType($type);
    }

    final public static function RefType(RefType $type): ValTypes\RefType
    {
        return new ValTypes\RefType($type);
    }

    abstract public function equals(ValType $other): bool;
}