Skip to content

Commit c36d4bb

Browse files
committed
Move TypeHierarchy to LSP
Signed-off-by: Shi Chen <[email protected]>
1 parent c09f85f commit c36d4bb

File tree

15 files changed

+472
-1285
lines changed

15 files changed

+472
-1285
lines changed

org.eclipse.jdt.ls.core/META-INF/MANIFEST.MF

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ Export-Package: org.eclipse.jdt.ls.core.contentassist;x-friends:="org.eclipse.jd
5858
org.eclipse.jdt.ls.core.internal.syntaxserver;x-friends:="org.eclipse.jdt.ls.tests.syntaxserver",
5959
org.eclipse.jdt.ls.core.internal.text.correction;x-friends:="org.eclipse.jdt.ls.tests",
6060
org.eclipse.jdt.ls.internal.gradle.checksums;x-friends:="org.eclipse.jdt.ls.tests",
61-
org.eclipse.lsp4j.extended;x-friends:="org.eclipse.jdt.ls.tests",
62-
org.eclipse.lsp4j.legacy.typeHierarchy;x-friends:="org.eclipse.jdt.ls.tests"
61+
org.eclipse.lsp4j.extended;x-friends:="org.eclipse.jdt.ls.tests"
6362
Bundle-ClassPath: lib/jsoup-1.14.2.jar,
6463
lib/remark-1.2.0.jar,
6564
.

org.eclipse.jdt.ls.core/plugin.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,6 @@
9797
<command
9898
id="java.project.resolveStackTraceLocation">
9999
</command>
100-
<command
101-
id="java.navigate.openTypeHierarchy">
102-
</command>
103-
<command
104-
id="java.navigate.resolveTypeHierarchy">
105-
</command>
106100
<command
107101
id="java.project.upgradeGradle">
108102
</command>

org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/JDTDelegateCommandHandler.java

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.eclipse.jdt.ls.core.internal.commands.ProjectCommand;
3232
import org.eclipse.jdt.ls.core.internal.commands.ProjectCommand.ClasspathOptions;
3333
import org.eclipse.jdt.ls.core.internal.commands.SourceAttachmentCommand;
34-
import org.eclipse.jdt.ls.core.internal.commands.TypeHierarchyCommand;
3534
import org.eclipse.jdt.ls.core.internal.framework.protobuf.ProtobufSupport;
3635
import org.eclipse.jdt.ls.core.internal.handlers.BundleUtils;
3736
import org.eclipse.jdt.ls.core.internal.handlers.CompletionHandler;
@@ -42,12 +41,7 @@
4241
import org.eclipse.jdt.ls.core.internal.handlers.ResolveSourceMappingHandler;
4342
import org.eclipse.jdt.ls.core.internal.managers.GradleProjectImporter;
4443
import org.eclipse.lsp4j.SymbolInformation;
45-
import org.eclipse.lsp4j.TextDocumentPositionParams;
4644
import org.eclipse.lsp4j.WorkspaceEdit;
47-
import org.eclipse.lsp4j.legacy.typeHierarchy.ResolveTypeHierarchyItemParams;
48-
import org.eclipse.lsp4j.legacy.typeHierarchy.TypeHierarchyDirection;
49-
import org.eclipse.lsp4j.legacy.typeHierarchy.TypeHierarchyItem;
50-
import org.eclipse.lsp4j.legacy.typeHierarchy.TypeHierarchyParams;
5145

5246
public class JDTDelegateCommandHandler implements IDelegateCommandHandler {
5347

@@ -108,29 +102,6 @@ public Object executeCommand(String commandId, List<Object> arguments, IProgress
108102
projectNames = (ArrayList<String>) arguments.get(1);
109103
}
110104
return ResolveSourceMappingHandler.resolveStackTraceLocation((String) arguments.get(0), projectNames);
111-
case "java.navigate.resolveTypeHierarchy":
112-
TypeHierarchyCommand resolveTypeHierarchyCommand = new TypeHierarchyCommand();
113-
TypeHierarchyItem toResolve = JSONUtility.toModel(arguments.get(0), TypeHierarchyItem.class);
114-
TypeHierarchyDirection resolveDirection = TypeHierarchyDirection.forValue(JSONUtility.toModel(arguments.get(1), Integer.class));
115-
int resolveDepth = JSONUtility.toModel(arguments.get(2), Integer.class);
116-
ResolveTypeHierarchyItemParams resolveParams = new ResolveTypeHierarchyItemParams();
117-
resolveParams.setItem(toResolve);
118-
resolveParams.setDirection(resolveDirection);
119-
resolveParams.setResolve(resolveDepth);
120-
TypeHierarchyItem resolvedItem = resolveTypeHierarchyCommand.resolveTypeHierarchy(resolveParams, monitor);
121-
return resolvedItem;
122-
case "java.navigate.openTypeHierarchy":
123-
TypeHierarchyCommand typeHierarchyCommand = new TypeHierarchyCommand();
124-
TypeHierarchyParams params = new TypeHierarchyParams();
125-
TextDocumentPositionParams textParams = JSONUtility.toModel(arguments.get(0), TextDocumentPositionParams.class);
126-
TypeHierarchyDirection direction = TypeHierarchyDirection.forValue(JSONUtility.toModel(arguments.get(1), Integer.class));
127-
int resolve = JSONUtility.toModel(arguments.get(2), Integer.class);
128-
params.setResolve(resolve);
129-
params.setDirection(direction);
130-
params.setTextDocument(textParams.getTextDocument());
131-
params.setPosition(textParams.getPosition());
132-
TypeHierarchyItem typeHierarchyItem = typeHierarchyCommand.typeHierarchy(params, monitor);
133-
return typeHierarchyItem;
134105
case "java.project.upgradeGradle":
135106
String projectUri = (String) arguments.get(0);
136107
String gradleVersion = arguments.size() > 1 ? (String) arguments.get(1) : null;

org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/commands/TypeHierarchyCommand.java

Lines changed: 0 additions & 279 deletions
This file was deleted.

org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/InitHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ public void registerCapabilities(InitializeResult initializeResult) {
213213
semanticTokensOptions.setDocumentSelector(List.of(new DocumentFilter("java", "file", null), new DocumentFilter("java", "jdt", null)));
214214
semanticTokensOptions.setLegend(SemanticTokensHandler.legend());
215215
capabilities.setSemanticTokensProvider(semanticTokensOptions);
216+
capabilities.setTypeHierarchyProvider(Boolean.TRUE);
216217

217218
initializeResult.setCapabilities(capabilities);
218219
}

0 commit comments

Comments
 (0)