[dev.inline] cmd/internal/src: make Pos implementation abstract

Adjust cmd/compile accordingly.

This will make it easier to replace the underlying implementation.

Change-Id: I33645850bb18c839b24785b6222a9e028617addb
Reviewed-on: https://go-review.googlesource.com/34133
Reviewed-by: David Lazar <lazard@golang.org>
This commit is contained in:
Robert Griesemer 2016-12-07 16:02:42 -08:00
parent 24597c080b
commit 82d0caea2c
36 changed files with 123 additions and 93 deletions

View file

@ -6,6 +6,7 @@ package ssa
import (
"bytes"
"cmd/internal/src"
"fmt"
"html"
"io"
@ -20,7 +21,7 @@ type HTMLWriter struct {
func NewHTMLWriter(path string, logger Logger, funcname string) *HTMLWriter {
out, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
if err != nil {
logger.Fatalf(0, "%v", err)
logger.Fatalf(src.Pos{}, "%v", err)
}
html := HTMLWriter{File: out, Logger: logger}
html.start(funcname)
@ -328,13 +329,13 @@ func (w *HTMLWriter) WriteColumn(title string, html string) {
func (w *HTMLWriter) Printf(msg string, v ...interface{}) {
if _, err := fmt.Fprintf(w.File, msg, v...); err != nil {
w.Fatalf(0, "%v", err)
w.Fatalf(src.Pos{}, "%v", err)
}
}
func (w *HTMLWriter) WriteString(s string) {
if _, err := w.File.WriteString(s); err != nil {
w.Fatalf(0, "%v", err)
w.Fatalf(src.Pos{}, "%v", err)
}
}