Mercurial > hg > isophonics-drupal-site
diff vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 5fb285c0d0e3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,60 @@ +<?php + +namespace PhpParser\Node\Stmt; + +use PhpParser\Node; +use PhpParser\Node\FunctionLike; + +class Function_ extends Node\Stmt implements FunctionLike +{ + /** @var bool Whether function returns by reference */ + public $byRef; + /** @var string Name */ + public $name; + /** @var Node\Param[] Parameters */ + public $params; + /** @var null|string|Node\Name|Node\NullableType Return type */ + public $returnType; + /** @var Node[] Statements */ + public $stmts; + + /** + * Constructs a function node. + * + * @param string $name Name + * @param array $subNodes Array of the following optional subnodes: + * 'byRef' => false : Whether to return by reference + * 'params' => array(): Parameters + * 'returnType' => null : Return type + * 'stmts' => array(): Statements + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = array(), array $attributes = array()) { + 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(); + } + + public function getSubNodeNames() { + return array('byRef', 'name', 'params', 'returnType', 'stmts'); + } + + public function returnsByRef() { + return $this->byRef; + } + + public function getParams() { + return $this->params; + } + + public function getReturnType() { + return $this->returnType; + } + + public function getStmts() { + return $this->stmts; + } +}