Replaced symbols comparison with descriptors comparison
This commit is contained in:
+4
-3
@@ -39,8 +39,9 @@ internal class DataClassOperatorsLowering(val context: Context): FunctionLowerin
|
|||||||
override fun visitCall(expression: IrCall): IrExpression {
|
override fun visitCall(expression: IrCall): IrExpression {
|
||||||
expression.transformChildrenVoid(this)
|
expression.transformChildrenVoid(this)
|
||||||
|
|
||||||
if (expression.symbol != irBuiltins.dataClassArrayMemberToStringSymbol
|
val descriptor = expression.descriptor.original
|
||||||
&& expression.symbol != irBuiltins.dataClassArrayMemberHashCodeSymbol)
|
if (descriptor != irBuiltins.dataClassArrayMemberToString
|
||||||
|
&& descriptor != irBuiltins.dataClassArrayMemberHashCode)
|
||||||
return expression
|
return expression
|
||||||
|
|
||||||
val argument = expression.getValueArgument(0)!!
|
val argument = expression.getValueArgument(0)!!
|
||||||
@@ -50,7 +51,7 @@ internal class DataClassOperatorsLowering(val context: Context): FunctionLowerin
|
|||||||
argumentType
|
argumentType
|
||||||
else
|
else
|
||||||
(argumentType.constructor.declarationDescriptor as ClassDescriptor).defaultType
|
(argumentType.constructor.declarationDescriptor as ClassDescriptor).defaultType
|
||||||
val isToString = expression.symbol == irBuiltins.dataClassArrayMemberToStringSymbol
|
val isToString = descriptor == irBuiltins.dataClassArrayMemberToString
|
||||||
val newSymbol = if (isToString)
|
val newSymbol = if (isToString)
|
||||||
context.ir.symbols.arrayContentToString[genericType]!!
|
context.ir.symbols.arrayContentToString[genericType]!!
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user