internal/lsp: convert all logging calls to the context version
Change-Id: I20e3acee4272f05a9f31a7bb4219fc2fe751e6b3
Reviewed-on: https://go-review.googlesource.com/c/tools/+/185988
Run-TryBot: Ian Cottrell <iancottrell@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/internal/lsp/cache/gofile.go b/internal/lsp/cache/gofile.go
index 9155040..03750ba 100644
--- a/internal/lsp/cache/gofile.go
+++ b/internal/lsp/cache/gofile.go
@@ -11,6 +11,7 @@
"sync"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -52,7 +53,7 @@
if f.isDirty() || f.astIsTrimmed() {
if _, err := f.view.loadParseTypecheck(ctx, f); err != nil {
- f.View().Session().Logger().Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
+ xlog.Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
return nil
}
}
@@ -71,7 +72,7 @@
if f.isDirty() {
if _, err := f.view.loadParseTypecheck(ctx, f); err != nil {
- f.View().Session().Logger().Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
+ xlog.Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
return nil
}
}
@@ -91,7 +92,7 @@
if f.isDirty() || f.astIsTrimmed() {
if _, err := f.view.loadParseTypecheck(ctx, f); err != nil {
- f.View().Session().Logger().Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
+ xlog.Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
return nil
}
}
@@ -110,7 +111,7 @@
if f.isDirty() || f.astIsTrimmed() {
if errs, err := f.view.loadParseTypecheck(ctx, f); err != nil {
- f.View().Session().Logger().Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
+ xlog.Errorf(ctx, "unable to check package for %s: %v", f.URI(), err)
// Create diagnostics for errors if we are able to.
if len(errs) > 0 {
@@ -151,12 +152,12 @@
func unexpectedAST(ctx context.Context, f *goFile) bool {
// If the AST comes back nil, something has gone wrong.
if f.ast == nil {
- f.View().Session().Logger().Errorf(ctx, "expected full AST for %s, returned nil", f.URI())
+ xlog.Errorf(ctx, "expected full AST for %s, returned nil", f.URI())
return true
}
// If the AST comes back trimmed, something has gone wrong.
if f.ast.isTrimmed {
- f.View().Session().Logger().Errorf(ctx, "expected full AST for %s, returned trimmed", f.URI())
+ xlog.Errorf(ctx, "expected full AST for %s, returned trimmed", f.URI())
return true
}
return false
diff --git a/internal/lsp/cache/load.go b/internal/lsp/cache/load.go
index ed483b1..f0e4bbb 100644
--- a/internal/lsp/cache/load.go
+++ b/internal/lsp/cache/load.go
@@ -10,6 +10,7 @@
"golang.org/x/tools/go/packages"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -224,11 +225,11 @@
for _, filename := range m.files {
f, err := v.getFile(ctx, span.FileURI(filename))
if err != nil {
- v.session.log.Errorf(ctx, "no file %s: %v", filename, err)
+ xlog.Errorf(ctx, "no file %s: %v", filename, err)
}
gof, ok := f.(*goFile)
if !ok {
- v.session.log.Errorf(ctx, "not a Go file: %s", f.URI())
+ xlog.Errorf(ctx, "not a Go file: %s", f.URI())
}
if gof.meta == nil {
gof.meta = make(map[packageID]*metadata)
@@ -252,7 +253,7 @@
}
if _, ok := m.children[packageID(importPkg.ID)]; !ok {
if err := v.link(ctx, importPkgPath, importPkg, m, missingImports); err != nil {
- v.session.log.Errorf(ctx, "error in dependency %s: %v", importPkgPath, err)
+ xlog.Errorf(ctx, "error in dependency %s: %v", importPkgPath, err)
}
}
}
diff --git a/internal/lsp/cache/session.go b/internal/lsp/cache/session.go
index 4775a9b..0104287 100644
--- a/internal/lsp/cache/session.go
+++ b/internal/lsp/cache/session.go
@@ -199,12 +199,12 @@
if strings.HasPrefix(string(uri), string(view.Folder())) {
f, err := view.GetFile(ctx, uri)
if err != nil {
- s.log.Errorf(ctx, "error getting file for %s", uri)
+ xlog.Errorf(ctx, "error getting file for %s", uri)
return
}
gof, ok := f.(*goFile)
if !ok {
- s.log.Errorf(ctx, "%s is not a Go file", uri)
+ xlog.Errorf(ctx, "%s is not a Go file", uri)
return
}
// Mark file as open.
@@ -276,7 +276,7 @@
}
_, hash, err := s.cache.GetFile(uri).Read(ctx)
if err != nil {
- s.log.Errorf(ctx, "failed to read %s: %v", uri, err)
+ xlog.Errorf(ctx, "failed to read %s: %v", uri, err)
return
}
if hash == s.overlays[uri].hash {
diff --git a/internal/lsp/cache/view.go b/internal/lsp/cache/view.go
index 326cf5c..f4922ce 100644
--- a/internal/lsp/cache/view.go
+++ b/internal/lsp/cache/view.go
@@ -17,6 +17,7 @@
"golang.org/x/tools/go/packages"
"golang.org/x/tools/internal/lsp/debug"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -277,12 +278,12 @@
for _, filename := range m.files {
f, err := v.findFile(span.FileURI(filename))
if err != nil {
- v.session.log.Errorf(ctx, "cannot find file %s: %v", f.URI(), err)
+ xlog.Errorf(ctx, "cannot find file %s: %v", f.URI(), err)
continue
}
gof, ok := f.(*goFile)
if !ok {
- v.session.log.Errorf(ctx, "non-Go file %v", f.URI())
+ xlog.Errorf(ctx, "non-Go file %v", f.URI())
continue
}
gof.mu.Lock()
diff --git a/internal/lsp/code_action.go b/internal/lsp/code_action.go
index e1b0643..ca0862e 100644
--- a/internal/lsp/code_action.go
+++ b/internal/lsp/code_action.go
@@ -11,6 +11,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -57,7 +58,7 @@
if s.wantSuggestedFixes {
qf, err := quickFixes(ctx, view, gof)
if err != nil {
- view.Session().Logger().Errorf(ctx, "quick fixes failed for %s: %v", uri, err)
+ xlog.Errorf(ctx, "quick fixes failed for %s: %v", uri, err)
}
codeActions = append(codeActions, qf...)
}
diff --git a/internal/lsp/completion.go b/internal/lsp/completion.go
index d1103ff..ac7705d 100644
--- a/internal/lsp/completion.go
+++ b/internal/lsp/completion.go
@@ -12,6 +12,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -35,7 +36,7 @@
WantDocumentaton: s.wantCompletionDocumentation,
})
if err != nil {
- s.session.Logger().Infof(ctx, "no completions found for %s:%v:%v: %v", uri, int(params.Position.Line), int(params.Position.Character), err)
+ xlog.Infof(ctx, "no completions found for %s:%v:%v: %v", uri, int(params.Position.Line), int(params.Position.Character), err)
}
return &protocol.CompletionList{
IsIncomplete: false,
@@ -62,11 +63,11 @@
prefix = strings.ToLower(surrounding.Prefix())
spn, err := surrounding.Range.Span()
if err != nil {
- s.session.Logger().Infof(ctx, "failed to get span for surrounding position: %s:%v:%v: %v", m.URI, int(pos.Line), int(pos.Character), err)
+ xlog.Infof(ctx, "failed to get span for surrounding position: %s:%v:%v: %v", m.URI, int(pos.Line), int(pos.Character), err)
} else {
rng, err := m.Range(spn)
if err != nil {
- s.session.Logger().Infof(ctx, "failed to convert surrounding position: %s:%v:%v: %v", m.URI, int(pos.Line), int(pos.Character), err)
+ xlog.Infof(ctx, "failed to convert surrounding position: %s:%v:%v: %v", m.URI, int(pos.Line), int(pos.Character), err)
} else {
insertionRange = rng
}
diff --git a/internal/lsp/diagnostics.go b/internal/lsp/diagnostics.go
index c9bf489..b7fd90d 100644
--- a/internal/lsp/diagnostics.go
+++ b/internal/lsp/diagnostics.go
@@ -10,13 +10,14 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
func (s *Server) Diagnostics(ctx context.Context, view source.View, uri span.URI) {
f, err := view.GetFile(ctx, uri)
if err != nil {
- s.session.Logger().Errorf(ctx, "no file for %s: %v", uri, err)
+ xlog.Errorf(ctx, "no file for %s: %v", uri, err)
return
}
// For non-Go files, don't return any diagnostics.
@@ -26,7 +27,7 @@
}
reports, err := source.Diagnostics(ctx, view, gof, s.disabledAnalyses)
if err != nil {
- s.session.Logger().Errorf(ctx, "failed to compute diagnostics for %s: %v", gof.URI(), err)
+ xlog.Errorf(ctx, "failed to compute diagnostics for %s: %v", gof.URI(), err)
return
}
@@ -38,7 +39,7 @@
if s.undelivered == nil {
s.undelivered = make(map[span.URI][]source.Diagnostic)
}
- s.session.Logger().Errorf(ctx, "failed to deliver diagnostic for %s (will retry): %v", uri, err)
+ xlog.Errorf(ctx, "failed to deliver diagnostic for %s (will retry): %v", uri, err)
s.undelivered[uri] = diagnostics
continue
}
@@ -49,7 +50,7 @@
// undelivered ones (only for remaining URIs).
for uri, diagnostics := range s.undelivered {
if err := s.publishDiagnostics(ctx, view, uri, diagnostics); err != nil {
- s.session.Logger().Errorf(ctx, "failed to deliver diagnostic for %s (will not retry): %v", uri, err)
+ xlog.Errorf(ctx, "failed to deliver diagnostic for %s (will not retry): %v", uri, err)
}
// If we fail to deliver the same diagnostics twice, just give up.
delete(s.undelivered, uri)
diff --git a/internal/lsp/general.go b/internal/lsp/general.go
index 65ba6ea..12adb19 100644
--- a/internal/lsp/general.go
+++ b/internal/lsp/general.go
@@ -15,6 +15,7 @@
"golang.org/x/tools/internal/lsp/debug"
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -154,7 +155,7 @@
}
buf := &bytes.Buffer{}
debug.PrintVersionInfo(buf, true, debug.PlainText)
- s.session.Logger().Infof(ctx, "%s", buf)
+ xlog.Infof(ctx, "%s", buf)
return nil
}
@@ -209,7 +210,7 @@
case "FullDocumentation":
s.hoverKind = source.FullDocumentation
default:
- view.Session().Logger().Errorf(ctx, "unsupported hover kind %s", hoverKind)
+ xlog.Errorf(ctx, "unsupported hover kind %s", hoverKind)
// The default value is already be set to synopsis.
}
}
diff --git a/internal/lsp/highlight.go b/internal/lsp/highlight.go
index 2bfd3d7..ade399a 100644
--- a/internal/lsp/highlight.go
+++ b/internal/lsp/highlight.go
@@ -9,6 +9,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -29,7 +30,7 @@
}
spans, err := source.Highlight(ctx, f, rng.Start)
if err != nil {
- view.Session().Logger().Errorf(ctx, "no highlight for %s: %v", spn, err)
+ xlog.Errorf(ctx, "no highlight for %s: %v", spn, err)
}
return toProtocolHighlight(m, spans), nil
}
diff --git a/internal/lsp/link.go b/internal/lsp/link.go
index 96c8470..121ff5ca 100644
--- a/internal/lsp/link.go
+++ b/internal/lsp/link.go
@@ -15,6 +15,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -37,13 +38,13 @@
case *ast.ImportSpec:
target, err := strconv.Unquote(n.Path.Value)
if err != nil {
- view.Session().Logger().Errorf(ctx, "cannot unquote import path %s: %v", n.Path.Value, err)
+ xlog.Errorf(ctx, "cannot unquote import path %s: %v", n.Path.Value, err)
return false
}
target = "https://godoc.org/" + target
l, err := toProtocolLink(view, m, target, n.Pos(), n.End())
if err != nil {
- view.Session().Logger().Errorf(ctx, "cannot initialize DocumentLink %s: %v", n.Path.Value, err)
+ xlog.Errorf(ctx, "cannot initialize DocumentLink %s: %v", n.Path.Value, err)
return false
}
links = append(links, l)
@@ -54,7 +55,7 @@
}
l, err := findLinksInString(n.Value, n.Pos(), view, m)
if err != nil {
- view.Session().Logger().Errorf(ctx, "cannot find links in string: %v", err)
+ xlog.Errorf(ctx, "cannot find links in string: %v", err)
return false
}
links = append(links, l...)
@@ -67,7 +68,7 @@
for _, comment := range commentGroup.List {
l, err := findLinksInString(comment.Text, comment.Pos(), view, m)
if err != nil {
- view.Session().Logger().Errorf(ctx, "cannot find links in comment: %v", err)
+ xlog.Errorf(ctx, "cannot find links in comment: %v", err)
continue
}
links = append(links, l...)
diff --git a/internal/lsp/protocol/protocol.go b/internal/lsp/protocol/protocol.go
index 254b2f9..ff16c8a 100644
--- a/internal/lsp/protocol/protocol.go
+++ b/internal/lsp/protocol/protocol.go
@@ -60,6 +60,6 @@
err = jsonrpc2.NewErrorf(jsonrpc2.CodeParseError, "%v", err)
}
if err := req.Reply(ctx, nil, err); err != nil {
- log.Errorf(ctx, "%v", err)
+ xlog.Errorf(ctx, "%v", err)
}
}
diff --git a/internal/lsp/references.go b/internal/lsp/references.go
index a6506a5..430dc3c 100644
--- a/internal/lsp/references.go
+++ b/internal/lsp/references.go
@@ -9,6 +9,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -34,7 +35,7 @@
}
references, err := ident.References(ctx)
if err != nil {
- view.Session().Logger().Errorf(ctx, "no references for %s: %v", ident.Name, err)
+ xlog.Errorf(ctx, "no references for %s: %v", ident.Name, err)
}
if params.Context.IncludeDeclaration {
// The declaration of this identifier may not be in the
diff --git a/internal/lsp/signature_help.go b/internal/lsp/signature_help.go
index 85d7eea..1fa7b04 100644
--- a/internal/lsp/signature_help.go
+++ b/internal/lsp/signature_help.go
@@ -9,6 +9,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -29,7 +30,7 @@
}
info, err := source.SignatureHelp(ctx, f, rng.Start)
if err != nil {
- s.session.Logger().Infof(ctx, "no signature help for %s:%v:%v : %s", uri, int(params.Position.Line), int(params.Position.Character), err)
+ xlog.Infof(ctx, "no signature help for %s:%v:%v : %s", uri, int(params.Position.Line), int(params.Position.Character), err)
return nil, nil
}
return toProtocolSignatureHelp(info), nil
diff --git a/internal/lsp/source/completion_format.go b/internal/lsp/source/completion_format.go
index 1b77142..de1f4f4 100644
--- a/internal/lsp/source/completion_format.go
+++ b/internal/lsp/source/completion_format.go
@@ -14,6 +14,7 @@
"strings"
"golang.org/x/tools/internal/lsp/snippet"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -192,7 +193,7 @@
cfg := printer.Config{Mode: printer.UseSpaces | printer.TabIndent, Tabwidth: 4}
b := &bytes.Buffer{}
if err := cfg.Fprint(b, v.Session().Cache().FileSet(), p.Type); err != nil {
- v.Session().Logger().Errorf(ctx, "unable to print type %v", p.Type)
+ xlog.Errorf(ctx, "unable to print type %v", p.Type)
continue
}
typ := replacer.Replace(b.String())
diff --git a/internal/lsp/source/diagnostics.go b/internal/lsp/source/diagnostics.go
index 1137fb2..268b99f 100644
--- a/internal/lsp/source/diagnostics.go
+++ b/internal/lsp/source/diagnostics.go
@@ -34,6 +34,7 @@
"golang.org/x/tools/go/analysis/passes/unsafeptr"
"golang.org/x/tools/go/analysis/passes/unusedresult"
"golang.org/x/tools/go/packages"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -81,7 +82,7 @@
if !diagnostics(ctx, view, pkg, reports) {
// If we don't have any list, parse, or type errors, run analyses.
if err := analyses(ctx, view, pkg, disabledAnalyses, reports); err != nil {
- view.Session().Logger().Errorf(ctx, "failed to run analyses for %s: %v", f.URI(), err)
+ xlog.Errorf(ctx, "failed to run analyses for %s: %v", f.URI(), err)
}
}
// Updates to the diagnostics for this package may need to be propagated.
@@ -230,29 +231,29 @@
func pointToSpan(ctx context.Context, view View, spn span.Span) span.Span {
f, err := view.GetFile(ctx, spn.URI())
if err != nil {
- view.Session().Logger().Errorf(ctx, "could not find file for diagnostic: %v", spn.URI())
+ xlog.Errorf(ctx, "could not find file for diagnostic: %v", spn.URI())
return spn
}
diagFile, ok := f.(GoFile)
if !ok {
- view.Session().Logger().Errorf(ctx, "%s is not a Go file", spn.URI())
+ xlog.Errorf(ctx, "%s is not a Go file", spn.URI())
return spn
}
tok := diagFile.GetToken(ctx)
if tok == nil {
- view.Session().Logger().Errorf(ctx, "could not find token.File for diagnostic: %v", spn.URI())
+ xlog.Errorf(ctx, "could not find token.File for diagnostic: %v", spn.URI())
return spn
}
data, _, err := diagFile.Handle(ctx).Read(ctx)
if err != nil {
- view.Session().Logger().Errorf(ctx, "could not find content for diagnostic: %v", spn.URI())
+ xlog.Errorf(ctx, "could not find content for diagnostic: %v", spn.URI())
return spn
}
c := span.NewTokenConverter(diagFile.FileSet(), tok)
s, err := spn.WithOffset(c)
//we just don't bother producing an error if this failed
if err != nil {
- view.Session().Logger().Errorf(ctx, "invalid span for diagnostic: %v: %v", spn.URI(), err)
+ xlog.Errorf(ctx, "invalid span for diagnostic: %v: %v", spn.URI(), err)
return spn
}
start := s.Start()
diff --git a/internal/lsp/source/format.go b/internal/lsp/source/format.go
index 9f6fcea..72f7ddb 100644
--- a/internal/lsp/source/format.go
+++ b/internal/lsp/source/format.go
@@ -17,6 +17,7 @@
"golang.org/x/tools/internal/imports"
"golang.org/x/tools/internal/lsp/diff"
"golang.org/x/tools/internal/lsp/telemetry/trace"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -106,7 +107,7 @@
env := &imports.ProcessEnv{
WorkingDir: cfg.Dir,
Logf: func(format string, v ...interface{}) {
- view.Session().Logger().Infof(ctx, format, v...)
+ xlog.Infof(ctx, format, v...)
},
}
for _, kv := range cfg.Env {
@@ -137,7 +138,7 @@
defer done()
data, _, err := file.Handle(ctx).Read(ctx)
if err != nil {
- file.View().Session().Logger().Errorf(ctx, "Cannot compute text edits: %v", err)
+ xlog.Errorf(ctx, "Cannot compute text edits: %v", err)
return nil
}
u := diff.SplitLines(string(data))
diff --git a/internal/lsp/text_synchronization.go b/internal/lsp/text_synchronization.go
index 0f3e023..fb7608d 100644
--- a/internal/lsp/text_synchronization.go
+++ b/internal/lsp/text_synchronization.go
@@ -13,6 +13,7 @@
"golang.org/x/tools/internal/lsp/protocol"
"golang.org/x/tools/internal/lsp/source"
"golang.org/x/tools/internal/lsp/telemetry/trace"
+ "golang.org/x/tools/internal/lsp/xlog"
"golang.org/x/tools/internal/span"
)
@@ -133,7 +134,7 @@
defer func() {
for _, uri := range clear {
if err := s.publishDiagnostics(ctx, view, uri, []source.Diagnostic{}); err != nil {
- s.session.Logger().Errorf(ctx, "failed to clear diagnostics for %s: %v", uri, err)
+ xlog.Errorf(ctx, "failed to clear diagnostics for %s: %v", uri, err)
}
}
}()
@@ -141,18 +142,18 @@
// clear out all diagnostics for the package.
f, err := view.GetFile(ctx, uri)
if err != nil {
- s.session.Logger().Errorf(ctx, "no file for %s: %v", uri, err)
+ xlog.Errorf(ctx, "no file for %s: %v", uri, err)
return nil
}
// For non-Go files, don't return any diagnostics.
gof, ok := f.(source.GoFile)
if !ok {
- s.session.Logger().Errorf(ctx, "closing a non-Go file, no diagnostics to clear")
+ xlog.Errorf(ctx, "closing a non-Go file, no diagnostics to clear")
return nil
}
pkg := gof.GetPackage(ctx)
if pkg == nil {
- s.session.Logger().Errorf(ctx, "no package available for %s", uri)
+ xlog.Errorf(ctx, "no package available for %s", uri)
return nil
}
for _, filename := range pkg.GetFilenames() {