Exclude rangeUntil operation from constant evaluation and interpretation #KT-52933

This commit is contained in:
Ilya Gorbunov
2022-08-15 19:26:27 +02:00
committed by Space
parent bbe5dca33e
commit 800ff20fc7
2 changed files with 4 additions and 1 deletions
@@ -204,10 +204,13 @@ private fun getOperationMap(argumentsCount: Int): MutableList<Operation> {
return !isPrimitive && isFakeOverridden
}
val excludedBinaryOperations = listOf("rangeUntil").map { Name.identifier(it) }
for (classDescriptor in allPrimitiveTypes + additionalBuiltIns + arrays) {
val compileTimeFunctions = classDescriptor.unsubstitutedMemberScope.getContributedDescriptors()
.filterIsInstance<CallableDescriptor>()
.filter { !it.isFakeOverride(classDescriptor) && it.valueParameters.size + 1 == argumentsCount }
.filter { it.name !in excludedBinaryOperations }
for (function in compileTimeFunctions) {
operationMap.add(