DFG: Eliminate calls to <reinterpret>
This commit is contained in:
+3
@@ -409,6 +409,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag
|
|||||||
private val executeImplProducerClassSymbol = symbols.functions[0]
|
private val executeImplProducerClassSymbol = symbols.functions[0]
|
||||||
private val executeImplProducerInvoke = executeImplProducerClassSymbol.owner.simpleFunctions()
|
private val executeImplProducerInvoke = executeImplProducerClassSymbol.owner.simpleFunctions()
|
||||||
.single { it.name == OperatorNameConventions.INVOKE }
|
.single { it.name == OperatorNameConventions.INVOKE }
|
||||||
|
private val reinterpret = symbols.reinterpret
|
||||||
|
|
||||||
private inner class FunctionDFGBuilder(val expressionValuesExtractor: ExpressionValuesExtractor,
|
private inner class FunctionDFGBuilder(val expressionValuesExtractor: ExpressionValuesExtractor,
|
||||||
val variableValues: VariableValues,
|
val variableValues: VariableValues,
|
||||||
@@ -590,6 +591,8 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag
|
|||||||
value.getTypeArgument(0)!!.getClass()!!
|
value.getTypeArgument(0)!!.getClass()!!
|
||||||
))
|
))
|
||||||
|
|
||||||
|
reinterpret -> getNode(value.extensionReceiver!!)
|
||||||
|
|
||||||
initInstanceSymbol -> {
|
initInstanceSymbol -> {
|
||||||
val thiz = expressionToEdge(value.getValueArgument(0)!!)
|
val thiz = expressionToEdge(value.getValueArgument(0)!!)
|
||||||
val initializer = value.getValueArgument(1) as IrConstructorCall
|
val initializer = value.getValueArgument(1) as IrConstructorCall
|
||||||
|
|||||||
Reference in New Issue
Block a user