Standardize context receiver parameter names
Previously, FIR used `_context_receiver_n` while FE10 used `<this>` for all context receiver parameters. This commit changes the code in FE10 to follow the convention from FIR.
This commit is contained in:
committed by
Alexander Udalov
parent
5cf1a88c42
commit
21fef70367
+6
-4
@@ -60,7 +60,7 @@ class MemberDeserializer(private val c: DeserializationContext) {
|
||||
proto.receiverType(c.typeTable)?.let(local.typeDeserializer::type)?.let { receiverType ->
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(property, receiverType, receiverAnnotations)
|
||||
},
|
||||
proto.contextReceiverTypes(c.typeTable).map { it.toContextReceiver(local, property) }
|
||||
proto.contextReceiverTypes(c.typeTable).mapIndexed { index, type -> type.toContextReceiver(local, property, index) }
|
||||
)
|
||||
|
||||
// Per documentation on Property.getter_flags in metadata.proto, if an accessor flags field is absent, its value should be computed
|
||||
@@ -212,7 +212,7 @@ class MemberDeserializer(private val c: DeserializationContext) {
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(function, receiverType, receiverAnnotations)
|
||||
},
|
||||
getDispatchReceiverParameter(),
|
||||
proto.contextReceiverTypes(c.typeTable).mapNotNull { it.toContextReceiver(local, function) },
|
||||
proto.contextReceiverTypes(c.typeTable).mapIndexedNotNull { index, type -> type.toContextReceiver(local, function, index) },
|
||||
local.typeDeserializer.ownTypeParameters,
|
||||
local.memberDeserializer.valueParameters(proto.valueParameterList, proto, AnnotatedCallableKind.FUNCTION),
|
||||
local.typeDeserializer.type(proto.returnType(c.typeTable)),
|
||||
@@ -355,14 +355,16 @@ class MemberDeserializer(private val c: DeserializationContext) {
|
||||
|
||||
private fun ProtoBuf.Type.toContextReceiver(
|
||||
deserializationContext: DeserializationContext,
|
||||
callableDescriptor: CallableDescriptor
|
||||
callableDescriptor: CallableDescriptor,
|
||||
index: Int
|
||||
): ReceiverParameterDescriptor? {
|
||||
val contextReceiverType = deserializationContext.typeDeserializer.type(this)
|
||||
return DescriptorFactory.createContextReceiverParameterForCallable(
|
||||
callableDescriptor,
|
||||
contextReceiverType,
|
||||
/* customLabelName = */ null/*todo store custom label name in metadata?*/,
|
||||
Annotations.EMPTY
|
||||
Annotations.EMPTY,
|
||||
index
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user