-
Notifications
You must be signed in to change notification settings - Fork 17.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
go/ast: unexpected associations for comments in empty function/loop bodies #39753
Comments
Not having looked at this in detail, from your description this sounds like a bug; at least I don't see why this would be intentional. |
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 |
Fixes golang#39753 Signed-off-by: Eva Charlotte Mayer <eva.mayer@tum.de>
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. |
Howdy @ec-m @dave @griesemer! Thank you for filing, and investigating this bug, @ec-m. I'd say please go for it, please mail that change; @griesemer's plate is heavily stacked, but with your CL up for review, that provides more actionable feedback and brings in more reviewers. It would be awesome to have you as a Go contributor, @ec-m! Happy holidays! |
@odeke-em Thanks for the feedback. I will set up Gerrit in the next few days and send a PR :) |
Change https://golang.org/cl/281234 mentions this issue: |
Change https://golang.org/cl/315370 mentions this issue: |
Sort the comment map entries before printing. Makes it easier to use the output for debugging. For #39753. Change-Id: Ic8e7d27dd2df59173e2c3a04a6b71ae966703885 Reviewed-on: https://go-review.googlesource.com/c/go/+/315370 Trust: Robert Griesemer <gri@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
cc: @mvdan |
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 env
OutputThe text was updated successfully, but these errors were encountered: