arguments ??= Arguments::fromProperties($this->class->properties); } public function buildObject(array $arguments): object { $object = new ($this->class->name)(); if (count($arguments) > 0) { (function () use ($arguments): void { foreach ($arguments as $name => $value) { $this->{$name} = $value; // @phpstan-ignore-line } })->call($object); } return $object; } public function signature(): string { return $this->class->name . ' (properties)'; } }