/**
  * {@inheritDoc}
  */
 public function enterNode(Node $node)
 {
     if ($node instanceof Variable) {
         $this->foundVariableAccesses[] = VariableAccess::fromVariableAndOperation($node, ...$this->lastVisitedNodes);
     }
     if ($node instanceof Node\Stmt\StaticVar) {
         $this->foundVariableAccesses[] = VariableAccess::fromStaticVariableAndOperations($node, ...$this->lastVisitedNodes);
     }
     $this->lastVisitedNodes[] = $node;
 }
 public function testVariableAccessViaStaticVar()
 {
     self::assertInstanceOf(VariableAccess::class, VariableAccess::fromStaticVariableAndOperations(new Node\Stmt\StaticVar('foo')));
     self::assertInstanceOf(VariableAccess::class, VariableAccess::fromStaticVariableAndOperations(new Node\Stmt\StaticVar('foo'), new Mul(new Variable('foo'), new Variable('bar'))));
     self::assertInstanceOf(VariableAccess::class, VariableAccess::fromStaticVariableAndOperations(new Node\Stmt\StaticVar('foo'), new Mul(new Variable('foo'), new Variable('bar')), new Mul(new Variable('foo'), new Variable('bar'))));
 }