From d00afeaade8f1e68fb815705aa42d704c1b6df35 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Sun, 16 Aug 2020 22:17:03 -0400 Subject: [PATCH] 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 TryBot-Result: Gobot Gobot Reviewed-by: Robert Findley --- internal/lsp/source/rename_check.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/lsp/source/rename_check.go b/internal/lsp/source/rename_check.go index 8823951b1b..2b2088b9fd 100644 --- a/internal/lsp/source/rename_check.go +++ b/internal/lsp/source/rename_check.go @@ -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 } }