-
-
Notifications
You must be signed in to change notification settings - Fork 353
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
fix: Fix sniper-printing of method imports #3744
Merged
monperrus
merged 12 commits into
INRIA:master
from
slarse:issue/3743-fix-sniper-print-static-import
Jan 12, 2021
Merged
fix: Fix sniper-printing of method imports #3744
monperrus
merged 12 commits into
INRIA:master
from
slarse:issue/3743-fix-sniper-print-static-import
Jan 12, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
slarse
changed the title
wip: fix: Fix Sniper printing of method imports
review: fix: Fix Sniper printing of method imports
Jan 7, 2021
monperrus
changed the title
review: fix: Fix Sniper printing of method imports
fix: Fix sniper-printing of method imports
Jan 12, 2021
Thanks a lot @slarse, good work! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix #3743
This PR fixes a problem with the Sniper printer, in that the start and end of source fragments would become messed up on method imports. The cause was that method imports have type reference children (e.g. the return type) that are defined in the file in which the method itself is defined, which in turn causes the method import to have children with source positions in a different file. This causes issues when recursively resolving the start and end position of the element.
The fix in this PR is to not link source fragments from different files. An exception is made for children of compilation units, as renaming a type with
Refactorings.changeTypeName
causes it's CU to get a different source file (unsure if this is a bug or not, but that's the way it is right now). So, children of compilation units are allowed to originate from a different file than the CU itself.This PR should resolve the problems in Sorald detailed in ASSERT-KTH/sorald#275