@@ -12,9 +12,9 @@ import org.eclipse.lsp4j.WorkspaceSymbolLocation
1212import org.eclipse.lsp4j.jsonrpc.messages.Either
1313import org.javacs.kt.SourcePath
1414import org.javacs.kt.position.range
15+ import org.javacs.kt.position.toURIString
1516import org.javacs.kt.util.containsCharactersInOrder
1617import org.javacs.kt.util.preOrderTraversal
17- import org.javacs.kt.util.toPath
1818import org.jetbrains.kotlin.psi.*
1919import org.jetbrains.kotlin.psi.psiUtil.parents
2020
@@ -82,20 +82,22 @@ private fun symbolKind(d: KtNamedDeclaration): SymbolKind =
8282 else -> throw IllegalArgumentException (" Unexpected symbol $d " )
8383 }
8484
85- private fun location (d : KtNamedDeclaration ): Location ? {
86- val uri = d.containingFile.toPath().toUri().toString()
87- val (content, textRange) = try { d.containingFile?.text to d.nameIdentifier?.textRange } catch (e: Exception ) { null to null }
88- return if (content != null && textRange != null ) {
89- Location (uri, range(content, textRange))
90- } else {
85+ private fun location (d : KtNamedDeclaration ): Location ? =
86+ try {
87+ val content = d.containingFile?.text
88+ val locationInContent = (d.nameIdentifier?.textRange ? : d.textRange)
89+ if (content != null && locationInContent != null ) {
90+ Location (d.containingFile.toURIString(), range(content, locationInContent))
91+ } else {
92+ null
93+ }
94+ } catch (e: Exception ) {
9195 null
9296 }
93- }
9497
95- private fun workspaceSymbolLocation (d : KtNamedDeclaration ): WorkspaceSymbolLocation {
96- val uri = d.containingFile.toPath().toUri().toString()
97- return WorkspaceSymbolLocation (uri)
98- }
98+
99+ private fun workspaceSymbolLocation (d : KtNamedDeclaration ): WorkspaceSymbolLocation =
100+ WorkspaceSymbolLocation (d.containingFile.toURIString())
99101
100102private fun symbolContainer (d : KtNamedDeclaration ): String? =
101103 d.parents
0 commit comments