[Wasm] Fixed invalid delegated property getters lowering
#Fixed KT-58941
This commit is contained in:
committed by
Space Team
parent
488d24296a
commit
e8e8a26cd1
+4
-4
@@ -204,14 +204,14 @@ internal class WasmPropertyReferenceLowering(val context: WasmBackendContext) :
|
|||||||
val returnType = expression.getter?.owner?.returnType ?: expression.field!!.owner.type
|
val returnType = expression.getter?.owner?.returnType ?: expression.field!!.owner.type
|
||||||
|
|
||||||
val getterCallableReference = expression.getter?.owner?.let { getter ->
|
val getterCallableReference = expression.getter?.owner?.let { getter ->
|
||||||
getter.extensionReceiverParameter.let {
|
|
||||||
if (it != null && expression.extensionReceiver == null)
|
|
||||||
receiverTypes.add(it.type)
|
|
||||||
}
|
|
||||||
getter.dispatchReceiverParameter.let {
|
getter.dispatchReceiverParameter.let {
|
||||||
if (it != null && expression.dispatchReceiver == null)
|
if (it != null && expression.dispatchReceiver == null)
|
||||||
receiverTypes.add(it.type)
|
receiverTypes.add(it.type)
|
||||||
}
|
}
|
||||||
|
getter.extensionReceiverParameter.let {
|
||||||
|
if (it != null && expression.extensionReceiver == null)
|
||||||
|
receiverTypes.add(it.type)
|
||||||
|
}
|
||||||
val getterKFunctionType = this@WasmPropertyReferenceLowering.context.irBuiltIns.getKFunctionType(
|
val getterKFunctionType = this@WasmPropertyReferenceLowering.context.irBuiltIns.getKFunctionType(
|
||||||
returnType,
|
returnType,
|
||||||
receiverTypes
|
receiverTypes
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: WASM
|
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
|
|
||||||
class Delegate {
|
class Delegate {
|
||||||
|
|||||||
Vendored
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: WASM
|
|
||||||
inline operator fun Double.provideDelegate(thisRef: Any?, kProp: Any?) = this.toLong()
|
inline operator fun Double.provideDelegate(thisRef: Any?, kProp: Any?) = this.toLong()
|
||||||
|
|
||||||
inline operator fun Long.getValue(thisRef: Any?, kProp: Any?) = this.toInt()
|
inline operator fun Long.getValue(thisRef: Any?, kProp: Any?) = this.toInt()
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: WASM
|
|
||||||
// WITH_STDLIB
|
// WITH_STDLIB
|
||||||
|
|
||||||
object Host {
|
object Host {
|
||||||
|
|||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
// !LANGUAGE: -ForbidUsingExtensionPropertyTypeParameterInDelegate
|
// !LANGUAGE: -ForbidUsingExtensionPropertyTypeParameterInDelegate
|
||||||
// IGNORE_BACKEND: WASM
|
|
||||||
// SKIP_MANGLE_VERIFICATION
|
// SKIP_MANGLE_VERIFICATION
|
||||||
//For KT-6020
|
//For KT-6020
|
||||||
// KT-24643: language version in K2 is >= 1.8
|
// KT-24643: language version in K2 is >= 1.8
|
||||||
|
|||||||
Reference in New Issue
Block a user