From 415265276aaab1723714ea584d9d192c1d3272eb Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Mon, 29 Aug 2016 17:38:12 +0300 Subject: [PATCH] Minor: CallGenerator is StatementGeneratorExtension. --- .../kotlin/psi2ir/generators/AssignmentGenerator.kt | 6 +++--- .../jetbrains/kotlin/psi2ir/generators/CallGenerator.kt | 8 +------- .../psi2ir/generators/OperatorExpressionGenerator.kt | 8 +++----- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AssignmentGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AssignmentGenerator.kt index 35460d17c98..ccdb5c02d52 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AssignmentGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/AssignmentGenerator.kt @@ -52,7 +52,7 @@ class AssignmentGenerator(statementGenerator: StatementGenerator) : StatementGen val opCall = statementGenerator.pregenerateCall(opResolvedCall) opCall.setExplicitReceiverValue(irLValue) opCall.irValueArgumentsByIndex[0] = statementGenerator.generateExpression(ktRight) - val irOpCall = CallGenerator(this).generateCall(expression, opCall, irOperator) + val irOpCall = CallGenerator(statementGenerator).generateCall(expression, opCall, irOperator) if (isSimpleAssignment) { // Set( Op( Get(), RHS ) ) @@ -76,7 +76,7 @@ class AssignmentGenerator(statementGenerator: StatementGenerator) : StatementGen // VAR tmp = [lhs].inc() val opCall = statementGenerator.pregenerateCall(opResolvedCall) opCall.setExplicitReceiverValue(irLValue) - val irOpCall = CallGenerator(this).generateCall(expression, opCall, irOperator) + val irOpCall = CallGenerator(statementGenerator).generateCall(expression, opCall, irOperator) val irTmp = statementGenerator.scope.createTemporaryVariable(irOpCall) irBlock.addStatement(irTmp) @@ -105,7 +105,7 @@ class AssignmentGenerator(statementGenerator: StatementGenerator) : StatementGen // [lhs] = tmp.inc() val opCall = statementGenerator.pregenerateCall(opResolvedCall) opCall.setExplicitReceiverValue(VariableLValue(irTmp)) - val irOpCall = CallGenerator(this).generateCall(expression, opCall, irOperator) + val irOpCall = CallGenerator(statementGenerator).generateCall(expression, opCall, irOperator) irBlock.addStatement(irLValue.store(irOpCall)) // ^ tmp diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt index 92c3d72d358..a2b1430cddb 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/CallGenerator.kt @@ -33,13 +33,7 @@ import org.jetbrains.kotlin.resolve.calls.model.ResolvedValueArgument import org.jetbrains.kotlin.types.KotlinType import java.util.* -class CallGenerator( - override val context: GeneratorContext, - override val scope: Scope -) : GeneratorWithScope { - - constructor(parent: GeneratorWithScope) : this(parent.context, parent.scope) - +class CallGenerator(statementGenerator: StatementGenerator): StatementGeneratorExtension(statementGenerator) { fun generateCall( startOffset: Int, endOffset: Int, diff --git a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt index bdd25dd8ef1..31a990a96a6 100644 --- a/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt +++ b/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/OperatorExpressionGenerator.kt @@ -138,7 +138,7 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat private fun generateInOperator(expression: KtBinaryExpression, irOperator: IrOperator): IrExpression { val containsCall = getResolvedCall(expression)!! - val irContainsCall = CallGenerator(this).generateCall(expression, statementGenerator.pregenerateCall(containsCall), irOperator) + val irContainsCall = CallGenerator(statementGenerator).generateCall(expression, statementGenerator.pregenerateCall(containsCall), irOperator) return when (irOperator) { IrOperator.IN -> @@ -194,7 +194,7 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat private fun generateComparisonOperator(expression: KtBinaryExpression, irOperator: IrOperator): IrExpression { val compareToCall = getResolvedCall(expression)!! - val irCompareToCall = CallGenerator(this).generateCall(expression, statementGenerator.pregenerateCall(compareToCall), irOperator) + val irCompareToCall = CallGenerator(statementGenerator).generateCall(expression, statementGenerator.pregenerateCall(compareToCall), irOperator) val compareToZeroDescriptor = when (irOperator) { IrOperator.LT -> context.irBuiltIns.lt0 @@ -210,7 +210,7 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat private fun generateBinaryOperatorAsCall(expression: KtBinaryExpression, irOperator: IrOperator?): IrExpression { val operatorCall = getResolvedCall(expression)!! - return CallGenerator(this).generateCall(expression, statementGenerator.pregenerateCall(operatorCall), irOperator) + return CallGenerator(statementGenerator).generateCall(expression, statementGenerator.pregenerateCall(operatorCall), irOperator) } @@ -241,6 +241,4 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat val resolvedCall = getResolvedCall(expression)!! return CallGenerator(statementGenerator).generateCall(expression, statementGenerator.pregenerateCall(resolvedCall), irOperator) } - - }