JVM_IR. Support generic constructors after "Roll back constructor type parameters"

This commit is contained in:
Mikhael Bogdanov
2018-08-29 14:38:00 +02:00
committed by romanart
parent 0b926af203
commit 5c0cdac69f
2 changed files with 7 additions and 2 deletions
@@ -1149,7 +1149,13 @@ class ExpressionCodegen(
memberAccessExpression: IrMemberAccessExpression,
descriptor: CallableDescriptor
): IrCallGenerator {
val typeArguments = descriptor.original.typeParameters.keysToMap { memberAccessExpression.getTypeArgumentOrDefault(it) }
val typeArguments =
if (memberAccessExpression.typeArgumentsCount == 0) {
//avoid ambiguity with type constructor type parameters
emptyMap()
} else descriptor.original.typeParameters.keysToMap {
memberAccessExpression.getTypeArgumentOrDefault(it)
}
val mappings = TypeParameterMappings()
for (entry in typeArguments.entries) {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
class Outer {
inner class Inner<T>(val t: T) {
fun box() = t