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 {
fun detect(basicContext: FirBasicCompletionContext): FirPositionCompletionContext {
val position = basicContext.parameters.position
return when (val reference = (position.parent as? KtSimpleNameExpression)?.mainReference) {
null -> FirUnknownPositionContext(position)
else -> {
val nameExpression = reference.expression.takeIf { it !is KtLabelReferenceExpression }
?: return FirUnknownPositionContext(position)
val explicitReceiver = nameExpression.getReceiverExpression()
FirNameReferencePositionContext(position, reference, nameExpression, explicitReceiver)
}
}
val reference = (position.parent as? KtSimpleNameExpression)?.mainReference
?: return FirUnknownPositionContext(position)
val nameExpression = reference.expression.takeIf { it !is KtLabelReferenceExpression }
?: return FirUnknownPositionContext(position)
val explicitReceiver = nameExpression.getReceiverExpression()
return FirNameReferencePositionContext(position, reference, nameExpression, explicitReceiver)
}
inline fun analyseInContext(