IrFunctionReference.fromSymbolDescriptor

(cherry picked from commit f9b70d2fa8649132ba344a9983553835c4afb3dd)
This commit is contained in:
Georgy Bronnikov
2020-10-14 14:55:07 +03:00
committed by Vasily Levchenko
parent db9e3c9085
commit 344b865232
3 changed files with 3 additions and 6 deletions
@@ -524,13 +524,12 @@ internal fun KotlinStubs.generateCFunctionPointer(
)
addKotlin(fakeFunction)
return IrFunctionReferenceImpl(
return IrFunctionReferenceImpl.fromSymbolDescriptor(
expression.startOffset,
expression.endOffset,
expression.type,
fakeFunction.symbol,
typeArgumentsCount = 0,
fakeFunction.valueParameters.size,
reflectionTarget = null
)
}
@@ -113,13 +113,12 @@ internal class WorkersBridgesBuilding(val context: Context) : DeclarationContain
overriddenFunction = overriddenJobDescriptor,
targetSymbol = jobFunction.symbol)
bridges += bridge
expression.putValueArgument(3, IrFunctionReferenceImpl(
expression.putValueArgument(3, IrFunctionReferenceImpl.fromSymbolDescriptor(
startOffset = job.startOffset,
endOffset = job.endOffset,
type = job.type,
symbol = bridge.symbol,
typeArgumentsCount = 0,
valueArgumentsCount = bridge.symbol.owner.valueParameters.size,
reflectionTarget = null)
)
return expression
@@ -995,12 +995,11 @@ private class InteropTransformer(val context: Context, override val irFile: IrFi
&& irCallableReference.getArguments().isEmpty()) { renderCompilerError(expression) }
val targetSymbol = irCallableReference.symbol
val jobPointer = IrFunctionReferenceImpl(
val jobPointer = IrFunctionReferenceImpl.fromSymbolDescriptor(
builder.startOffset, builder.endOffset,
symbols.executeImpl.owner.valueParameters[3].type,
targetSymbol,
typeArgumentsCount = 0,
targetSymbol.owner.valueParameters.size,
reflectionTarget = null)
builder.irCall(symbols.executeImpl).apply {