code: func (p *Profiler) ReportByFile() (report Report) {
  	p.processLastExpr()
  	report.Files = map[string]*FileReport{}
  	for file, hits := range p.hits {
  		stats := []ExprStats{}
  		for _, stat := range hits {
  			stats = append(stats, stat)
  		}
  
  		sortStatsByRow(stats)
  		fr, ok := report.Files[file]
  		if !ok {
  			fr = &FileReport{}
  			report.Files[file] = fr
  		}
  		fr.Result = stats
  	}
  	return report
  }
docs: // ReportByFile returns a profiler report for expressions grouped by the
  // file name. For each file the results are sorted by increasing row number.