diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/AbstractBoundedValue.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/AbstractBoundedValue.kt index 25acadbf0ea..8fd45908bf6 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/AbstractBoundedValue.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/AbstractBoundedValue.kt @@ -16,12 +16,7 @@ package org.jetbrains.kotlin.codegen.range -import org.jetbrains.kotlin.codegen.ExpressionCodegen -import org.jetbrains.kotlin.codegen.StackValue -import org.jetbrains.kotlin.descriptors.CallableDescriptor -import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall import org.jetbrains.org.objectweb.asm.Type -import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter abstract class AbstractBoundedValue( override val instanceType: Type, diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt index 72bd8a47dc1..4633357f650 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/DownToProgressionRangeValue.kt @@ -39,14 +39,14 @@ class DownToProgressionRangeValue(rangeCall: ResolvedCall { val rangeLiteral = getBoundedValue(codegen) as? SimpleBoundedValue - ?: throw AssertionError("Floating point intrinsic range value should be a range literal") + ?: throw AssertionError("Floating point intrinsic range value should be a range literal") InFloatingPointRangeLiteralExpressionGenerator(operatorReference, rangeLiteral, comparisonGenerator, codegen.frameMap) } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberRangeLiteralRangeValue.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberRangeLiteralRangeValue.kt index e4c51b1ba84..58757914011 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberRangeLiteralRangeValue.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberRangeLiteralRangeValue.kt @@ -51,14 +51,14 @@ class PrimitiveNumberRangeLiteralRangeValue( override fun createForLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForExpression): ForLoopGenerator = createConstBoundedForInRangeLiteralGenerator(codegen, forExpression) - ?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStep1(codegen, forExpression, getBoundedValue(codegen)) + ?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStep1(codegen, forExpression, getBoundedValue(codegen)) override fun createForInReversedLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForExpression): ForLoopGenerator = createConstBoundedRangeForInReversedRangeLiteralGenerator(codegen, forExpression) - ?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStepMinus1( - codegen, forExpression, getBoundedValue(codegen), - inverseBoundsEvaluationOrder = true - ) + ?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStepMinus1( + codegen, forExpression, getBoundedValue(codegen), + inverseBoundsEvaluationOrder = true + ) private fun createConstBoundedForInRangeLiteralGenerator( codegen: ExpressionCodegen, @@ -92,16 +92,11 @@ private fun ExpressionCodegen.canBeSpecializedByExcludingHighBound(rangeCall: Re return isArraySizeMinusOne(rangeCall.getFirstArgumentExpression()!!) } -private fun ExpressionCodegen.isArraySizeMinusOne(expression: KtExpression): Boolean { - return when { - expression is KtBinaryExpression -> { +private fun ExpressionCodegen.isArraySizeMinusOne(expression: KtExpression): Boolean = + expression is KtBinaryExpression && isArraySizeAccess(expression.left!!) && - expression.getOperationToken() === org.jetbrains.kotlin.lexer.KtTokens.MINUS && - isConstantOne(expression.right!!) - } - else -> false - } -} + expression.operationToken === org.jetbrains.kotlin.lexer.KtTokens.MINUS && + isConstantOne(expression.right!!) private fun ExpressionCodegen.isConstantOne(expression: KtExpression): Boolean { val constantValue = getCompileTimeConstant(expression).safeAs>() ?: return false diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberUntilRangeValue.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberUntilRangeValue.kt index 0ab1ed5945f..dd7c117209e 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberUntilRangeValue.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/range/PrimitiveNumberUntilRangeValue.kt @@ -43,10 +43,10 @@ class PrimitiveNumberUntilRangeValue(rangeCall: ResolvedCall