Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
go/ast: unexpected associations for comments in empty function/loop bodies #39753
Comments that are placed inside empty function or loop bodies are associated with statements after the body, hence statements outside of the scope the comments are in. I would expect them to be associated with the function or loop declaration. This snipped demonstrates the issue:
And here you can find code to reproduce the issue: https://play.golang.org/p/m4j-OTbdi-L
As @griesemer mentioned in #20744, the comment association heuristic is not straight forward to implement. Thus, I am wondering whether the above shown associations are intentional or whether this is a bug. Thanks for the clarification!
$ go version go version go1.14.2 darwin/amd64
In dst the algorithm to associate comments with decoration attachment points was by no means straightforward. If it finds nothing below the comment it bounces back and searches before the comment. In this example it would attach to the opening brace of the
As @dave pointed out, the question is now, with which nodes we want to associate the comments in empty bodies.
I changed the function
Please see here for the full changes that also add an additional unit test: ec-m@7b0f14c
With this fix, comments inside empty function/loop/if bodies are associated to the
Do you think this would be an acceptable way to associate the comments, @griesemer? If so, I will open a pull request with Gerrit.