FIR IDE: cleanup FirPositionCompletionContextDetector.detect

This commit is contained in:
Ilya Kirillov
2021-05-11 16:38:44 +02:00
committed by TeamCityServer
parent 597d64b81d
commit 96117fc1eb
@@ -37,16 +37,12 @@ internal class FirUnknownPositionContext(
internal object FirPositionCompletionContextDetector { internal object FirPositionCompletionContextDetector {
fun detect(basicContext: FirBasicCompletionContext): FirPositionCompletionContext { fun detect(basicContext: FirBasicCompletionContext): FirPositionCompletionContext {
val position = basicContext.parameters.position val position = basicContext.parameters.position
val reference = (position.parent as? KtSimpleNameExpression)?.mainReference
return when (val reference = (position.parent as? KtSimpleNameExpression)?.mainReference) { ?: return FirUnknownPositionContext(position)
null -> FirUnknownPositionContext(position) val nameExpression = reference.expression.takeIf { it !is KtLabelReferenceExpression }
else -> { ?: return FirUnknownPositionContext(position)
val nameExpression = reference.expression.takeIf { it !is KtLabelReferenceExpression } val explicitReceiver = nameExpression.getReceiverExpression()
?: return FirUnknownPositionContext(position) return FirNameReferencePositionContext(position, reference, nameExpression, explicitReceiver)
val explicitReceiver = nameExpression.getReceiverExpression()
FirNameReferencePositionContext(position, reference, nameExpression, explicitReceiver)
}
}
} }
inline fun analyseInContext( inline fun analyseInContext(