From 7690a8bc3e4229d3405b90908c62b3cd926eb0fd Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Thu, 27 Apr 2017 14:58:25 +0200 Subject: [PATCH] Get rid of redundant 'afterParameterPut' method from call generators --- .../org/jetbrains/kotlin/codegen/CallGenerator.kt | 12 ------------ .../src/org/jetbrains/kotlin/codegen/StackValue.java | 3 +-- .../kotlin/codegen/inline/InlineCodegen.java | 8 ++------ .../codegen/inline/InlineCodegenForDefaultBody.kt | 4 ---- 4 files changed, 3 insertions(+), 24 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/CallGenerator.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/CallGenerator.kt index ffebc58c567..c3d1bef6e08 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/CallGenerator.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/CallGenerator.kt @@ -44,13 +44,6 @@ abstract class CallGenerator { } } - override fun afterParameterPut( - type: Type, - stackValue: StackValue, - parameterIndex: Int) { - - } - override fun processAndPutHiddenParameters(justProcess: Boolean) { } @@ -111,11 +104,6 @@ abstract class CallGenerator { abstract fun genCallInner(callableMethod: Callable, resolvedCall: ResolvedCall<*>?, callDefault: Boolean, codegen: ExpressionCodegen) - abstract fun afterParameterPut( - type: Type, - stackValue: StackValue, - parameterIndex: Int) - abstract fun genValueAndPut( valueParameterDescriptor: ValueParameterDescriptor, argumentExpression: KtExpression, diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/StackValue.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/StackValue.java index fa4c32b579e..2683910afdd 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/StackValue.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/StackValue.java @@ -1087,8 +1087,7 @@ public abstract class StackValue { Type lastParameterType = ArraysKt.last(setter.getParameterTypes()); coerce(topOfStackType, lastParameterType, v); - getCallGenerator().afterParameterPut(lastParameterType, StackValue.onStack(lastParameterType), - CollectionsKt.getLastIndex(setter.getValueParameterTypes())); + getCallGenerator().putValueIfNeeded(lastParameterType, StackValue.onStack(lastParameterType)); //Convention setter couldn't have default parameters, just getter can have it at last positions //We should remove default parameters of getter from stack*/ diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java index 6668026a280..1623cc75b73 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java @@ -670,11 +670,6 @@ public class InlineCodegen extends CallGenerator { } } - @Override - public void afterParameterPut(@NotNull Type type, @NotNull StackValue stackValue, int parameterIndex) { - putArgumentOrCapturedToLocalVal(type, stackValue, -1, parameterIndex); - } - private void putArgumentOrCapturedToLocalVal( @NotNull Type type, @NotNull StackValue stackValue, @@ -932,7 +927,8 @@ public class InlineCodegen extends CallGenerator { if (shouldPutGeneralValue(parameterType, value)) { value.put(parameterType, codegen.v); } - afterParameterPut(parameterType, value, index); + + putArgumentOrCapturedToLocalVal(parameterType, value, -1, index); } private boolean processDefaultMaskOrMethodHandler(@NotNull StackValue value, @NotNull ValueKind kind) { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenForDefaultBody.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenForDefaultBody.kt index 641b319e6ff..db4f362a8f2 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenForDefaultBody.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegenForDefaultBody.kt @@ -87,10 +87,6 @@ class InlineCodegenForDefaultBody( transformedMethod.accept(MethodBodyVisitor(codegen.v)) } - override fun afterParameterPut(type: Type, stackValue: StackValue, parameterIndex: Int) { - throw UnsupportedOperationException("Shouldn't be called") - } - override fun genValueAndPut(valueParameterDescriptor: ValueParameterDescriptor, argumentExpression: KtExpression, parameterType: Type, parameterIndex: Int) { throw UnsupportedOperationException("Shouldn't be called") }