diff vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.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/Builder/Use_.php	Fri Feb 23 15:52:07 2018 +0000
+++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php	Mon Apr 23 09:33:26 2018 +0100
@@ -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 @@
      * @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 @@
      *
      * @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);
     }
 }