src/Jit/Parser.php
public static function debug($content)
    {
        $root = is_object($content) ? $content : static::parse($content, ['lines' => true]);
        $result = '';

        $abbr = [
            'file'      => 'file',
            'open'      => 'open',
            'close'     => 'close',
            'declare'   => 'declare',
            'namespace' => 'namespace',
            'use'       => 'use',
            'class'     => 'class',
            'interface' => 'interface',
            'trait'     => 'trait',
            'function'  => 'function',
            'signature' => 'signature',
            'attribute' => 'a',
            'code'      => 'c',
            'comment'   => 'd',
            'plain'     => 'p',
            'string'    => 's'
        ];

        foreach ($root->lines['content'] as $num => $content) {
            $start = $stop = $line = $num + 1;
            $result .= '#' . str_pad($line, 6, ' ');
            $types = [];
            foreach ($content['nodes'] as $node) {
                $types[] = $abbr[$node->type];
                $stop = max($stop, $node->lines['stop'] + 1);
            }
            $result .= $content['coverable'] ? '*' : ' ';
            $result .= '[' . str_pad(join(',', $types), 19, ' ', STR_PAD_BOTH) . "]";
            $result .= ' ' . str_pad("#{$start} > #{$stop}", 16, ' ') . "|";
            $result .= $content['body'] . "\n";
        }
        return $result;
    }
public static function debug($content)
    {
        $root = is_object($content) ? $content : static::parse($content, ['lines' => true]);
        $result = '';

        $abbr = [
            'file'      => 'file',
            'open'      => 'open',
            'close'     => 'close',
            'declare'   => 'declare',
            'namespace' => 'namespace',
            'use'       => 'use',
            'class'     => 'class',
            'interface' => 'interface',
            'trait'     => 'trait',
            'function'  => 'function',
            'signature' => 'signature',
            'attribute' => 'a',
            'code'      => 'c',
            'comment'   => 'd',
            'plain'     => 'p',
            'string'    => 's'
        ];

        foreach ($root->lines['content'] as $num => $content) {
            $start = $stop = $line = $num + 1;
            $result .= '#' . str_pad($line, 6, ' ');
            $types = [];
            foreach ($content['nodes'] as $node) {
                $types[] = $abbr[$node->type];
                $stop = max($stop, $node->lines['stop'] + 1);
            }
            $result .= $content['coverable'] ? '*' : ' ';
            $result .= '[' . str_pad(join(',', $types), 19, ' ', STR_PAD_BOTH) . "]";
            $result .= ' ' . str_pad("#{$start} > #{$stop}", 16, ' ') . "|";
            $result .= $content['body'] . "\n";
        }
        return $result;
    }
public static function debug ( $ content ) { $ root = is_object ( $ content ) ? $ content : static :: parse ( $ content , [ 'lines' => true ] ) ; $ result = '' ; $ abbr = [ 'file' => 'file' , 'open' => 'open' , 'close' => 'close' , 'declare' => 'declare' , 'namespace' => 'namespace' , 'use' => 'use' , 'class' => 'class' , 'interface' => 'interface' , 'trait' => 'trait' , 'function' => 'function' , 'signature' => 'signature' , 'attribute' => 'a' , 'code' => 'c' , 'comment' => 'd' , 'plain' => 'p' , 'string' => 's' ] ; foreach ( $ root -> lines [ 'content' ] as $ num => $ content ) { $ start = $ stop = $ line = $ num + 1 ; $ result .= '#' . str_pad ( $ line , 6 , ' ' ) ; $ types = [ ] ; foreach ( $ content [ 'nodes' ] as $ node ) { $ types [ ] = $ abbr [ $ node -> type ] ; $ stop = max ( $ stop , $ node -> lines [ 'stop' ] + 1 ) ; } $ result .= $ content [ 'coverable' ] ? '*' : ' ' ; $ result .= '[' . str_pad ( join ( ',' , $ types ) , 19 , ' ' , STR_PAD_BOTH ) . "]" ; $ result .= ' ' . str_pad ( "#{$start} > #{$stop}" , 16 , ' ' ) . "|" ; $ result .= $ content [ 'body' ] . "\n" ; } return $ result ; }
Returns a reader-friendly output for debug purpose.

@param  mixed  A node or a php string to parse.
@return string the unparsed file.
Returns a reader - friendly output for debug purpose .