vscode-java icon indicating copy to clipboard operation
vscode-java copied to clipboard

call hierarchy does not find callers (but it should)

Open clembo590 opened this issue 4 years ago • 2 comments

Environment
  • Operating System: macos 12.0.1
  • JDK version: 11
  • Visual Studio Code version: 1.62.2
  • Java extension version: java extension pack v0.18.6
Steps To Reproduce

I have created a public repo so that the issue is easily reproducible:

step1: clone this repo:

git clone https://github.com/clembo590/issues.git --branch vscode-java/issues/2219

step2: run mvn clean install

step 3: "import the project in vscode" open MyCustomizer.java and select the method called customize make a right click and select Show call hierarchy Vscode should (and do) find a method (see screenshot)

Screenshot 2021-11-17 at 14 23 36

step 4: open pom.xml and uncomment the dependency: Screenshot 2021-11-17 at 14 34 06

step 5: open MyCustomizer.java and select the method called customize make a right click and select Show call hierarchy --> VSCODE does not find any calls to this method: that is an error! vscode should find the same call hierarchy as on step 3 (IntelliJ shows correctly the call hierarchy)

clembo590 avatar Nov 17 '21 14:11 clembo590

Hello.... Anyone working on this ?

clembo590 avatar Jul 15 '22 14:07 clembo590

Thanks for the example. I'm able to reproduce this with VS Code and with Eclipse as well, so could be an issue with JDT. Likely an upstream issue.

I tried a simple example to confirm that calling some interface's method, should result in all implementations showing the implemented method as having been referenced once (or have an entry pointing to the usage in the call hierarchy).

rgrunber avatar Jul 18 '22 23:07 rgrunber

@rgrunber any update on solving this issue ?

clembo590 avatar Jan 11 '23 11:01 clembo590

The guava library includes the $EnumUtils class that breaks the Call Hierrachy action. The class contains a reference to a potential customize method. I have created https://github.com/eclipse-jdt/eclipse.jdt.core/issues/670 A workaround:

  • add guava to the root pom directly

snjeza avatar Jan 30 '23 19:01 snjeza