Вход Регистрация
Файл: vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php
Строк: 58
<?php declare(strict_types=1);

namespace 
PhpParserBuilder;

use 
PhpParserBuilderHelpers;
use 
PhpParserNode;

abstract class 
FunctionLike extends Declaration
{
    protected 
$returnByRef false;
    protected 
$params = [];

    
/** @var string|NodeName|NodeNullableType|null */
    
protected $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 NodeParam|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 NodeParam) {
            throw new 
LogicException(sprintf('Expected parameter node, got "%s"'$param->getType()));
        }

        
$this->params[] = $param;

        return 
$this;
    }

    
/**
     * Adds multiple parameters.
     *
     * @param array $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|NodeName|NodeIdentifier|NodeComplexType $type
     *
     * @return $this The builder instance (for fluid interface)
     */
    
public function setReturnType($type) {
        
$this->returnType BuilderHelpers::normalizeType($type);

        return 
$this;
    }
}
Онлайн: 0
Реклама