private function addImplicitDebugContext(array $passes)
    {
        $file = $this->getDebugFile();
        if ($file === null) {
            return;
        }

        try {
            $code = @\file_get_contents($file);
            if (!$code) {
                return;
            }

            $stmts = $this->parse($code, true);
            if ($stmts === false) {
                return;
            }

            // Set up a clean traverser for just these code cleaner passes
            $traverser = new NodeTraverser();
            foreach ($passes as $pass) {
                $traverser->addVisitor($pass);
            }

            $traverser->traverse($stmts);
        } catch (\Throwable $e) {
            // Don't care.
        } catch (\Exception $e) {
            // Still don't care.
        }
    }
private function addImplicitDebugContext(array $passes)
    {
        $file = $this->getDebugFile();
        if ($file === null) {
            return;
        }

        try {
            $code = @\file_get_contents($file);
            if (!$code) {
                return;
            }

            $stmts = $this->parse($code, true);
            if ($stmts === false) {
                return;
            }

            // Set up a clean traverser for just these code cleaner passes
            $traverser = new NodeTraverser();
            foreach ($passes as $pass) {
                $traverser->addVisitor($pass);
            }

            $traverser->traverse($stmts);
        } catch (\Throwable $e) {
            // Don't care.
        } catch (\Exception $e) {
            // Still don't care.
        }
    }
private function addImplicitDebugContext ( array $ passes ) { $ file = $ this -> getDebugFile ( ) ; if ( $ file === null ) { return ; } try { $ code = @ \ file_get_contents ( $ file ) ; if ( ! $ code ) { return ; } $ stmts = $ this -> parse ( $ code , true ) ; if ( $ stmts === false ) { return ; } // Set up a clean traverser for just these code cleaner passes $ traverser = new NodeTraverser ( ) ; foreach ( $ passes as $ pass ) { $ traverser -> addVisitor ( $ pass ) ; } $ traverser -> traverse ( $ stmts ) ; } catch ( \ Throwable $ e ) { // Don't care. } catch ( \ Exception $ e ) { // Still don't care. } }
"Warm up" code cleaner passes when we're coming from a debug call.

This is useful, for example, for `UseStatementPass` and `NamespacePass`
which keep track of state between calls, to maintain the current
namespace and a map of use statements.

@param array $passes
Warm up code cleaner passes when we re coming from a debug call .