diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt index 8f3bff96457..4defdb5bcf3 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/SourceNavigator.kt @@ -34,7 +34,7 @@ interface SourceNavigator { fun FirTypeRef.isInTypeConstraint(): Boolean - fun KtSourceElement.getRawIdentifier(): String? + fun KtSourceElement.getRawIdentifier(): CharSequence? fun FirDeclaration.getRawName(): String? @@ -74,7 +74,7 @@ open class LightTreeSourceNavigator : SourceNavigator { ?.tokenType == KtNodeTypes.TYPE_CONSTRAINT } - override fun KtSourceElement.getRawIdentifier(): String? { + override fun KtSourceElement.getRawIdentifier(): CharSequence? { return when (elementType) { is KtNameReferenceExpressionElementType, KtTokens.IDENTIFIER -> lighterASTNode.toString() is KtTypeProjectionElementType -> lighterASTNode.getChildren(treeStructure).last().toString() @@ -111,14 +111,14 @@ object PsiSourceNavigator : LightTreeSourceNavigator() { override fun FirTypeRef.isInConstructorCallee(): Boolean = psi()?.parent is KtConstructorCalleeExpression - override fun KtSourceElement.getRawIdentifier(): String? { + override fun KtSourceElement.getRawIdentifier(): CharSequence? { val psi = psi() return if (psi is KtNameReferenceExpression) { - psi.getReferencedNameElement().node.text + psi.getReferencedNameElement().node.chars } else if (psi is KtTypeProjection) { psi.typeReference?.typeElement?.text } else if (psi is LeafPsiElement && psi.elementType == KtTokens.IDENTIFIER) { - psi.text + psi.chars } else { null }