module Coverage

def result

def result
  fixed = {}
  __broken_result__.each do |path, executed_lines|
    next unless File.file? path
    covered_lines = executed_lines.dup
    process = lambda do |node|
      if node.node_type == NodeType::NEWLINENODE
        pos = node.position
        covered_lines[pos.line] ||= 0
      end
      node.child_nodes.each(&process)
    end
    process[JRuby.parse(File.read(path), path)]
    if (first = covered_lines.detect { |x| x }) && first > 0
      fixed[File.expand_path(path)] = covered_lines
    end
  end
  fixed
end