From 63cb210eb5bf2e7222d8b47c0ade083b275cfca2 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sat, 9 Jun 2018 16:18:46 +0200 Subject: [PATCH] Harden IDE I observed crashes when trying to compute the docstring of trees that did not have a position. It happened for edited code with lots of syntax errors. --- .../src/dotty/tools/languageserver/DottyLanguageServer.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/language-server/src/dotty/tools/languageserver/DottyLanguageServer.scala b/language-server/src/dotty/tools/languageserver/DottyLanguageServer.scala index 2e83cce02c46..e1f99c25b29a 100644 --- a/language-server/src/dotty/tools/languageserver/DottyLanguageServer.scala +++ b/language-server/src/dotty/tools/languageserver/DottyLanguageServer.scala @@ -328,7 +328,9 @@ class DottyLanguageServer extends LanguageServer if (sym == NoSymbol) Nil.asJava else { val refs = Interactive.namedTrees(uriTrees, Include.references | Include.overriding, sym) - refs.map(ref => new DocumentHighlight(range(ref.namePos), DocumentHighlightKind.Read)).asJava + ( for (ref <- refs if ref.namePos.exists) + yield new DocumentHighlight(range(ref.namePos), DocumentHighlightKind.Read) + ).asJava } }