internal/lsp/source: fix nil pointer in rename_check

Updates golang/vscode-go#534

Change-Id: I0a30ac7f52862a096b07c35665539cfed99d4828
Reviewed-on: https://go-review.googlesource.com/c/tools/+/248797
Run-TryBot: Rebecca Stambler <rstambler@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
This commit is contained in:
Rebecca Stambler 2020-08-16 22:17:03 -04:00
parent 90abf76919
commit d00afeaade
1 changed files with 6 additions and 4 deletions

View File

@ -120,10 +120,12 @@ func (r *renamer) checkInPackageBlock(from types.Object) {
fileScope := pkg.GetTypesInfo().Scopes[f]
b, prev := fileScope.LookupParent(r.to, token.NoPos)
if b == fileScope {
r.errorf(from.Pos(), "renaming this %s %q to %q would conflict",
objectKind(from), from.Name(), r.to)
r.errorf(prev.Pos(), "\twith this %s",
objectKind(prev))
r.errorf(from.Pos(), "renaming this %s %q to %q would conflict", objectKind(from), from.Name(), r.to)
var prevPos token.Pos
if prev != nil {
prevPos = prev.Pos()
}
r.errorf(prevPos, "\twith this %s", objectKind(prev))
return // since checkInPackageBlock would report redundant errors
}
}