JFIF x x C C " } !1AQa "q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQ aq"2B #3Rbr{
File "ArrayNode.php"
Full Path: /home/palsarh/web/palsarh.in/public_html/vendor/cuyz/valinor/src/Compiler/Native/ArrayNode.php
File size: 795 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
declare(strict_types=1);
namespace CuyZ\Valinor\Compiler\Native;
use CuyZ\Valinor\Compiler\Compiler;
use CuyZ\Valinor\Compiler\Node;
use function var_export;
/** @internal */
final class ArrayNode extends Node
{
public function __construct(
/** @var array<Node> */
private array $assignments
) {}
public function compile(Compiler $compiler): Compiler
{
if ($this->assignments === []) {
return $compiler->write('[]');
}
$sub = [];
foreach ($this->assignments as $key => $assignment) {
$sub[] = ' ' . var_export($key, true) . ' => ' . $compiler->sub()->compile($assignment)->code() . ",";
}
$sub = implode("\n", $sub);
return $compiler->write("[\n$sub\n]");
}
}