diff --git a/analysis/decompiled/decompiler-to-file-stubs/testData/additionalClsStubInfo/Contracts/Contracts.kt b/analysis/decompiled/decompiler-to-file-stubs/testData/additionalClsStubInfo/Contracts/Contracts.kt index 9b5b0b43b35..d3216e07f7b 100644 --- a/analysis/decompiled/decompiler-to-file-stubs/testData/additionalClsStubInfo/Contracts/Contracts.kt +++ b/analysis/decompiled/decompiler-to-file-stubs/testData/additionalClsStubInfo/Contracts/Contracts.kt @@ -1,5 +1,3 @@ -/* KTIJ-28668 */ -// KNM_K2_IGNORE // JVM_FILE_NAME: ContractsKt @file:OptIn(ExperimentalContracts::class) diff --git a/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/ClsContractBuilder.kt b/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/ClsContractBuilder.kt index f1159d841b7..8d68d5b6117 100644 --- a/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/ClsContractBuilder.kt +++ b/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/ClsContractBuilder.kt @@ -16,6 +16,8 @@ import org.jetbrains.kotlin.psi.stubs.impl.* import org.jetbrains.kotlin.psi.stubs.impl.KotlinContractEffectType.Companion.IGNORE_REFERENCE_PARAMETER_NAME import org.jetbrains.kotlin.serialization.deserialization.ProtoBufContractDeserializer import org.jetbrains.kotlin.serialization.deserialization.getClassId +import org.jetbrains.kotlin.metadata.deserialization.type +import org.jetbrains.kotlin.metadata.deserialization.receiverType class ClsContractBuilder(private val c: ClsStubBuilderContext, private val typeStubBuilder: TypeClsStubBuilder) : ProtoBufContractDeserializer() { @@ -26,9 +28,9 @@ class ClsContractBuilder(private val c: ClsStubBuilderContext, private val typeS override fun extractVariable(valueParameterIndex: Int, owner: ProtoBuf.Function): KtValueParameterReference { val type = if (valueParameterIndex < 0) { - owner.receiverType - } else owner.valueParameterList[valueParameterIndex].type - return if (type.hasClassName() && c.nameResolver.getClassId(type.className) == StandardClassIds.Boolean) { + owner.receiverType(c.typeTable) + } else owner.valueParameterList[valueParameterIndex].type(c.typeTable) + return if (type?.hasClassName() == true && c.nameResolver.getClassId(type.className) == StandardClassIds.Boolean) { KtBooleanValueParameterReference(valueParameterIndex, name = IGNORE_REFERENCE_PARAMETER_NAME) } else KtValueParameterReference(valueParameterIndex, name = IGNORE_REFERENCE_PARAMETER_NAME) }