diff --git a/src/main/java/software/amazon/smithy/lsp/SmithyLanguageServer.java b/src/main/java/software/amazon/smithy/lsp/SmithyLanguageServer.java index b4dfc23..78be787 100644 --- a/src/main/java/software/amazon/smithy/lsp/SmithyLanguageServer.java +++ b/src/main/java/software/amazon/smithy/lsp/SmithyLanguageServer.java @@ -637,6 +637,10 @@ public CompletableFuture resolveCompletionItem(CompletionItem un break; } String symbolName = documentShape.shapeName().toString(); + if (symbolName.isEmpty()) { + LOGGER.warning("[DocumentSymbols] Empty shape name for " + documentShape); + continue; + } Range symbolRange = documentShape.range(); DocumentSymbol symbol = new DocumentSymbol(symbolName, symbolKind, symbolRange, symbolRange); documentSymbols.add(Either.forRight(symbol)); diff --git a/src/main/java/software/amazon/smithy/lsp/document/DocumentShape.java b/src/main/java/software/amazon/smithy/lsp/document/DocumentShape.java index 0913b92..21d642e 100644 --- a/src/main/java/software/amazon/smithy/lsp/document/DocumentShape.java +++ b/src/main/java/software/amazon/smithy/lsp/document/DocumentShape.java @@ -65,6 +65,16 @@ public int hashCode() { return Objects.hash(range, shapeName, kind); } + @Override + public String toString() { + return "DocumentShape{" + + "range=" + range + + ", shapeName=" + shapeName + + ", kind=" + kind + + ", targetReference=" + targetReference + + '}'; + } + public enum Kind { DefinedShape, DefinedMember,