IrFunctionReference.fromSymbolDescriptor
(cherry picked from commit f9b70d2fa8649132ba344a9983553835c4afb3dd)
This commit is contained in:
committed by
Vasily Levchenko
parent
db9e3c9085
commit
344b865232
+1
-2
@@ -524,13 +524,12 @@ internal fun KotlinStubs.generateCFunctionPointer(
|
|||||||
)
|
)
|
||||||
addKotlin(fakeFunction)
|
addKotlin(fakeFunction)
|
||||||
|
|
||||||
return IrFunctionReferenceImpl(
|
return IrFunctionReferenceImpl.fromSymbolDescriptor(
|
||||||
expression.startOffset,
|
expression.startOffset,
|
||||||
expression.endOffset,
|
expression.endOffset,
|
||||||
expression.type,
|
expression.type,
|
||||||
fakeFunction.symbol,
|
fakeFunction.symbol,
|
||||||
typeArgumentsCount = 0,
|
typeArgumentsCount = 0,
|
||||||
fakeFunction.valueParameters.size,
|
|
||||||
reflectionTarget = null
|
reflectionTarget = null
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -113,13 +113,12 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain
|
|||||||
overriddenFunction = overriddenJobDescriptor,
|
overriddenFunction = overriddenJobDescriptor,
|
||||||
targetSymbol = jobFunction.symbol)
|
targetSymbol = jobFunction.symbol)
|
||||||
bridges += bridge
|
bridges += bridge
|
||||||
expression.putValueArgument(3, IrFunctionReferenceImpl(
|
expression.putValueArgument(3, IrFunctionReferenceImpl.fromSymbolDescriptor(
|
||||||
startOffset = job.startOffset,
|
startOffset = job.startOffset,
|
||||||
endOffset = job.endOffset,
|
endOffset = job.endOffset,
|
||||||
type = job.type,
|
type = job.type,
|
||||||
symbol = bridge.symbol,
|
symbol = bridge.symbol,
|
||||||
typeArgumentsCount = 0,
|
typeArgumentsCount = 0,
|
||||||
valueArgumentsCount = bridge.symbol.owner.valueParameters.size,
|
|
||||||
reflectionTarget = null)
|
reflectionTarget = null)
|
||||||
)
|
)
|
||||||
return expression
|
return expression
|
||||||
|
|||||||
+1
-2
@@ -995,12 +995,11 @@ private class InteropTransformer(val context: Context, override val irFile: IrFi
|
|||||||
&& irCallableReference.getArguments().isEmpty()) { renderCompilerError(expression) }
|
&& irCallableReference.getArguments().isEmpty()) { renderCompilerError(expression) }
|
||||||
|
|
||||||
val targetSymbol = irCallableReference.symbol
|
val targetSymbol = irCallableReference.symbol
|
||||||
val jobPointer = IrFunctionReferenceImpl(
|
val jobPointer = IrFunctionReferenceImpl.fromSymbolDescriptor(
|
||||||
builder.startOffset, builder.endOffset,
|
builder.startOffset, builder.endOffset,
|
||||||
symbols.executeImpl.owner.valueParameters[3].type,
|
symbols.executeImpl.owner.valueParameters[3].type,
|
||||||
targetSymbol,
|
targetSymbol,
|
||||||
typeArgumentsCount = 0,
|
typeArgumentsCount = 0,
|
||||||
targetSymbol.owner.valueParameters.size,
|
|
||||||
reflectionTarget = null)
|
reflectionTarget = null)
|
||||||
|
|
||||||
builder.irCall(symbols.executeImpl).apply {
|
builder.irCall(symbols.executeImpl).apply {
|
||||||
|
|||||||
Reference in New Issue
Block a user