public function enterNode(Node $node): void
    {
        $name = null;

        if ($node instanceof Name) {
            $name = $node->toString();
        }

        if ($name === null
            || (array_key_exists($name, $this->symbols)
                && $this->symbols[$name] === false
            )
        ) {
            return;
        }

        if (!$this->filter->__invoke($name)) {
            $this->symbols[$name] = false;
            return;
        }

        if (!array_key_exists($name, $this->symbols)) {
            $this->symbols[$name] = [];
        }

        $this->symbols[$name][] = $node;
    }
public function enterNode(Node $node): void
    {
        $name = null;

        if ($node instanceof Name) {
            $name = $node->toString();
        }

        if ($name === null
            || (array_key_exists($name, $this->symbols)
                && $this->symbols[$name] === false
            )
        ) {
            return;
        }

        if (!$this->filter->__invoke($name)) {
            $this->symbols[$name] = false;
            return;
        }

        if (!array_key_exists($name, $this->symbols)) {
            $this->symbols[$name] = [];
        }

        $this->symbols[$name][] = $node;
    }
public function enterNode ( Node $ node ) : void { $ name = null ; if ( $ node instanceof Name ) { $ name = $ node -> toString ( ) ; } if ( $ name === null || ( array_key_exists ( $ name , $ this -> symbols ) && $ this -> symbols [ $ name ] === false ) ) { return ; } if ( ! $ this -> filter -> __invoke ( $ name ) ) { $ this -> symbols [ $ name ] = false ; return ; } if ( ! array_key_exists ( $ name , $ this -> symbols ) ) { $ this -> symbols [ $ name ] = [ ] ; } $ this -> symbols [ $ name ] [ ] = $ node ; }
Track the given node.

@param Node $node

@return void
Track the given node .