Must ensure javac is initialized before attempting any lookups. #1573
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
tzezula reported that the Navigate/Go to Symbol feature does not work properly for Java:
-the entries in the list are missing the icon
-pressing Enter does not jump to the actual entry
I believe the reason is that ElementUtils.getTypeElementByBinaryName is called on an javac instance, that is not sufficiently initialized (since JDK 9, javac must be initialized a little bit more that before to work). This is particularly problem since this feature uses the javac internal directly. The proposed patch is to force the proper initialization. There are multiple ways to do that, but JavacTask.getElements().getTypeElement("java.lang.Object") feels like the cleanest. (Alternative would be "jt.ensureEntered()", but that is yet another call to an javac internal method, while getTypeElement is public.)