Mercurial > hg > isophonics-drupal-site
diff vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line diff
--- a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php Fri Feb 23 15:52:07 2018 +0000 +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php Mon Apr 23 09:33:26 2018 +0100 @@ -1,27 +1,30 @@ -<?php +<?php declare(strict_types=1); namespace PhpParser\Node\Stmt; use PhpParser\Node; use PhpParser\Node\FunctionLike; +/** + * @property Node\Name $namespacedName Namespaced name (if using NameResolver) + */ class Function_ extends Node\Stmt implements FunctionLike { /** @var bool Whether function returns by reference */ public $byRef; - /** @var string Name */ + /** @var Node\Identifier Name */ public $name; /** @var Node\Param[] Parameters */ public $params; - /** @var null|string|Node\Name|Node\NullableType Return type */ + /** @var null|Node\Identifier|Node\Name|Node\NullableType Return type */ public $returnType; - /** @var Node[] Statements */ + /** @var Node\Stmt[] Statements */ public $stmts; /** * Constructs a function node. * - * @param string $name Name + * @param string|Node\Identifier $name Name * @param array $subNodes Array of the following optional subnodes: * 'byRef' => false : Whether to return by reference * 'params' => array(): Parameters @@ -29,24 +32,25 @@ * 'stmts' => array(): Statements * @param array $attributes Additional attributes */ - public function __construct($name, array $subNodes = array(), array $attributes = array()) { + public function __construct($name, array $subNodes = [], array $attributes = []) { parent::__construct($attributes); - $this->byRef = isset($subNodes['byRef']) ? $subNodes['byRef'] : false; - $this->name = $name; - $this->params = isset($subNodes['params']) ? $subNodes['params'] : array(); - $this->returnType = isset($subNodes['returnType']) ? $subNodes['returnType'] : null; - $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : array(); + $this->byRef = $subNodes['byRef'] ?? false; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->params = $subNodes['params'] ?? []; + $returnType = $subNodes['returnType'] ?? null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = $subNodes['stmts'] ?? []; } - public function getSubNodeNames() { - return array('byRef', 'name', 'params', 'returnType', 'stmts'); + public function getSubNodeNames() : array { + return ['byRef', 'name', 'params', 'returnType', 'stmts']; } - public function returnsByRef() { + public function returnsByRef() : bool { return $this->byRef; } - public function getParams() { + public function getParams() : array { return $this->params; } @@ -54,7 +58,12 @@ return $this->returnType; } - public function getStmts() { + /** @return Node\Stmt[] */ + public function getStmts() : array { return $this->stmts; } + + public function getType() : string { + return 'Stmt_Function'; + } }