code: func (l *Location) string() string {
  	ss := []string{}
  	locStr := fmt.Sprintf("%6d: %#x ", l.ID, l.Address)
  	if m := l.Mapping; m != nil {
  		locStr = locStr + fmt.Sprintf("M=%d ", m.ID)
  	}
  	if l.IsFolded {
  		locStr = locStr + "[F] "
  	}
  	if len(l.Line) == 0 {
  		ss = append(ss, locStr)
  	}
  	for li := range l.Line {
  		lnStr := "??"
  		if fn := l.Line[li].Function; fn != nil {
  			lnStr = fmt.Sprintf("%s %s:%d s=%d",
  				fn.Name,
  				fn.Filename,
  				l.Line[li].Line,
  				fn.StartLine)
  			if fn.Name != fn.SystemName {
  				lnStr = lnStr + "(" + fn.SystemName + ")"
  			}
  		}
  		ss = append(ss, locStr+lnStr)
  		// Do not print location details past the first line
  		locStr = "             "
  	}
  	return strings.Join(ss, "\n")
  }
docs: // string dumps a text representation of a location. Intended mainly
  // for debugging purposes.