internal/lsp: fix panic in computing file version
Fixes golang/go#32791
Change-Id: I04fc3de5ed94137424a32f3e7200ba72d3913329
Reviewed-on: https://go-review.googlesource.com/c/tools/+/183984
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
diff --git a/internal/lsp/cache/external.go b/internal/lsp/cache/external.go
index 043d20a..ddb7367 100644
--- a/internal/lsp/cache/external.go
+++ b/internal/lsp/cache/external.go
@@ -23,12 +23,10 @@
}
func (fs *nativeFileSystem) GetFile(uri span.URI) source.FileHandle {
- var version string
- fi, err := os.Stat(uri.Filename())
- if err != nil {
- version = "DOES NOT EXIST"
+ version := "DOES NOT EXIST"
+ if fi, err := os.Stat(uri.Filename()); err == nil {
+ version = fi.ModTime().String()
}
- version = fi.ModTime().String()
return &nativeFileHandle{
fs: fs,
identity: source.FileIdentity{