mirror of
https://github.com/l0ng-ai/openidea.git
synced 2026-11-13 04:34:21 -10:00
A SNAPSHOT installed again replaces its jar in place, so the path, the URIs of its classes and jdtls' class handles stay the same. The compile model picked up the new jar on reload, but an open decompiled class kept the old contents, and reopening it did too: the backend's virtual document cache, the editor's cache and jdtls' decompiler cache (keyed by class handle) all still held what was read from the old jar. The backend now records the archive's modification time with each cached library class and reads the class again once it changed. After a build tool sync it asks jdtls to refresh external archives, close the changed archives' package fragment roots and drop its decompiled sources (openidea.java.refreshArchives), then replaces the open classes whose jar changed. The editor drops its cached virtual documents when project roots change. Covers jar: and jdt: classes, decompiled or read from the archive.
29 lines
1.3 KiB
XML
29 lines
1.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<plugin>
|
|
<extension point="org.eclipse.jdt.ls.core.delegateCommandHandler">
|
|
<delegateCommandHandler class="ai.openidea.usages.CoveredFilesCommand">
|
|
<command id="openidea.workspace.coveredFiles"/>
|
|
</delegateCommandHandler>
|
|
<delegateCommandHandler class="ai.openidea.usages.CoveredRootsCommand">
|
|
<command id="openidea.workspace.coveredRoots"/>
|
|
</delegateCommandHandler>
|
|
<delegateCommandHandler class="ai.openidea.usages.UsagesCommand">
|
|
<command id="openidea.java.usages"/>
|
|
</delegateCommandHandler>
|
|
<delegateCommandHandler class="ai.openidea.configuration.ConfigurationCommand">
|
|
<command id="openidea.java.configuration"/>
|
|
<command id="openidea.java.configuration.warmup"/>
|
|
</delegateCommandHandler>
|
|
<delegateCommandHandler class="ai.openidea.implementations.ImplementationsCommand">
|
|
<command id="openidea.java.implementations"/>
|
|
</delegateCommandHandler>
|
|
<delegateCommandHandler class="ai.openidea.archives.RefreshArchivesCommand">
|
|
<command id="openidea.java.refreshArchives"/>
|
|
</delegateCommandHandler>
|
|
<delegateCommandHandler class="ai.openidea.hierarchy.HierarchyCommand">
|
|
<command id="openidea.java.hierarchy.members"/>
|
|
<command id="openidea.java.hierarchy.refactor"/>
|
|
</delegateCommandHandler>
|
|
</extension>
|
|
</plugin>
|