JVM_IR KT-46060 'contains' operator without receiver is non-optimizable

This commit is contained in:
Dmitry Petrov
2021-04-14 14:56:55 +03:00
committed by TeamCityServer
parent 21a3a14289
commit 531a0de399
6 changed files with 35 additions and 2 deletions
@@ -98,8 +98,8 @@ private class Transformer(
// The HeaderInfoBuilder extracts information (e.g., lower/upper bounds, direction) from the range expression, which is the
// receiver for the contains() call.
val receiver = expression.dispatchReceiver ?: expression.extensionReceiver!!
val headerInfo = receiver.accept(headerInfoBuilder, expression)
val receiver = expression.dispatchReceiver ?: expression.extensionReceiver
val headerInfo = receiver?.accept(headerInfoBuilder, expression)
?: return super.visitCall(expression) // The receiver is not a supported range (or not a range at all).
val argument = expression.getValueArgument(0)!!