Skip to content

Commit ca55e42

Browse files
committed
Fix ranged semantic tokens
1 parent a5d185a commit ca55e42

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

server/src/main/kotlin/org/javacs/kt/semantictokens/SemanticTokens.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.psi.KtParameter
2424
import org.jetbrains.kotlin.resolve.BindingContext
2525
import com.intellij.psi.PsiElement
2626
import com.intellij.psi.PsiNameIdentifierOwner
27+
import com.intellij.openapi.util.TextRange
2728

2829
private enum class SemanticTokenType(val typeName: String) {
2930
KEYWORD(SemanticTokenTypes.Keyword),
@@ -91,9 +92,9 @@ private fun encodeModifiers(modifiers: Set<SemanticTokenModifier>): Int = modifi
9192

9293
private fun elementTokens(element: PsiElement, bindingContext: BindingContext, range: Range? = null): Sequence<SemanticToken> {
9394
val file = element.containingFile
94-
val offsets = range?.let { Pair(offset(file.text, it.start), offset(file.text, it.end)) }
95+
val textRange = range?.let { TextRange(offset(file.text, it.start), offset(file.text, it.end)) }
9596
return element
96-
.preOrderTraversal { offsets?.let { element.textRange.containsRange(it.first, it.second) } ?: true }
97+
.preOrderTraversal { elem -> textRange?.let { it.contains(elem.textRange) } ?: true }
9798
.mapNotNull { elementToken(it, bindingContext) }
9899
}
99100

0 commit comments

Comments
 (0)