mirror of https://github.com/golang/go.git
internal/lsp/cache: fix type error reporting in cgo
When dealing with cgo files, we need to pass a Mapper for the authored file. I got most of the sites in CL 208501, but missed this one. I was nervous about starting to propagate errors, but all the tests passed, so shrug. Change-Id: I7505e670e9c01d719c72c3f99d01c8153c3d2ff5 Reviewed-on: https://go-review.googlesource.com/c/tools/+/212862 Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
This commit is contained in:
parent
7bda30096d
commit
774c71fcf1
|
|
@ -180,26 +180,31 @@ func toSourceErrorKind(kind packages.ErrorKind) source.ErrorKind {
|
|||
}
|
||||
|
||||
func typeErrorRange(ctx context.Context, fset *token.FileSet, pkg *pkg, pos token.Pos) (span.Span, error) {
|
||||
spn, err := span.NewRange(fset, pos, pos).Span()
|
||||
if err != nil {
|
||||
return span.Span{}, err
|
||||
}
|
||||
posn := fset.Position(pos)
|
||||
ph, _, err := findFileInPackage(pkg, span.FileURI(posn.Filename))
|
||||
if err != nil {
|
||||
return spn, nil // ignore errors
|
||||
return span.Span{}, err
|
||||
}
|
||||
_, m, _, err := ph.Cached()
|
||||
if err != nil {
|
||||
return spn, nil
|
||||
return span.Span{}, err
|
||||
}
|
||||
spn, err := span.Range{
|
||||
FileSet: fset,
|
||||
Start: pos,
|
||||
End: pos,
|
||||
Converter: m.Converter,
|
||||
}.Span()
|
||||
if err != nil {
|
||||
return span.Span{}, err
|
||||
}
|
||||
s, err := spn.WithOffset(m.Converter)
|
||||
if err != nil {
|
||||
return spn, nil // ignore errors
|
||||
return span.Span{}, err
|
||||
}
|
||||
data, _, err := ph.File().Read(ctx)
|
||||
if err != nil {
|
||||
return spn, nil // ignore errors
|
||||
return span.Span{}, err
|
||||
}
|
||||
start := s.Start()
|
||||
offset := start.Offset()
|
||||
|
|
|
|||
Loading…
Reference in New Issue