Support properties reificaton
This commit is contained in:
+3
-2
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.backend.jvm.codegen
|
package org.jetbrains.kotlin.backend.jvm.codegen
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.backend.common.descriptors.propertyIfAccessor
|
||||||
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
import org.jetbrains.kotlin.backend.jvm.JvmLoweredDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.backend.jvm.intrinsics.ComparisonIntrinsic
|
import org.jetbrains.kotlin.backend.jvm.intrinsics.ComparisonIntrinsic
|
||||||
import org.jetbrains.kotlin.backend.jvm.intrinsics.IrIntrinsicFunction
|
import org.jetbrains.kotlin.backend.jvm.intrinsics.IrIntrinsicFunction
|
||||||
@@ -1283,9 +1284,9 @@ class ExpressionCodegen(
|
|||||||
if (memberAccessExpression.typeArgumentsCount == 0) {
|
if (memberAccessExpression.typeArgumentsCount == 0) {
|
||||||
//avoid ambiguity with type constructor type parameters
|
//avoid ambiguity with type constructor type parameters
|
||||||
emptyMap()
|
emptyMap()
|
||||||
} else descriptor.original.typeParameters.keysToMap {
|
} else (descriptor.propertyIfAccessor as? CallableDescriptor)?.original?.typeParameters?.keysToMap {
|
||||||
memberAccessExpression.getTypeArgumentOrDefault(it)
|
memberAccessExpression.getTypeArgumentOrDefault(it)
|
||||||
}
|
} ?: emptyMap()
|
||||||
|
|
||||||
val mappings = TypeParameterMappings()
|
val mappings = TypeParameterMappings()
|
||||||
for (entry in typeArguments.entries) {
|
for (entry in typeArguments.entries) {
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// WITH_REFLECT
|
// WITH_REFLECT
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// WITH_REFLECT
|
// WITH_REFLECT
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// TARGET_BACKEND: JVM
|
// TARGET_BACKEND: JVM
|
||||||
// FILE: 1.kt
|
// FILE: 1.kt
|
||||||
// WITH_REFLECT
|
// WITH_REFLECT
|
||||||
|
|||||||
Reference in New Issue
Block a user