go/ast: CommentMap 处理松散的尾随文件注解时出错

kx5bkwkv  于 4个月前  发布在  Go
关注(0)|答案(5)|浏览(45)

为:

package p

func f() {
        return
}

// loose trailing comment

构建一个注解Map表,将松散的尾随注解与f内的return语句关联起来。它可能应该与f关联,而不是与注解Map表关联,并且NewCommentMap文档应更新为新的规则。实时证明:https://play.golang.org/p/XCktcSxYl8

oyxsuwqo

oyxsuwqo2#

我也看到有一个测试包含这个:

"50: *ast.Ident":      "the very last comment\n",

在这种情况下,文件中的尾随注解附加到一个 ast.Ident 。我没有看到关于这个问题的TODO或者任何未解决的问题,所以我在想这是否真的是有意为之。
另一个选择是将其附加到整个 ast.File 。这两种情况都比当前的行为要好。文档似乎没有涵盖这种情况。

l7mqbcuq

l7mqbcuq3#

我猜是在一个@josharian的私有仓库中误关闭了。

cdmah0mi

cdmah0mi5#

我猜想在@josharian的私有仓库中,错误地关闭了。
确实如此。顺便说一下,这是我用来修复它的差异,它以我为私有目的想要的方式修复了它。我没有考虑过这是否是对go/ast包的适当修复。

相关问题