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