[FIR] Implement RESOLVED_TO_UNDERSCORE_NAMED_CATCH_PARAMETER

Split underscore checkers
This commit is contained in:
Ivan Kochurkin
2021-07-23 15:49:20 +03:00
committed by Space
parent 10d9988824
commit 8bfaa39a5c
15 changed files with 297 additions and 194 deletions
@@ -838,12 +838,17 @@ object PositioningStrategies {
}
val NAME_IDENTIFIER: PositioningStrategy<PsiElement> = object : PositioningStrategy<PsiElement>() {
private fun KtTypeElement.getReferencedTypeExpression(): KtElement? {
return when (this) {
is KtUserType -> referenceExpression
is KtNullableType -> innerType?.getReferencedTypeExpression()
is KtDefinitelyNotNullType -> innerType?.getReferencedTypeExpression()
else -> null
override fun mark(element: PsiElement): List<TextRange> {
if (element is PsiNameIdentifierOwner) {
val nameIdentifier = element.nameIdentifier
if (nameIdentifier != null) {
return super.mark(nameIdentifier)
}
} else if (element is KtLabelReferenceExpression) {
return super.mark(element.getReferencedNameElement())
}
return DEFAULT.mark(element)
}
}