Psi2ir: do not generate default accessor body for expect properties

Because generateDefaultGetterBody/generateDefaultSetterBody reference
the property's backing field, which in case of extension properties
leads to an error "Unbound symbols not allowed" because extension
property cannot have a backing field.

In some way, this check is similar to the `isExpect` check in
`generatePrimaryConstructor`.
This commit is contained in:
Alexander Udalov
2021-03-09 15:35:57 +01:00
parent 5fc9f3bc17
commit bdaeaca5ae
10 changed files with 71 additions and 3 deletions
@@ -0,0 +1,26 @@
// !LANGUAGE: +MultiPlatformProjects
// FILE: common.kt
package test
expect val v: String
expect val Char.extensionVal: String
expect var String.extensionVar: Char
// FILE: jvm.kt
package test
actual val v: String = ""
actual val Char.extensionVal: String
get() = toString()
actual var String.extensionVar: Char
get() = this[0]
set(value) {}
fun box(): String =
v + 'O'.extensionVal + "K".extensionVar