[FIR2IR] Fix generating of IINC instruction with FIR for inc/dec operations
This commit is contained in:
committed by
TeamCityServer
parent
3148913e60
commit
98596eaa08
+8
-1
@@ -316,7 +316,14 @@ class CallAndReferenceGenerator(
|
||||
val calleeReference = variableAssignment.calleeReference
|
||||
val symbol =
|
||||
calleeReference.toSymbolForCall(session, classifierStorage, declarationStorage, conversionScope, preferGetter = false)
|
||||
val origin = IrStatementOrigin.EQ
|
||||
val origin = if (variableAssignment.source?.kind is FirFakeSourceElementKind.DesugaredIncrementOrDecrement) {
|
||||
if ((variableAssignment.rValue as? FirFunctionCall)?.calleeReference?.name?.asString() == "inc")
|
||||
IrStatementOrigin.PREFIX_INCR
|
||||
else
|
||||
IrStatementOrigin.PREFIX_DECR
|
||||
} else {
|
||||
IrStatementOrigin.EQ
|
||||
}
|
||||
return variableAssignment.convertWithOffsets { startOffset, endOffset ->
|
||||
val assignedValue = visitor.convertToIrExpression(variableAssignment.rValue)
|
||||
when (symbol) {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
fun main(args: Array<String>) {
|
||||
var i = 10
|
||||
++i
|
||||
|
||||
Reference in New Issue
Block a user