PHP 8.2.31
Preview: FunctionLike.php Size: 1.76 KB
/opt/cpanel/ea-wappspector/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php

<?php declare(strict_types=1);

namespace PhpParser\Builder;

use PhpParser\BuilderHelpers;
use PhpParser\Node;

abstract class FunctionLike extends Declaration {
    protected bool $returnByRef = false;
    /** @var Node\Param[] */
    protected array $params = [];

    /** @var Node\Identifier|Node\Name|Node\ComplexType|null */
    protected ?Node $returnType = null;

    /**
     * Make the function return by reference.
     *
     * @return $this The builder instance (for fluid interface)
     */
    public function makeReturnByRef() {
        $this->returnByRef = true;

        return $this;
    }

    /**
     * Adds a parameter.
     *
     * @param Node\Param|Param $param The parameter to add
     *
     * @return $this The builder instance (for fluid interface)
     */
    public function addParam($param) {
        $param = BuilderHelpers::normalizeNode($param);

        if (!$param instanceof Node\Param) {
            throw new \LogicException(sprintf('Expected parameter node, got "%s"', $param->getType()));
        }

        $this->params[] = $param;

        return $this;
    }

    /**
     * Adds multiple parameters.
     *
     * @param (Node\Param|Param)[] $params The parameters to add
     *
     * @return $this The builder instance (for fluid interface)
     */
    public function addParams(array $params) {
        foreach ($params as $param) {
            $this->addParam($param);
        }

        return $this;
    }

    /**
     * Sets the return type for PHP 7.
     *
     * @param string|Node\Name|Node\Identifier|Node\ComplexType $type
     *
     * @return $this The builder instance (for fluid interface)
     */
    public function setReturnType($type) {
        $this->returnType = BuilderHelpers::normalizeType($type);

        return $this;
    }
}

Directory Contents

Dirs: 0 × Files: 16

Name Size Perms Modified Actions
3.78 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
4.07 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.23 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.96 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
3.18 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.76 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.65 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
2.57 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
3.67 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.05 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
4.36 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
5.61 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.62 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
4.17 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
2.30 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download
1.25 KB lrw-r--r-- 2025-12-06 11:56:16
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).