blob: 0f9ce4295aeb5cb4f034bca7e537f3e5ebc8ca67 (
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<?php
declare(strict_types=1);
namespace Nsfisis\Waddiwasi\Execution;
use Nsfisis\Waddiwasi\Structure\Types\RefType;
abstract readonly class Val
{
final public static function Num(Num $inner): Vals\Num
{
return new Vals\Num($inner);
}
/**
* @param S32 $value
*/
final public static function NumI32(int $value): Vals\Num
{
return self::Num(Num::I32($value));
}
/**
* @param S64 $value
*/
final public static function NumI64(int $value): Vals\Num
{
return self::Num(Num::I64($value));
}
/**
* @param F32 $value
*/
final public static function NumF32(float $value): Vals\Num
{
return self::Num(Num::F32($value));
}
/**
* @param F64 $value
*/
final public static function NumF64(float $value): Vals\Num
{
return self::Num(Num::F64($value));
}
final public static function Ref(Ref $inner): Vals\Ref
{
return new Vals\Ref($inner);
}
final public static function RefNull(RefType $type): Vals\Ref
{
return self::Ref(Ref::RefNull($type));
}
final public static function RefFunc(FuncAddr $addr): Vals\Ref
{
return self::Ref(Ref::RefFunc($addr));
}
final public static function RefExtern(ExternAddr $addr): Vals\Ref
{
return self::Ref(Ref::RefExtern($addr));
}
}
|