[PSI2IR] Do not generate property reference setter if inaccessible.

Fixes KT-45064.
This commit is contained in:
Mads Ager
2021-02-22 14:22:10 +01:00
committed by Alexander Udalov
parent d44799fa78
commit 8852323a76
10 changed files with 64 additions and 5 deletions
@@ -16,10 +16,7 @@
package org.jetbrains.kotlin.psi2ir.generators
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.builtins.createFunctionType
import org.jetbrains.kotlin.builtins.isKFunctionType
import org.jetbrains.kotlin.builtins.isKSuspendFunctionType
import org.jetbrains.kotlin.builtins.*
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.ir.declarations.DescriptorMetadataSource
import org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin
@@ -382,7 +379,7 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St
generateFunctionReference(startOffset, endOffset, type, symbol, callableDescriptor, typeArguments, origin)
}
is PropertyDescriptor -> {
val mutable = get(BindingContext.VARIABLE, ktElement)?.isVar ?: true
val mutable = ReflectionTypes.isNumberedKMutablePropertyType(type)
generatePropertyReference(startOffset, endOffset, type, callableDescriptor, typeArguments, origin, mutable)
}
else ->