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

Reply via email to