From 737c406ef809827d0d632e37c530baadf51fe323 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Mon, 13 May 2019 14:11:07 +0200 Subject: [PATCH] GH-317: Adjusted the `textDocument/callHierarchy` to the spec. Closes #317. Signed-off-by: Akos Kitta --- .../java/org/eclipse/lsp4j/Protocol.xtend | 66 ++------ .../lsp4j/services/TextDocumentService.java | 34 +--- .../org/eclipse/lsp4j/CallHierarchyCall.java | 149 ++++++++++++++++++ .../lsp4j/CallHierarchyCapabilities.java | 5 - .../eclipse/lsp4j/CallHierarchyParams.java | 38 ++--- ...rchyItem.java => CallHierarchySymbol.java} | 137 +--------------- .../lsp4j/ResolveCallHierarchyItemParams.java | 141 ----------------- .../org/eclipse/lsp4j/ServerCapabilities.java | 15 -- 8 files changed, 182 insertions(+), 403 deletions(-) create mode 100644 org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCall.java rename org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/{CallHierarchyItem.java => CallHierarchySymbol.java} (61%) delete mode 100644 org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ResolveCallHierarchyItemParams.java diff --git a/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/Protocol.xtend b/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/Protocol.xtend index 3721d3cc..a14157c7 100644 --- a/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/Protocol.xtend +++ b/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/Protocol.xtend @@ -893,11 +893,6 @@ class TypeHierarchyCapabilities extends DynamicRegistrationCapabilities { /** * Capabilities specific to the {@code textDocument/callHierarchy}. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. */ @Beta @JsonRpcData @@ -3048,11 +3043,6 @@ class ServerCapabilities { /** * The server provides Call Hierarchy support. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. */ @Beta Either callHierarchyProvider @@ -4809,47 +4799,44 @@ class SemanticHighlightingInformation { } /** - * The parameters of a {@code textDocument/callHierarchy} request. + * Returns a collection of calls from one symbol to another. */ @Beta @JsonRpcData class CallHierarchyParams extends TextDocumentPositionParams { - /** - * The number of levels to resolve. - */ - int resolve - /** * The direction of calls to resolve. */ + @NonNull CallHierarchyDirection direction - + } /** - * The parameters of a {@code callHierarchy/resolve} request. + * Each {@code CallHierarchyCall} object defines a call from one {@code CallHierarchySymbol} to another. */ @Beta @JsonRpcData -class ResolveCallHierarchyItemParams { +class CallHierarchyCall { /** - * Unresolved item. + * The source range of the reference. The range is a sub range of the {@link CallHierarchyCall#getFrom from} symbol range. */ @NonNull - CallHierarchyItem item + Range range /** - * The number of levels to resolve. + * The symbol that contains the reference. */ - int resolve + @NonNull + CallHierarchySymbol from /** - * The direction of calls to resolve. + * The symbol that is referenced. */ @NonNull - CallHierarchyDirection direction + CallHierarchySymbol to } @@ -4858,7 +4845,7 @@ class ResolveCallHierarchyItemParams { */ @Beta @JsonRpcData -class CallHierarchyItem { +class CallHierarchySymbol { /** * The name of the symbol targeted by the call hierarchy request. @@ -4883,11 +4870,6 @@ class CallHierarchyItem { @NonNull String uri - /** - * {@code true} if the hierarchy item is deprecated. Otherwise, {@code false}. It is {@code false} by default. - */ - Boolean deprecated - /** * The range enclosing this symbol not including leading/trailing whitespace but everything else * like comments. This information is typically used to determine if the the clients cursor is @@ -4898,29 +4880,9 @@ class CallHierarchyItem { /** * The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. - * Must be contained by the the {@code range}. + * Must be contained by the the {@link CallHierarchySymbol#getRange range}. */ @NonNull Range selectionRange - /** - * The actual locations of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: undefined in root item. - */ - List callLocations - - /** - * List of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: if undefined, this item is unresolved. - */ - List calls - - /** - * Optional data to identify an item in a resolve request. - */ - @JsonAdapter(JsonElementTypeAdapter.Factory) - Object data - } \ No newline at end of file diff --git a/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/services/TextDocumentService.java b/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/services/TextDocumentService.java index 1e71955c..74e6fb52 100644 --- a/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/services/TextDocumentService.java +++ b/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/services/TextDocumentService.java @@ -14,8 +14,8 @@ import java.util.List; import java.util.concurrent.CompletableFuture; -import org.eclipse.lsp4j.CallHierarchyItem; import org.eclipse.lsp4j.CallHierarchyParams; +import org.eclipse.lsp4j.CallHierarchySymbol; import org.eclipse.lsp4j.CodeAction; import org.eclipse.lsp4j.CodeActionParams; import org.eclipse.lsp4j.CodeLens; @@ -50,7 +50,6 @@ import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.ReferenceParams; import org.eclipse.lsp4j.RenameParams; -import org.eclipse.lsp4j.ResolveCallHierarchyItemParams; import org.eclipse.lsp4j.ResolveTypeHierarchyItemParams; import org.eclipse.lsp4j.SignatureHelp; import org.eclipse.lsp4j.SymbolInformation; @@ -467,37 +466,12 @@ default CompletableFuture resolveTypeHierarchy(ResolveTypeHie } /** - * Request to request the call hierarchy at a given text document position. - * - * The optional request's parameter defines the maximum number of levels to - * {@link CallHierarchyParams#getResolve() resolve} by this request. Unresolved - * items can be resolved in subsequent {@code callHierarchy/resolve} requests. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. + * The {@code textDocument/callHierarchy} request is sent from the client to the server to request + * the call hierarchy for a symbol defined (or referenced) at the given text document position. */ @Beta @JsonRequest - default CompletableFuture callHierarchy(CallHierarchyParams params) { - throw new UnsupportedOperationException(); - } - - /** - * Request to resolve a call hierarchy item. - * - * The request's parameter is of type {@link ResolveCallHierarchyItemParams}. - * The response is of type {@link CallHierarchyItem}. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. - */ - @Beta - @JsonRequest(value = "callHierarchy/resolve", useSegment = false) - default CompletableFuture resolveCallHierarchy(ResolveCallHierarchyItemParams params) { + default CompletableFuture callHierarchy(CallHierarchyParams params) { throw new UnsupportedOperationException(); } diff --git a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCall.java b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCall.java new file mode 100644 index 00000000..f8633461 --- /dev/null +++ b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCall.java @@ -0,0 +1,149 @@ +/** + * Copyright (c) 2016-2018 TypeFox and others. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0, + * or the Eclipse Distribution License v. 1.0 which is available at + * http://www.eclipse.org/org/documents/edl-v10.php. + * + * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause + */ +package org.eclipse.lsp4j; + +import com.google.common.annotations.Beta; +import org.eclipse.lsp4j.CallHierarchySymbol; +import org.eclipse.lsp4j.Range; +import org.eclipse.lsp4j.jsonrpc.validation.NonNull; +import org.eclipse.xtext.xbase.lib.Pure; +import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; + +/** + * Each {@code CallHierarchyCall} object defines a call from one {@code CallHierarchySymbol} to another. + */ +@Beta +@SuppressWarnings("all") +public class CallHierarchyCall { + /** + * The source range of the reference. The range is a sub range of the {@link CallHierarchyCall#getFrom from} symbol range. + */ + @NonNull + private Range range; + + /** + * The symbol that contains the reference. + */ + @NonNull + private CallHierarchySymbol from; + + /** + * The symbol that is referenced. + */ + @NonNull + private CallHierarchySymbol to; + + /** + * The source range of the reference. The range is a sub range of the {@link CallHierarchyCall#getFrom from} symbol range. + */ + @Pure + @NonNull + public Range getRange() { + return this.range; + } + + /** + * The source range of the reference. The range is a sub range of the {@link CallHierarchyCall#getFrom from} symbol range. + */ + public void setRange(@NonNull final Range range) { + if (range == null) { + throw new IllegalArgumentException("Property must not be null: range"); + } + this.range = range; + } + + /** + * The symbol that contains the reference. + */ + @Pure + @NonNull + public CallHierarchySymbol getFrom() { + return this.from; + } + + /** + * The symbol that contains the reference. + */ + public void setFrom(@NonNull final CallHierarchySymbol from) { + if (from == null) { + throw new IllegalArgumentException("Property must not be null: from"); + } + this.from = from; + } + + /** + * The symbol that is referenced. + */ + @Pure + @NonNull + public CallHierarchySymbol getTo() { + return this.to; + } + + /** + * The symbol that is referenced. + */ + public void setTo(@NonNull final CallHierarchySymbol to) { + if (to == null) { + throw new IllegalArgumentException("Property must not be null: to"); + } + this.to = to; + } + + @Override + @Pure + public String toString() { + ToStringBuilder b = new ToStringBuilder(this); + b.add("range", this.range); + b.add("from", this.from); + b.add("to", this.to); + return b.toString(); + } + + @Override + @Pure + public boolean equals(final Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CallHierarchyCall other = (CallHierarchyCall) obj; + if (this.range == null) { + if (other.range != null) + return false; + } else if (!this.range.equals(other.range)) + return false; + if (this.from == null) { + if (other.from != null) + return false; + } else if (!this.from.equals(other.from)) + return false; + if (this.to == null) { + if (other.to != null) + return false; + } else if (!this.to.equals(other.to)) + return false; + return true; + } + + @Override + @Pure + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((this.range== null) ? 0 : this.range.hashCode()); + result = prime * result + ((this.from== null) ? 0 : this.from.hashCode()); + return prime * result + ((this.to== null) ? 0 : this.to.hashCode()); + } +} diff --git a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCapabilities.java b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCapabilities.java index 22636607..937555de 100644 --- a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCapabilities.java +++ b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyCapabilities.java @@ -18,11 +18,6 @@ /** * Capabilities specific to the {@code textDocument/callHierarchy}. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. */ @Beta @SuppressWarnings("all") diff --git a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyParams.java b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyParams.java index d1433caa..4f50a591 100644 --- a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyParams.java +++ b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyParams.java @@ -14,44 +14,27 @@ import com.google.common.annotations.Beta; import org.eclipse.lsp4j.CallHierarchyDirection; import org.eclipse.lsp4j.TextDocumentPositionParams; +import org.eclipse.lsp4j.jsonrpc.validation.NonNull; import org.eclipse.xtext.xbase.lib.Pure; import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; /** - * The parameters of a {@code textDocument/callHierarchy} request. + * Returns a collection of calls from one symbol to another. */ @Beta @SuppressWarnings("all") public class CallHierarchyParams extends TextDocumentPositionParams { - /** - * The number of levels to resolve. - */ - private int resolve; - /** * The direction of calls to resolve. */ + @NonNull private CallHierarchyDirection direction; - /** - * The number of levels to resolve. - */ - @Pure - public int getResolve() { - return this.resolve; - } - - /** - * The number of levels to resolve. - */ - public void setResolve(final int resolve) { - this.resolve = resolve; - } - /** * The direction of calls to resolve. */ @Pure + @NonNull public CallHierarchyDirection getDirection() { return this.direction; } @@ -59,7 +42,10 @@ public CallHierarchyDirection getDirection() { /** * The direction of calls to resolve. */ - public void setDirection(final CallHierarchyDirection direction) { + public void setDirection(@NonNull final CallHierarchyDirection direction) { + if (direction == null) { + throw new IllegalArgumentException("Property must not be null: direction"); + } this.direction = direction; } @@ -67,7 +53,6 @@ public void setDirection(final CallHierarchyDirection direction) { @Pure public String toString() { ToStringBuilder b = new ToStringBuilder(this); - b.add("resolve", this.resolve); b.add("direction", this.direction); b.add("textDocument", getTextDocument()); b.add("uri", getUri()); @@ -87,8 +72,6 @@ public boolean equals(final Object obj) { if (!super.equals(obj)) return false; CallHierarchyParams other = (CallHierarchyParams) obj; - if (other.resolve != this.resolve) - return false; if (this.direction == null) { if (other.direction != null) return false; @@ -100,9 +83,6 @@ public boolean equals(final Object obj) { @Override @Pure public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + this.resolve; - return prime * result + ((this.direction== null) ? 0 : this.direction.hashCode()); + return 31 * super.hashCode() + ((this.direction== null) ? 0 : this.direction.hashCode()); } } diff --git a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyItem.java b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchySymbol.java similarity index 61% rename from org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyItem.java rename to org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchySymbol.java index 544740ee..0e5a6c8b 100644 --- a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchyItem.java +++ b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/CallHierarchySymbol.java @@ -12,12 +12,8 @@ package org.eclipse.lsp4j; import com.google.common.annotations.Beta; -import com.google.gson.annotations.JsonAdapter; -import java.util.List; -import org.eclipse.lsp4j.Location; import org.eclipse.lsp4j.Range; import org.eclipse.lsp4j.SymbolKind; -import org.eclipse.lsp4j.jsonrpc.json.adapters.JsonElementTypeAdapter; import org.eclipse.lsp4j.jsonrpc.validation.NonNull; import org.eclipse.xtext.xbase.lib.Pure; import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; @@ -27,7 +23,7 @@ */ @Beta @SuppressWarnings("all") -public class CallHierarchyItem { +public class CallHierarchySymbol { /** * The name of the symbol targeted by the call hierarchy request. */ @@ -51,11 +47,6 @@ public class CallHierarchyItem { @NonNull private String uri; - /** - * {@code true} if the hierarchy item is deprecated. Otherwise, {@code false}. It is {@code false} by default. - */ - private Boolean deprecated; - /** * The range enclosing this symbol not including leading/trailing whitespace but everything else * like comments. This information is typically used to determine if the the clients cursor is @@ -66,31 +57,11 @@ public class CallHierarchyItem { /** * The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. - * Must be contained by the the {@code range}. + * Must be contained by the the {@link CallHierarchySymbol#getRange range}. */ @NonNull private Range selectionRange; - /** - * The actual locations of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: undefined in root item. - */ - private List callLocations; - - /** - * List of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: if undefined, this item is unresolved. - */ - private List calls; - - /** - * Optional data to identify an item in a resolve request. - */ - @JsonAdapter(JsonElementTypeAdapter.Factory.class) - private Object data; - /** * The name of the symbol targeted by the call hierarchy request. */ @@ -163,21 +134,6 @@ public void setUri(@NonNull final String uri) { this.uri = uri; } - /** - * {@code true} if the hierarchy item is deprecated. Otherwise, {@code false}. It is {@code false} by default. - */ - @Pure - public Boolean getDeprecated() { - return this.deprecated; - } - - /** - * {@code true} if the hierarchy item is deprecated. Otherwise, {@code false}. It is {@code false} by default. - */ - public void setDeprecated(final Boolean deprecated) { - this.deprecated = deprecated; - } - /** * The range enclosing this symbol not including leading/trailing whitespace but everything else * like comments. This information is typically used to determine if the the clients cursor is @@ -203,7 +159,7 @@ public void setRange(@NonNull final Range range) { /** * The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. - * Must be contained by the the {@code range}. + * Must be contained by the the {@link CallHierarchySymbol#getRange range}. */ @Pure @NonNull @@ -213,7 +169,7 @@ public Range getSelectionRange() { /** * The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. - * Must be contained by the the {@code range}. + * Must be contained by the the {@link CallHierarchySymbol#getRange range}. */ public void setSelectionRange(@NonNull final Range selectionRange) { if (selectionRange == null) { @@ -222,59 +178,6 @@ public void setSelectionRange(@NonNull final Range selectionRange) { this.selectionRange = selectionRange; } - /** - * The actual locations of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: undefined in root item. - */ - @Pure - public List getCallLocations() { - return this.callLocations; - } - - /** - * The actual locations of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: undefined in root item. - */ - public void setCallLocations(final List callLocations) { - this.callLocations = callLocations; - } - - /** - * List of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: if undefined, this item is unresolved. - */ - @Pure - public List getCalls() { - return this.calls; - } - - /** - * List of incoming (or outgoing) calls to (or from) a callable identified by this item. - * - * Note: if undefined, this item is unresolved. - */ - public void setCalls(final List calls) { - this.calls = calls; - } - - /** - * Optional data to identify an item in a resolve request. - */ - @Pure - public Object getData() { - return this.data; - } - - /** - * Optional data to identify an item in a resolve request. - */ - public void setData(final Object data) { - this.data = data; - } - @Override @Pure public String toString() { @@ -283,12 +186,8 @@ public String toString() { b.add("detail", this.detail); b.add("kind", this.kind); b.add("uri", this.uri); - b.add("deprecated", this.deprecated); b.add("range", this.range); b.add("selectionRange", this.selectionRange); - b.add("callLocations", this.callLocations); - b.add("calls", this.calls); - b.add("data", this.data); return b.toString(); } @@ -301,7 +200,7 @@ public boolean equals(final Object obj) { return false; if (getClass() != obj.getClass()) return false; - CallHierarchyItem other = (CallHierarchyItem) obj; + CallHierarchySymbol other = (CallHierarchySymbol) obj; if (this.name == null) { if (other.name != null) return false; @@ -322,11 +221,6 @@ public boolean equals(final Object obj) { return false; } else if (!this.uri.equals(other.uri)) return false; - if (this.deprecated == null) { - if (other.deprecated != null) - return false; - } else if (!this.deprecated.equals(other.deprecated)) - return false; if (this.range == null) { if (other.range != null) return false; @@ -337,21 +231,6 @@ public boolean equals(final Object obj) { return false; } else if (!this.selectionRange.equals(other.selectionRange)) return false; - if (this.callLocations == null) { - if (other.callLocations != null) - return false; - } else if (!this.callLocations.equals(other.callLocations)) - return false; - if (this.calls == null) { - if (other.calls != null) - return false; - } else if (!this.calls.equals(other.calls)) - return false; - if (this.data == null) { - if (other.data != null) - return false; - } else if (!this.data.equals(other.data)) - return false; return true; } @@ -364,11 +243,7 @@ public int hashCode() { result = prime * result + ((this.detail== null) ? 0 : this.detail.hashCode()); result = prime * result + ((this.kind== null) ? 0 : this.kind.hashCode()); result = prime * result + ((this.uri== null) ? 0 : this.uri.hashCode()); - result = prime * result + ((this.deprecated== null) ? 0 : this.deprecated.hashCode()); result = prime * result + ((this.range== null) ? 0 : this.range.hashCode()); - result = prime * result + ((this.selectionRange== null) ? 0 : this.selectionRange.hashCode()); - result = prime * result + ((this.callLocations== null) ? 0 : this.callLocations.hashCode()); - result = prime * result + ((this.calls== null) ? 0 : this.calls.hashCode()); - return prime * result + ((this.data== null) ? 0 : this.data.hashCode()); + return prime * result + ((this.selectionRange== null) ? 0 : this.selectionRange.hashCode()); } } diff --git a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ResolveCallHierarchyItemParams.java b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ResolveCallHierarchyItemParams.java deleted file mode 100644 index 28f700fb..00000000 --- a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ResolveCallHierarchyItemParams.java +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Copyright (c) 2016-2018 TypeFox and others. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v. 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0, - * or the Eclipse Distribution License v. 1.0 which is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause - */ -package org.eclipse.lsp4j; - -import com.google.common.annotations.Beta; -import org.eclipse.lsp4j.CallHierarchyDirection; -import org.eclipse.lsp4j.CallHierarchyItem; -import org.eclipse.lsp4j.jsonrpc.validation.NonNull; -import org.eclipse.xtext.xbase.lib.Pure; -import org.eclipse.xtext.xbase.lib.util.ToStringBuilder; - -/** - * The parameters of a {@code callHierarchy/resolve} request. - */ -@Beta -@SuppressWarnings("all") -public class ResolveCallHierarchyItemParams { - /** - * Unresolved item. - */ - @NonNull - private CallHierarchyItem item; - - /** - * The number of levels to resolve. - */ - private int resolve; - - /** - * The direction of calls to resolve. - */ - @NonNull - private CallHierarchyDirection direction; - - /** - * Unresolved item. - */ - @Pure - @NonNull - public CallHierarchyItem getItem() { - return this.item; - } - - /** - * Unresolved item. - */ - public void setItem(@NonNull final CallHierarchyItem item) { - if (item == null) { - throw new IllegalArgumentException("Property must not be null: item"); - } - this.item = item; - } - - /** - * The number of levels to resolve. - */ - @Pure - public int getResolve() { - return this.resolve; - } - - /** - * The number of levels to resolve. - */ - public void setResolve(final int resolve) { - this.resolve = resolve; - } - - /** - * The direction of calls to resolve. - */ - @Pure - @NonNull - public CallHierarchyDirection getDirection() { - return this.direction; - } - - /** - * The direction of calls to resolve. - */ - public void setDirection(@NonNull final CallHierarchyDirection direction) { - if (direction == null) { - throw new IllegalArgumentException("Property must not be null: direction"); - } - this.direction = direction; - } - - @Override - @Pure - public String toString() { - ToStringBuilder b = new ToStringBuilder(this); - b.add("item", this.item); - b.add("resolve", this.resolve); - b.add("direction", this.direction); - return b.toString(); - } - - @Override - @Pure - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ResolveCallHierarchyItemParams other = (ResolveCallHierarchyItemParams) obj; - if (this.item == null) { - if (other.item != null) - return false; - } else if (!this.item.equals(other.item)) - return false; - if (other.resolve != this.resolve) - return false; - if (this.direction == null) { - if (other.direction != null) - return false; - } else if (!this.direction.equals(other.direction)) - return false; - return true; - } - - @Override - @Pure - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((this.item== null) ? 0 : this.item.hashCode()); - result = prime * result + this.resolve; - return prime * result + ((this.direction== null) ? 0 : this.direction.hashCode()); - } -} diff --git a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ServerCapabilities.java b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ServerCapabilities.java index 8f0d4d1d..5ec63a5c 100644 --- a/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ServerCapabilities.java +++ b/org.eclipse.lsp4j/src/main/xtend-gen/org/eclipse/lsp4j/ServerCapabilities.java @@ -176,11 +176,6 @@ public class ServerCapabilities { /** * The server provides Call Hierarchy support. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. */ @Beta private Either callHierarchyProvider; @@ -715,11 +710,6 @@ public void setTypeHierarchyProvider(final StaticRegistrationOptions typeHierarc /** * The server provides Call Hierarchy support. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. */ @Pure public Either getCallHierarchyProvider() { @@ -728,11 +718,6 @@ public Either getCallHierarchyProvider() { /** * The server provides Call Hierarchy support. - * - *

- * Note: the {@code textDocument/callHierarchy} - * language feature is not yet part of the official LSP specification. */ public void setCallHierarchyProvider(final Either callHierarchyProvider) { this.callHierarchyProvider = callHierarchyProvider;