Skip to content

Feature/netbeans 8230 reference count hints#9366

Open
harshaindunil wants to merge 4 commits intoapache:masterfrom
harshaindunil:feature/netbeans-8230-reference-count-hints
Open

Feature/netbeans 8230 reference count hints#9366
harshaindunil wants to merge 4 commits intoapache:masterfrom
harshaindunil:feature/netbeans-8230-reference-count-hints

Conversation

@harshaindunil
Copy link
Copy Markdown

Summary

Implements a Java-editor-only reference count hint feature for methods and named types.

The editor shows an above-line reference count, opens a lightweight popup on click, and still allows opening the existing full Find Usages UI.

This is the initial Swing Java editor integration only. It does not attempt LSP or non-Java editor support.

Fixes #8230.

Main changes

  • add Java reference count hint computation and publishing in java.editor
  • add above-line block hint rendering support in editor.lib2
  • add a completion-style usages popup from the hint click action
  • reuse Java Where Used / Find Usages semantics for counts and navigation
  • add Java inline-hints options for enabling reference counts
  • add tests around direct reference counting and TreePathHandle resolution fallback

Performance / behavior notes

  • counts are computed in background tasks
  • counts are limited to visible declarations and refreshed as the viewport changes
  • cached values are reused instead of clearing the full file on every index event
  • existing hints remain visible while recomputation is deferred during scanning
  • split editors for the same document are handled correctly

Validation

Manual validation in the built IDE:

  • Java editor rendering of above-line hints
  • click opens the reference popup
  • popup can open full Find Usages
  • dark theme rendering
  • split editor behavior
  • scrolling / viewport refresh behavior
  • indexing refresh behavior

I also rebuilt the affected modules and the IDE image during development.

Follow-up scope intentionally excluded

  • LSP / generic editor integration
  • non-Java languages
  • an alternative lazy, non-inline usage action mode

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CodeLens-style Reference Count in NetBeans Java Editor

1 participant