x/tools/gopls:处理行指令到.y文件

6jjcrrmo  于 4个月前  发布在  Go
关注(0)|答案(6)|浏览(51)

你正在使用的Go版本是什么(go version)?
go版本 go1.13 linux/amd64
gopls...
golang.org/x/tools/gopls v0.1.7
golang.org/x/tools/gopls@v0.1.7 h1:YwKf8t9h69++qCtVmc2q6fVuetFXmmu9LKoPMYLZid4=

这个问题在最新版本中是否重现?

是的

你做了什么?

在VSCode中打开 https://play.golang.org/p/-QfVqDKxsFI

你期望看到什么?

没有崩溃。

你看到了什么?

"gopls服务器在过去的3分钟内崩溃了5次。服务器将不会重新启动。"

t9aqgxwy

t9aqgxwy1#

感谢您报告此问题。看起来我们没有正确处理带有行指令的代码。这需要一些工作,但我们至少可以防止崩溃发生。

ej83mcc0

ej83mcc02#

https://golang.org/cl/196662提到了这个问题:internal/span: handle invalid column values to avoid crashing

z18hc3ub

z18hc3ub3#

我正在为#35720做的这项工作是一个很好的开始,但我们没有跟踪.y文件,所以我不认为它会真正解决问题。我们必须能够为任意非Go文件获取一个ColumnMapper。

zsohkypk

zsohkypk4#

https://golang.org/cl/227770提到了这个问题:internal/lsp: add an extra bounds check to avoid nil pointers

u7up0aaq

u7up0aaq5#

这个不再崩溃,而是写入一个错误信息
无法计算文档链接:必须为包含来自".../expr.y"的行的文件".../foof.go"提供转换器
我个人认为,几乎不可能正确处理//line,尽管也许可以在1.0发布后处理一些特殊情况。

ix0qys7i

ix0qys7i6#

我同意处理行指令不是v1.0的关键优先事项。将其移出1.0里程碑。

相关问题