Kahlan\Reporter\Coverage\Exporter\Istanbul::_export PHP Méthode

_export() protected static méthode

Exports source file coverage
protected static _export ( $path, $tree, $coverage ) : array
Résultat array
    protected static function _export($path, $tree, $coverage)
    {
        $s = [];
        $statementMap = [];
        $statementIndex = 1;
        $f = [];
        $fnMap = [];
        $fnIndex = 1;
        $fnCurr = null;
        $fnCurrIndex = null;
        foreach ($tree->lines['content'] as $num => $content) {
            $coverable = null;
            foreach ($content['nodes'] as $node) {
                if ($node->type === 'function' && $node->lines['start'] === $num) {
                    if ($node->isMethod || !$node->isClosure) {
                        $f[$fnIndex] = 0;
                        $fnMap[$fnIndex] = ['name' => $node->name, 'line' => $num + 1, 'loc' => ['start' => ['line' => $num + 1, 'column' => 0], 'end' => ['line' => $node->lines['stop'] + 1, 'column' => strpos($node->body, '}')]]];
                        $fnCurr = $node;
                        $fnCurrIndex = $fnIndex;
                        $fnIndex++;
                    }
                }
                if ($node->coverable && $node->lines['stop'] === $num) {
                    $coverable = $node;
                    break;
                }
            }
            if (!$coverable) {
                continue;
            }
            $s[$statementIndex] = isset($coverage[$num]) ? $coverage[$num] : 0;
            $statementMap[$statementIndex] = ['start' => ['line' => $num + 1, 'column' => 0], 'end' => ['line' => $coverable->lines['stop'] + 1, 'column' => strlen($node->body)]];
            if ($fnCurr) {
                if ($fnCurr->lines['stop'] >= $coverable->lines['stop']) {
                    $f[$fnCurrIndex] = max($f[$fnCurrIndex], $s[$statementIndex]);
                }
            }
            $statementIndex++;
        }
        $b = [];
        $branchMap = [];
        return compact('path', 's', 'f', 'b', 'statementMap', 'fnMap', 'branchMap');
    }