Get rid of ValueParameterDescriptor in 'afterParameterPut' fun
This commit is contained in:
@@ -75,10 +75,9 @@ public class CallBasedArgumentGenerator extends ArgumentGenerator {
|
||||
|
||||
@Override
|
||||
protected void generateDefault(int i, @NotNull DefaultValueArgument argument) {
|
||||
ValueParameterDescriptor parameter = valueParameters.get(i);
|
||||
Type type = valueParameterTypes.get(i);
|
||||
pushDefaultValueOnStack(type, codegen.v);
|
||||
callGenerator.afterParameterPut(type, null, parameter, i);
|
||||
callGenerator.afterParameterPut(type, null, i);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -86,7 +85,7 @@ public class CallBasedArgumentGenerator extends ArgumentGenerator {
|
||||
ValueParameterDescriptor parameter = valueParameters.get(i);
|
||||
Type type = valueParameterTypes.get(i);
|
||||
codegen.genVarargs(argument, parameter.getType());
|
||||
callGenerator.afterParameterPut(type, null, parameter, i);
|
||||
callGenerator.afterParameterPut(type, null, i);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -46,7 +46,6 @@ abstract class CallGenerator {
|
||||
override fun afterParameterPut(
|
||||
type: Type,
|
||||
stackValue: StackValue?,
|
||||
valueParameterDescriptor: ValueParameterDescriptor,
|
||||
parameterIndex: Int) {
|
||||
|
||||
}
|
||||
@@ -70,7 +69,7 @@ abstract class CallGenerator {
|
||||
}
|
||||
|
||||
override fun putValueIfNeeded(
|
||||
valueParameterDescriptor: ValueParameterDescriptor?, parameterType: Type, value: StackValue) {
|
||||
parameterType: Type, value: StackValue) {
|
||||
value.put(value.type, codegen.v)
|
||||
}
|
||||
|
||||
@@ -113,7 +112,6 @@ abstract class CallGenerator {
|
||||
abstract fun afterParameterPut(
|
||||
type: Type,
|
||||
stackValue: StackValue?,
|
||||
valueParameterDescriptor: ValueParameterDescriptor,
|
||||
parameterIndex: Int)
|
||||
|
||||
abstract fun genValueAndPut(
|
||||
@@ -123,7 +121,6 @@ abstract class CallGenerator {
|
||||
parameterIndex: Int)
|
||||
|
||||
abstract fun putValueIfNeeded(
|
||||
valueParameterDescriptor: ValueParameterDescriptor?,
|
||||
parameterType: Type,
|
||||
value: StackValue)
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ class DefaultCallMask(val size: Int) {
|
||||
fun generateOnStackIfNeeded(callGenerator: CallGenerator): Boolean {
|
||||
val toInts = toInts()
|
||||
for (mask in toInts) {
|
||||
callGenerator.putValueIfNeeded(null, Type.INT_TYPE, StackValue.constant(mask, Type.INT_TYPE))
|
||||
callGenerator.putValueIfNeeded(Type.INT_TYPE, StackValue.constant(mask, Type.INT_TYPE))
|
||||
}
|
||||
return toInts.isNotEmpty();
|
||||
}
|
||||
|
||||
@@ -2404,7 +2404,7 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
|
||||
List<JvmMethodParameterSignature> callableParameters = ((CallableMethod) callableMethod).getValueParameters();
|
||||
for (JvmMethodParameterSignature parameter: callableParameters) {
|
||||
if (parameter.getKind() == JvmMethodParameterKind.CONSTRUCTOR_MARKER) {
|
||||
callGenerator.putValueIfNeeded(null, parameter.getAsmType(), StackValue.constant(null, parameter.getAsmType()));
|
||||
callGenerator.putValueIfNeeded(parameter.getAsmType(), StackValue.constant(null, parameter.getAsmType()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -732,7 +732,7 @@ public class FunctionCodegen {
|
||||
iv.mark(loadArg);
|
||||
}
|
||||
|
||||
generator.putValueIfNeeded(parameterDescriptor, type, StackValue.local(parameterIndex, type));
|
||||
generator.putValueIfNeeded(type, StackValue.local(parameterIndex, type));
|
||||
}
|
||||
|
||||
CallableMethod method = state.getTypeMapper().mapToCallableMethod(functionDescriptor, false);
|
||||
@@ -781,14 +781,14 @@ public class FunctionCodegen {
|
||||
) {
|
||||
int var = 0;
|
||||
if (!isStatic) {
|
||||
callGenerator.putValueIfNeeded(null, ownerType, StackValue.local(var, ownerType));
|
||||
callGenerator.putValueIfNeeded(ownerType, StackValue.local(var, ownerType));
|
||||
var += ownerType.getSize();
|
||||
}
|
||||
|
||||
for (JvmMethodParameterSignature parameterSignature : signature.getValueParameters()) {
|
||||
if (parameterSignature.getKind() != JvmMethodParameterKind.VALUE) {
|
||||
Type type = parameterSignature.getAsmType();
|
||||
callGenerator.putValueIfNeeded(null, type, StackValue.local(var, type));
|
||||
callGenerator.putValueIfNeeded(type, StackValue.local(var, type));
|
||||
var += type.getSize();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -437,7 +437,6 @@ public class InlineCodegen extends CallGenerator {
|
||||
public void afterParameterPut(
|
||||
@NotNull Type type,
|
||||
@Nullable StackValue stackValue,
|
||||
@Nullable ValueParameterDescriptor valueParameterDescriptor,
|
||||
int parameterIndex
|
||||
) {
|
||||
putArgumentOrCapturedToLocalVal(type, stackValue, -1, parameterIndex);
|
||||
@@ -664,21 +663,19 @@ public class InlineCodegen extends CallGenerator {
|
||||
}
|
||||
else {
|
||||
StackValue value = codegen.gen(argumentExpression);
|
||||
putValueIfNeeded(valueParameterDescriptor, parameterType, value, valueParameterDescriptor.getIndex());
|
||||
putValueIfNeeded(parameterType, value, valueParameterDescriptor.getIndex());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putValueIfNeeded(
|
||||
@Nullable ValueParameterDescriptor valueParameterDescriptor,
|
||||
@NotNull Type parameterType,
|
||||
@NotNull StackValue value
|
||||
) {
|
||||
putValueIfNeeded(valueParameterDescriptor, parameterType, value, -1);
|
||||
putValueIfNeeded(parameterType, value, -1);
|
||||
}
|
||||
|
||||
private void putValueIfNeeded(
|
||||
@Nullable ValueParameterDescriptor valueParameterDescriptor,
|
||||
@NotNull Type parameterType,
|
||||
@NotNull StackValue value,
|
||||
int index
|
||||
@@ -686,7 +683,7 @@ public class InlineCodegen extends CallGenerator {
|
||||
if (shouldPutValue(parameterType, value)) {
|
||||
value.put(parameterType, codegen.v);
|
||||
}
|
||||
afterParameterPut(parameterType, value, valueParameterDescriptor, index);
|
||||
afterParameterPut(parameterType, value, index);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user