[IR] Supported IrFunctionReference.reflectionTarget
(cherry picked from commit fbaf57dab7a2cf25dcc469abe56c56ae41a5a2bb)
This commit is contained in:
committed by
Vasily Levchenko
parent
392d248c23
commit
b711f14ae9
+2
-1
@@ -535,7 +535,8 @@ internal fun KotlinStubs.generateCFunctionPointer(
|
||||
expression.endOffset,
|
||||
expression.type,
|
||||
fakeFunction.symbol,
|
||||
0
|
||||
typeArgumentsCount = 0,
|
||||
reflectionTarget = null
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -116,7 +116,8 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain
|
||||
endOffset = job.endOffset,
|
||||
type = job.type,
|
||||
symbol = bridge.symbol,
|
||||
typeArgumentsCount = 0)
|
||||
typeArgumentsCount = 0,
|
||||
reflectionTarget = null)
|
||||
)
|
||||
return expression
|
||||
}
|
||||
|
||||
+4
-2
@@ -211,7 +211,8 @@ internal class PropertyDelegationLowering(val context: Context) : FileLoweringPa
|
||||
type = getterKFunctionType,
|
||||
symbol = expression.getter!!,
|
||||
typeArgumentsCount = getter.typeParameters.size,
|
||||
valueArgumentsCount = getter.valueParameters.size
|
||||
valueArgumentsCount = getter.valueParameters.size,
|
||||
reflectionTarget = expression.getter!!
|
||||
).apply {
|
||||
this.dispatchReceiver = dispatchReceiver?.let { irGet(it) }
|
||||
this.extensionReceiver = extensionReceiver?.let { irGet(it) }
|
||||
@@ -233,7 +234,8 @@ internal class PropertyDelegationLowering(val context: Context) : FileLoweringPa
|
||||
type = setterKFunctionType,
|
||||
symbol = expression.setter!!,
|
||||
typeArgumentsCount = setter.typeParameters.size,
|
||||
valueArgumentsCount = setter.valueParameters.size
|
||||
valueArgumentsCount = setter.valueParameters.size,
|
||||
reflectionTarget = expression.setter!!
|
||||
).apply {
|
||||
this.dispatchReceiver = dispatchReceiver?.let { irGet(it) }
|
||||
this.extensionReceiver = extensionReceiver?.let { irGet(it) }
|
||||
|
||||
+2
-1
@@ -1038,7 +1038,8 @@ private class InteropTransformer(val context: Context, override val irFile: IrFi
|
||||
builder.startOffset, builder.endOffset,
|
||||
symbols.executeImpl.owner.valueParameters[3].type,
|
||||
targetSymbol,
|
||||
typeArgumentsCount = 0)
|
||||
typeArgumentsCount = 0,
|
||||
reflectionTarget = null)
|
||||
|
||||
builder.irCall(symbols.executeImpl).apply {
|
||||
putValueArgument(0, expression.dispatchReceiver)
|
||||
|
||||
+4
-2
@@ -107,7 +107,8 @@ internal class TestProcessor (val context: Context) {
|
||||
registerTestCase.valueParameters[1].type,
|
||||
it.function.symbol,
|
||||
typeArgumentsCount = 0,
|
||||
valueArgumentsCount = 0))
|
||||
valueArgumentsCount = 0,
|
||||
reflectionTarget = null))
|
||||
putValueArgument(2, irBoolean(it.ignored))
|
||||
}
|
||||
} else {
|
||||
@@ -127,7 +128,8 @@ internal class TestProcessor (val context: Context) {
|
||||
registerFunction.valueParameters[1].type,
|
||||
it.function.symbol,
|
||||
typeArgumentsCount = 0,
|
||||
valueArgumentsCount = 0))
|
||||
valueArgumentsCount = 0,
|
||||
reflectionTarget = null))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user