Viewing file: Namespace_.php (1.36 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace PhpParser\Node\Stmt;
use PhpParser\Node; use PhpParser\Error;
class Namespace_ extends Node\Stmt { /** @var null|Node\Name Name */ public $name; /** @var Node[] Statements */ public $stmts;
protected static $specialNames = array( 'self' => true, 'parent' => true, 'static' => true, );
/** * Constructs a namespace node. * * @param null|Node\Name $name Name * @param null|Node[] $stmts Statements * @param array $attributes Additional attributes */ public function __construct(Node\Name $name = null, $stmts = array(), array $attributes = array()) { parent::__construct($attributes); $this->name = $name; $this->stmts = $stmts;
if (isset(self::$specialNames[strtolower($this->name)])) { throw new Error( sprintf('Cannot use \'%s\' as namespace name', $this->name), $this->name->getAttributes() ); }
if (null !== $this->stmts) { foreach ($this->stmts as $stmt) { if ($stmt instanceof self) { throw new Error('Namespace declarations cannot be nested', $stmt->getAttributes()); } } } }
public function getSubNodeNames() { return array('name', 'stmts'); } }
|