Security update for Core, with self-updated composer
[yaffs-website] / vendor / psy / psysh / src / Psy / CodeCleaner / RequirePass.php
index 6d205e6d2a55b4652207452220a5943ccc3e06e3..00b5060888e5e69d1ba51331b5d9b1a5e52d28da 100644 (file)
@@ -31,12 +31,14 @@ class RequirePass extends CodeCleanerPass
     /**
      * {@inheritdoc}
      */
-    public function enterNode(Node $node)
+    public function enterNode(Node $origNode)
     {
-        if (!$this->isRequireNode($node)) {
+        if (!$this->isRequireNode($origNode)) {
             return;
         }
 
+        $node = clone $origNode;
+
         /*
          * rewrite
          *
@@ -44,14 +46,16 @@ class RequirePass extends CodeCleanerPass
          *
          * to
          *
-         *   $foo = Psy\CodeCleaner\RequirePass::resolve($bar)
+         *   $foo = require \Psy\CodeCleaner\RequirePass::resolve($bar)
          */
-        return new StaticCall(
+        $node->expr = new StaticCall(
             new FullyQualifiedName('Psy\CodeCleaner\RequirePass'),
             'resolve',
-            array(new Arg($node->expr), new Arg(new LNumber($node->getLine()))),
-            $node->getAttributes()
+            array(new Arg($origNode->expr), new Arg(new LNumber($origNode->getLine()))),
+            $origNode->getAttributes()
         );
+
+        return $node;
     }
 
     /**