Disassembled *.class
opened instead of *.java
when folder with name of class exists in sources JAR
#5738
Labels
Java
[ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form)
kind:bug
Bug report or fix
Regression
This used to work!
Milestone
Apache NetBeans version
Apache NetBeans 17
What happened
When you have a Maven sources JAR present in the local repository, confirmed by
SourceForBinaryQuery
viaapisupport.projectinspector
¹, then visiting a type or member in the classpath should open the editor on a read-only source file. In NB 16 this used to work consistently. In 17 it sometimes works, but sometimes you get the disassembled bytecode instead. I am still working out the precise conditions for the bug, since it happens on some types in a single JAR file and not others.¹Sadly abandoned in
contrib
Hg rather than donated, AFAICT, but I still have a personal copy.How to reproduce
git clone https://github.com/jenkinsci/log-cli-plugin cd log-cli-plugin mvn -Pquick-build package dependency:sources
Now open this project in NB and wait for classpath scanning to complete. At https://github.com/jenkinsci/log-cli-plugin/blob/3d86457a9f2b19567d90542074224416a9ca474c/src/main/java/org/jenkinsci/plugins/log_cli/TailLogCommand.java#L55 place the caret on the call to
get
and press Ctrl-B to visit the definition.Expected: you should see https://github.com/jenkinsci/jenkins/blob/jenkins-2.361.4/core/src/main/java/jenkins/model/Jenkins.java#L810
Actual: you will see disassembled bytecode
Note that if on the same line of source you instead click on the next method call,
checkPermission
, you are correctly taken to https://github.com/jenkinsci/jenkins/blob/jenkins-2.361.4/core/src/main/java/hudson/security/AccessControlled.java#L48 from~/.m2/repository/org/jenkins-ci/main/jenkins-core/2.361.4/jenkins-core-2.361.4-sources.jar
.Did this work correctly in an earlier version?
Apache NetBeans 16
Operating System
Xubuntu 22.04.2
JDK
11.0.18; OpenJDK 64-Bit Server VM 11.0.18+10-post-Ubuntu-0ubuntu122.04; Ubuntu
Apache NetBeans packaging
Apache NetBeans Snap Package
Anything else
Using
git bisect
I was able to identify #5152 (@jtulach) as the cause of the regression. This does not appear to be a duplicate of #5266, which apparently involved a visible exception (no error is printed in this case) and which was allegedly fixed in NB 17 in #5279 (@matthiasblaesing).I hope to find time to study the bug and offer a PR, since this affects everyday usage of the IDE for me and is the one noticeable regression in NB 17.
Are you willing to submit a pull request?
Yes
The text was updated successfully, but these errors were encountered: