FieldValueFilter.php in Drupal 7 to 8/9 Module Upgrader 8
File
src/Utility/Filter/FieldValueFilter.php
View source
<?php
namespace Drupal\drupalmoduleupgrader\Utility\Filter;
use Pharborist\ArrayLookupNode;
use Pharborist\Node;
use Pharborist\Objects\ObjectPropertyNode;
use Pharborist\Variables\VariableNode;
class FieldValueFilter {
protected $variable;
public function __construct($variable) {
$this->variable = $variable;
}
public function __invoke(Node $node) {
if ($node instanceof ArrayLookupNode) {
$root = $node
->getRootArray();
if ($root instanceof ObjectPropertyNode) {
$object = $root
->getObject();
if ($object instanceof VariableNode && $object
->getName() == $this->variable) {
return sizeof($node
->getKeys()) >= 3;
}
}
}
return FALSE;
}
}
Classes
Name |
Description |
FieldValueFilter |
Filters for things that *look like* field accesses, e.g.
$foo->bar[LANGUAGE_NONE][0]['value']. This filter doesn't guarantee that
matched nodes actually ARE field accesses -- just that they have the proper
formation (S-foils in… |