Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / psy / psysh / src / CodeCleaner / UseStatementPass.php
similarity index 86%
rename from vendor/psy/psysh/src/Psy/CodeCleaner/UseStatementPass.php
rename to vendor/psy/psysh/src/CodeCleaner/UseStatementPass.php
index c1ce64d3ea78a6286ca70d3626a46c08b06b1ddb..d6ca878c4a2a49e94b8fd364517f330bd6745996 100644 (file)
@@ -3,7 +3,7 @@
 /*
  * This file is part of Psy Shell.
  *
- * (c) 2012-2017 Justin Hileman
+ * (c) 2012-2018 Justin Hileman
  *
  * For the full copyright and license information, please view the LICENSE
  * file that was distributed with this source code.
@@ -17,6 +17,7 @@ use PhpParser\Node\Name\FullyQualified as FullyQualifiedName;
 use PhpParser\Node\Stmt\GroupUse;
 use PhpParser\Node\Stmt\Namespace_;
 use PhpParser\Node\Stmt\Use_;
+use PhpParser\NodeTraverser;
 
 /**
  * Provide implicit use statements for subsequent execution.
@@ -30,8 +31,8 @@ use PhpParser\Node\Stmt\Use_;
  */
 class UseStatementPass extends CodeCleanerPass
 {
-    private $aliases       = array();
-    private $lastAliases   = array();
+    private $aliases       = [];
+    private $lastAliases   = [];
     private $lastNamespace = null;
 
     /**
@@ -68,26 +69,28 @@ class UseStatementPass extends CodeCleanerPass
             // Store a reference to every "use" statement, because we'll need
             // them in a bit.
             foreach ($node->uses as $use) {
-                $this->aliases[strtolower($use->alias)] = $use->name;
+                $alias = $use->alias ?: end($use->name->parts);
+                $this->aliases[strtolower($alias)] = $use->name;
             }
 
-            return false;
+            return NodeTraverser::REMOVE_NODE;
         } elseif ($node instanceof GroupUse) {
             // Expand every "use" statement in the group into a full, standalone
             // "use" and store 'em with the others.
             foreach ($node->uses as $use) {
-                $this->aliases[strtolower($use->alias)] = Name::concat($node->prefix, $use->name, array(
+                $alias = $use->alias ?: end($use->name->parts);
+                $this->aliases[strtolower($alias)] = Name::concat($node->prefix, $use->name, [
                     'startLine' => $node->prefix->getAttribute('startLine'),
                     'endLine'   => $use->name->getAttribute('endLine'),
-                ));
+                ]);
             }
 
-            return false;
+            return NodeTraverser::REMOVE_NODE;
         } elseif ($node instanceof Namespace_) {
             // Start fresh, since we're done with this namespace.
             $this->lastNamespace = $node->name;
             $this->lastAliases   = $this->aliases;
-            $this->aliases       = array();
+            $this->aliases       = [];
         } else {
             foreach ($node as $name => $subNode) {
                 if ($subNode instanceof Name) {