Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Builder / Use_.php
index f6d3a856faddb22e43501664478e2a186946571d..2026a1726149a1b9c15c7f45d0884ff8a56f9933 100644 (file)
@@ -1,15 +1,14 @@
-<?php
+<?php declare(strict_types=1);
 
 namespace PhpParser\Builder;
 
-use PhpParser\BuilderAbstract;
+use PhpParser\Builder;
+use PhpParser\BuilderHelpers;
 use PhpParser\Node;
 use PhpParser\Node\Stmt;
 
-/**
- * @method $this as(string $alias) Sets alias for used name.
- */
-class Use_ extends BuilderAbstract {
+class Use_ implements Builder
+{
     protected $name;
     protected $type;
     protected $alias = null;
@@ -20,8 +19,8 @@ class Use_ extends BuilderAbstract {
      * @param Node\Name|string $name Name of the entity (namespace, class, function, constant) to alias
      * @param int              $type One of the Stmt\Use_::TYPE_* constants
      */
-    public function __construct($name, $type) {
-        $this->name = $this->normalizeName($name);
+    public function __construct($name, int $type) {
+        $this->name = BuilderHelpers::normalizeName($name);
         $this->type = $type;
     }
 
@@ -32,27 +31,19 @@ class Use_ extends BuilderAbstract {
      *
      * @return $this The builder instance (for fluid interface)
      */
-    protected function as_($alias) {
+    public function as(string $alias) {
         $this->alias = $alias;
         return $this;
     }
-    public function __call($name, $args) {
-        if (method_exists($this, $name . '_')) {
-            return call_user_func_array(array($this, $name . '_'), $args);
-        }
-
-        throw new \LogicException(sprintf('Method "%s" does not exist', $name));
-    }
 
     /**
      * Returns the built node.
      *
      * @return Node The built node
      */
-    public function getNode() {
-        $alias = null !== $this->alias ? $this->alias : $this->name->getLast();
-        return new Stmt\Use_(array(
-            new Stmt\UseUse($this->name, $alias)
-        ), $this->type);
+    public function getNode() : Node {
+        return new Stmt\Use_([
+            new Stmt\UseUse($this->name, $this->alias)
+        ], $this->type);
     }
 }