Minor: reformat & optimize imports
This commit is contained in:
@@ -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,
|
||||
|
||||
+5
-5
@@ -39,14 +39,14 @@ class DownToProgressionRangeValue(rangeCall: ResolvedCall<out CallableDescriptor
|
||||
|
||||
override fun createForLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForExpression) =
|
||||
createConstBoundedForInDownToGenerator(codegen, forExpression)
|
||||
?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStepMinus1(codegen, forExpression, getBoundedValue(codegen))
|
||||
?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStepMinus1(codegen, forExpression, getBoundedValue(codegen))
|
||||
|
||||
override fun createForInReversedLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForExpression) =
|
||||
createConstBoundedForInReversedDownToGenerator(codegen, forExpression)
|
||||
?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStep1(
|
||||
codegen, forExpression, getBoundedValue(codegen),
|
||||
inverseBoundsEvaluationOrder = true
|
||||
)
|
||||
?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStep1(
|
||||
codegen, forExpression, getBoundedValue(codegen),
|
||||
inverseBoundsEvaluationOrder = true
|
||||
)
|
||||
|
||||
private fun createConstBoundedForInDownToGenerator(
|
||||
codegen: ExpressionCodegen,
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ abstract class PrimitiveNumberRangeIntrinsicRangeValue(
|
||||
|
||||
comparedType == Type.DOUBLE_TYPE || comparedType == Type.FLOAT_TYPE -> {
|
||||
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)
|
||||
}
|
||||
|
||||
|
||||
+9
-14
@@ -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<IntegerValueConstant<*>>() ?: return false
|
||||
|
||||
+4
-4
@@ -43,10 +43,10 @@ class PrimitiveNumberUntilRangeValue(rangeCall: ResolvedCall<out CallableDescrip
|
||||
|
||||
override fun createForInReversedLoopGenerator(codegen: ExpressionCodegen, forExpression: KtForExpression) =
|
||||
createConstBoundedForInReversedUntilGenerator(codegen, forExpression)
|
||||
?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStepMinus1(
|
||||
codegen, forExpression, getBoundedValue(codegen),
|
||||
inverseBoundsEvaluationOrder = true
|
||||
)
|
||||
?: ForInSimpleProgressionLoopGenerator.fromBoundedValueWithStepMinus1(
|
||||
codegen, forExpression, getBoundedValue(codegen),
|
||||
inverseBoundsEvaluationOrder = true
|
||||
)
|
||||
|
||||
private fun createConstBoundedForInReversedUntilGenerator(
|
||||
codegen: ExpressionCodegen,
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
package org.jetbrains.kotlin.codegen.range
|
||||
|
||||
import org.jetbrains.kotlin.codegen.ExpressionCodegen
|
||||
import org.jetbrains.kotlin.codegen.StackValue
|
||||
import org.jetbrains.kotlin.codegen.range.forLoop.ForLoopGenerator
|
||||
import org.jetbrains.kotlin.codegen.range.inExpression.InExpressionGenerator
|
||||
import org.jetbrains.kotlin.psi.KtForExpression
|
||||
import org.jetbrains.kotlin.psi.KtSimpleNameExpression
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.org.objectweb.asm.Type
|
||||
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter
|
||||
|
||||
|
||||
@@ -16,9 +16,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.codegen.range
|
||||
|
||||
import org.jetbrains.kotlin.codegen.*
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil
|
||||
import org.jetbrains.kotlin.codegen.StackValue
|
||||
import org.jetbrains.org.objectweb.asm.Type
|
||||
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter
|
||||
|
||||
|
||||
Reference in New Issue
Block a user