Further modules included.
[yaffs-website] / web / modules / contrib / drupalmoduleupgrader / src / Utility / Filter / NodeAssignmentFilter.php
diff --git a/web/modules/contrib/drupalmoduleupgrader/src/Utility/Filter/NodeAssignmentFilter.php b/web/modules/contrib/drupalmoduleupgrader/src/Utility/Filter/NodeAssignmentFilter.php
new file mode 100644 (file)
index 0000000..dd83849
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+namespace Drupal\drupalmoduleupgrader\Utility\Filter;
+
+use Pharborist\Filter;
+use Pharborist\Node;
+
+class NodeAssignmentFilter {
+
+  /**
+   * Tests if the given node is on the left side of an assignment.
+   *
+   * @param \Pharborist\Node $node
+   *  The node to test.
+   *
+   * @return boolean
+   */
+  public function __invoke(Node $node) {
+    /** @var \Pharborist\Operators\AssignNode $assignment */
+    $assignment = $node->closest(Filter::isInstanceOf('\Pharborist\Operators\AssignNode'));
+    return ($assignment ? $assignment->getLeftOperand() === $node : FALSE);
+  }
+
+}