[IR BE] Remap dispatch receiver for inner ctor too
- do not forget to add into mapping dispatch receiver - fix KT-40686 (at least part of it) - add test
This commit is contained in:
+10
-2
@@ -97,10 +97,18 @@ private fun InnerClassesSupport.primaryConstructorParameterMap(originalConstruct
|
||||
|
||||
val loweredConstructor = getInnerClassConstructorWithOuterThisParameter(originalConstructor)
|
||||
|
||||
originalConstructor.valueParameters.forEach { old ->
|
||||
oldConstructorParameterToNew[old] = loweredConstructor.valueParameters[old.index + 1]
|
||||
var index = 0
|
||||
|
||||
originalConstructor.dispatchReceiverParameter?.let {
|
||||
oldConstructorParameterToNew[it] = loweredConstructor.valueParameters[index++]
|
||||
}
|
||||
|
||||
originalConstructor.valueParameters.forEach { old ->
|
||||
oldConstructorParameterToNew[old] = loweredConstructor.valueParameters[index++]
|
||||
}
|
||||
|
||||
assert(loweredConstructor.valueParameters.size == index)
|
||||
|
||||
return oldConstructorParameterToNew
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user