Skip to content

Fixing completion for for-each construct without type. - #8762

Merged
lahodaj merged 1 commit into
apache:masterfrom
lahodaj:completion-for-each-without-type
Sep 2, 2025
Merged

lahodaj merged 1 commit into
apache:masterfrom
lahodaj:completion-for-each-without-type

Conversation

@lahodaj

@lahodaj lahodaj commented Aug 26, 2025

Copy link
Copy Markdown
Contributor

One of my pet peeves is this case with code completion:

Map<String, String> m = ...;
for (e : m.<code-completion-here>)

The CC does not work here - it will simply show nothing. The reason, as far as I can tell is that the end pos for the variable is wrong. lib.nbjavac tries to correct the position, but storeEnd won't let the position to be set before errorEndPos. The main proposal here is to force-set the "correct" end position.

There's also a small tweak in the CC to make the CC work for cases where there is an undefined type like:

List<Undefined> l = ...;
for (Object o : <"l" should be a smart type here, probably?>)

^Add meaningful description above

Click to collapse/expand PR instructions

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, did the right tests run? When did they run?
  2. Is this PR squashed?
  3. Are author name / email address correct? Are co-authors correctly listed? Do the commit messages need updates?
  4. 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. (full wiki article)

@lahodaj lahodaj added this to the NB28 milestone Aug 26, 2025
@lahodaj
lahodaj requested a review from dbalek August 26, 2025 06:57
@lahodaj lahodaj added the Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) label Aug 26, 2025

@dbalek dbalek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine.

@mbien mbien left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome! (don't forget to squash)

@lahodaj
lahodaj force-pushed the completion-for-each-without-type branch from 68075ab to ce0da80 Compare September 2, 2025 05:04
@lahodaj
lahodaj merged commit 304cbec into apache:master Sep 2, 2025
137 of 140 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants