Changes on code review
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.codegen;
|
||||
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.coroutines.CoroutineUtilKt;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
@@ -109,12 +107,7 @@ public class JvmRuntimeTypes {
|
||||
Annotations.Companion.getEMPTY(),
|
||||
receiverParameter == null ? null : receiverParameter.getType(),
|
||||
ExpressionTypingUtils.getValueParametersTypes(parameters),
|
||||
CollectionsKt.map(parameters, new Function1<ValueParameterDescriptor, Name>() {
|
||||
@Override
|
||||
public Name invoke(ValueParameterDescriptor descriptor) {
|
||||
return descriptor.getName();
|
||||
}
|
||||
}),
|
||||
null,
|
||||
descriptor.getReturnType()
|
||||
);
|
||||
|
||||
@@ -143,12 +136,7 @@ public class JvmRuntimeTypes {
|
||||
Annotations.Companion.getEMPTY(),
|
||||
isBound ? null : receiverType,
|
||||
ExpressionTypingUtils.getValueParametersTypes(parameters),
|
||||
CollectionsKt.map(parameters, new Function1<ValueParameterDescriptor, Name>() {
|
||||
@Override
|
||||
public Name invoke(ValueParameterDescriptor descriptor) {
|
||||
return descriptor.getName();
|
||||
}
|
||||
}),
|
||||
null,
|
||||
descriptor.getReturnType()
|
||||
);
|
||||
|
||||
|
||||
@@ -176,9 +176,8 @@ class DynamicCallableDescriptors(builtIns: KotlinBuiltIns) {
|
||||
|
||||
val receiverType = funLiteral.receiverTypeReference?.let { dynamicType }
|
||||
val parameterTypes = funLiteral.valueParameters.map { dynamicType }
|
||||
val parameterNames = funLiteral.valueParameters.map { it.nameAsName ?: SpecialNames.NO_NAME_PROVIDED }
|
||||
|
||||
return createFunctionType(owner.builtIns, Annotations.EMPTY, receiverType, parameterTypes, parameterNames, dynamicType)
|
||||
return createFunctionType(owner.builtIns, Annotations.EMPTY, receiverType, parameterTypes, null, dynamicType)
|
||||
}
|
||||
|
||||
for (arg in call.valueArguments) {
|
||||
|
||||
+8
-5
@@ -28,10 +28,7 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationsImpl
|
||||
import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.KotlinTypeFactory
|
||||
import org.jetbrains.kotlin.types.SimpleType
|
||||
import org.jetbrains.kotlin.types.TypeProjection
|
||||
import org.jetbrains.kotlin.types.*
|
||||
|
||||
fun createValueParametersForInvokeInFunctionType(
|
||||
functionDescriptor: FunctionDescriptor, parameterTypes: List<TypeProjection>
|
||||
@@ -75,7 +72,13 @@ fun createFunctionType(
|
||||
AnnotationsImpl(annotations + extensionFunctionAnnotation)
|
||||
}
|
||||
|
||||
return KotlinTypeFactory.functionType(typeAnnotations, classDescriptor, arguments, parameterNames)
|
||||
val simpleType = KotlinTypeFactory.simpleNotNullType(typeAnnotations, classDescriptor, arguments)
|
||||
if (parameterNames == null || parameterNames.all { it.isSpecial }) {
|
||||
return simpleType
|
||||
}
|
||||
else {
|
||||
return FunctionType(simpleType, parameterNames)
|
||||
}
|
||||
}
|
||||
|
||||
fun getValueParametersCountFromFunctionType(type: KotlinType): Int {
|
||||
|
||||
Reference in New Issue
Block a user