Beispiel #1
0
 /**
  * @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;
 }