lahodaj opened a new pull request, #8676: URL: https://github.com/apache/netbeans/pull/8676
I was writing some compact source file (JEP 512[1]) and the reindenter was really struggling with that. Looking into it, it turned out it is because of the positions - there's a synthetic class generated, which has `-1` as the end position, and moreover, even the whole `CompilationUnitTree` has consequently `-1` as the end position(!!). I have filled this to re-evaluate the positions for javac for the synthetic class positions: https://bugs.openjdk.org/browse/JDK-8364015 but here, the proposal is to start with some "workarounds": - the start position of the synthetic class is either `0`, or the end pos of the last import (a bit vaguely speaking). This allows the code completion to provide the "inside class" code completion results on more or less all relevant places in the file. - the end position of the `CompilationUnitTree` with the synthetic class is the end of the last token - the `TreeUtilities.pathFor` is adjusted to also consider the end of the last token as the end pos of the synthetic class - the `Reindenter` similarly now special-cases the end position of the synthetic class I am a bit on the fence whether (try to) put this into NB27 or not. Suggestions welcome. [1] https://openjdk.org/jeps/512 --- **^Add meaningful description above** <details open> <summary>Click to collapse/expand PR instructions</summary> By opening a pull request you confirm that, unless explicitly stated otherwise, the changes - - are all your own work, and you have the right to contribute them. - are contributed solely under the terms and conditions of the Apache License 2.0 (see section 5 of the license for more information). Please make sure (eg. `git log`) that all commits have a valid name and email address for you in the Author field. If you're a first time contributor, see the Contributing guidelines for more information. If you're a committer, please label the PR before pressing "Create pull request" so that the right test jobs can run. ### PR approval and merge checklist: 1. [ ] Was this PR [correctly labeled](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=240884239#PRsandYouAreviewerGuide-PRtriggeredCIJobs(conditionalCIpipeline)), did the right tests run? When did they run? 2. [ ] Is this PR [squashed](https://cwiki.apache.org/confluence/display/NETBEANS/git%3A+squash+and+merge)? 3. [ ] Are author name / email address correct? Are [co-authors](https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors#creating-co-authored-commits-on-the-command-line) correctly listed? Do the commit messages need updates? 3. [ ] Does the PR title and description still fit after the Nth iteration? Is the description sufficient to appear in the release notes? If this PR targets the delivery branch: [don't merge](https://cwiki.apache.org/confluence/display/NETBEANS/Pull+requests+for+delivery). ([full wiki article](https://cwiki.apache.org/confluence/display/NETBEANS/PRs+and+You+-+A+reviewer+Guide)) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
