FIR deserializer: load annotations on extension receiver parameters
This commit is contained in:
committed by
Denis Zharkov
parent
02f08b16d6
commit
c7a37eb6b2
+12
@@ -160,6 +160,18 @@ class JvmBinaryAnnotationDeserializer(
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(containerSource, paramSignature)
|
||||
}
|
||||
|
||||
override fun loadExtensionReceiverParameterAnnotations(
|
||||
containerSource: DeserializedContainerSource?,
|
||||
callableProto: MessageLite,
|
||||
nameResolver: NameResolver,
|
||||
typeTable: TypeTable,
|
||||
kind: CallableKind
|
||||
): List<FirAnnotationCall> {
|
||||
val methodSignature = getCallableSignature(callableProto, nameResolver, typeTable, kind) ?: return emptyList()
|
||||
val paramSignature = MemberSignature.fromMethodSignatureAndParameterIndex(methodSignature, 0)
|
||||
return findJvmBinaryClassAndLoadMemberAnnotations(containerSource, paramSignature)
|
||||
}
|
||||
|
||||
private fun computeJvmParameterIndexShift(classProto: ProtoBuf.Class?, message: MessageLite): Int {
|
||||
return when (message) {
|
||||
is ProtoBuf.Function -> if (message.hasReceiver()) 1 else 0
|
||||
|
||||
Reference in New Issue
Block a user