/** * @return \Pharborist\Node[] */ public function getKeys() { $keys = []; if ($this->key) { $keys[] = clone $this->key; } if ($this->array instanceof ArrayLookupNode) { $keys = array_merge($this->array->getKeys(), $keys); } return $keys; }
/** * @return boolean */ 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; }