[FIR2IR] Don't generate excess IR block from FirSingleExpressionBlock
This is needed to unify K1 and K2 behavior. #KT-65064 #KT-63781 Fixed
This commit is contained in:
@@ -18,10 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
import org.jetbrains.kotlin.fir.deserialization.toQualifiedPropertyAccessExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirContractCallBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirEmptyExpressionBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirUnitExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.fir.extensions.extensionService
|
||||
import org.jetbrains.kotlin.fir.references.*
|
||||
import org.jetbrains.kotlin.fir.resolve.defaultType
|
||||
@@ -862,7 +859,7 @@ class Fir2IrVisitor(
|
||||
override fun visitVariableAssignment(
|
||||
variableAssignment: FirVariableAssignment,
|
||||
data: Any?
|
||||
): IrElement = whileAnalysing(session, variableAssignment) {
|
||||
): IrExpression = whileAnalysing(session, variableAssignment) {
|
||||
val explicitReceiverExpression = variableAssignment.explicitReceiver?.let { receiverExpression ->
|
||||
convertToIrReceiverExpression(
|
||||
receiverExpression, variableAssignment.unwrapLValue()!!
|
||||
@@ -1098,6 +1095,12 @@ class Fir2IrVisitor(
|
||||
return it
|
||||
}
|
||||
}
|
||||
if (this is FirSingleExpressionBlock) {
|
||||
when (val stmt = statement) {
|
||||
is FirExpression -> return convertToIrExpression(stmt)
|
||||
!is FirDeclaration -> return stmt.accept(this@Fir2IrVisitor, null) as IrExpression
|
||||
}
|
||||
}
|
||||
if (source?.kind is KtRealSourceElementKind) {
|
||||
val lastStatementHasNothingType = (statements.lastOrNull() as? FirExpression)?.resolvedType?.isNothing == true
|
||||
return statements.convertToIrBlock(source, origin, forceUnitType = origin?.isLoop == true || lastStatementHasNothingType)
|
||||
|
||||
+18
@@ -1622,6 +1622,24 @@ public class FirLightTreeJvmIrTextTestGenerated extends AbstractFirLightTreeJvmI
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/ir/FirPsiJvmIrTextTestGenerated.java
Generated
+18
@@ -1622,6 +1622,24 @@ public class FirPsiJvmIrTextTestGenerated extends AbstractFirPsiJvmIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
Vendored
+4
-5
@@ -15,11 +15,10 @@ FILE fqName:<root> fileName:/withVarargViewedAsArray.kt
|
||||
VAR FOR_LOOP_VARIABLE name:arg type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.IntIterator declared in <root>.sum' type=kotlin.collections.IntIterator origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var result: kotlin.Int declared in <root>.sum' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var result: kotlin.Int declared in <root>.sum' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val arg: kotlin.Int declared in <root>.sum' type=kotlin.Int origin=null
|
||||
SET_VAR 'var result: kotlin.Int declared in <root>.sum' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var result: kotlin.Int declared in <root>.sum' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val arg: kotlin.Int declared in <root>.sum' type=kotlin.Int origin=null
|
||||
RETURN type=kotlin.Nothing from='public final fun sum (vararg args: kotlin.Int): kotlin.Int declared in <root>'
|
||||
GET_VAR 'var result: kotlin.Int declared in <root>.sum' type=kotlin.Int origin=null
|
||||
FUN name:nsum visibility:public modality:FINAL <> (args:kotlin.Array<out kotlin.Number>) returnType:kotlin.Int
|
||||
|
||||
Vendored
+1
-3
@@ -4,9 +4,7 @@ fun sum(vararg args: Int): Int {
|
||||
val tmp_0: IntIterator = args.iterator()
|
||||
while (tmp_0.hasNext()) { // BLOCK
|
||||
val arg: Int = tmp_0.next()
|
||||
{ // BLOCK
|
||||
result = result.plus(other = arg)
|
||||
}
|
||||
result = result.plus(other = arg)
|
||||
}
|
||||
}
|
||||
return result
|
||||
|
||||
+2
-3
@@ -66,9 +66,8 @@ FILE fqName:<root> fileName:/exhaustiveWhenElseBranch.kt
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_0: <root>.A declared in <root>.testVariableAssignment_throws' type=<root>.A origin=null
|
||||
arg1: GET_ENUM 'ENUM_ENTRY name:V1' type=<root>.A
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'val x: kotlin.Int declared in <root>.testVariableAssignment_throws' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=11
|
||||
then: SET_VAR 'val x: kotlin.Int declared in <root>.testVariableAssignment_throws' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=11
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'public final fun noWhenBranchMatchedException (): kotlin.Nothing declared in kotlin.internal.ir' type=kotlin.Nothing origin=null
|
||||
|
||||
+1
-3
@@ -21,9 +21,7 @@ fun testVariableAssignment_throws(a: A) {
|
||||
{ // BLOCK
|
||||
val tmp_0: A = a
|
||||
when {
|
||||
EQEQ(arg0 = tmp_0, arg1 = A.V1) -> { // BLOCK
|
||||
x = 11
|
||||
}
|
||||
EQEQ(arg0 = tmp_0, arg1 = A.V1) -> x = 11
|
||||
else -> noWhenBranchMatchedException()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
FILE fqName:<root> fileName:/ifWithArrayOperation.kt
|
||||
FUN name:topLevelMethod visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:array type:kotlin.IntArray [val]
|
||||
CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null
|
||||
elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
|
||||
CONST Int type=kotlin.Int value=1
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=2
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=3
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=4
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=5
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_0: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_0: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=6
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_2: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_3: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_2: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_3: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=7
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_4: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_5: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_4: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_5: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=8
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_6: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_7: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_6: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_7: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=9
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_8: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=10
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=11
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_9: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=12
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=13
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_10: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_11: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_12: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_11: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_12: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=14
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_13: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_14: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_13: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_14: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=15
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_15: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_16: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_17: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_16: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_17: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=16
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_18: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_19: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_18: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_19: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=17
|
||||
@@ -0,0 +1,111 @@
|
||||
fun topLevelMethod() {
|
||||
val array: IntArray = intArrayOf(elements = [1])
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
array.set(index = 0, value = 2)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
array.set(index = 0, value = 3)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
array.set(index = 0, value = 4)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
array.set(index = 0, value = 5)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_0: IntArray = array
|
||||
val tmp_1: Int = 0
|
||||
tmp_0.set(index = tmp_1, value = tmp_0.get(index = tmp_1).plus(other = 6))
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_2: IntArray = array
|
||||
val tmp_3: Int = 0
|
||||
tmp_2.set(index = tmp_3, value = tmp_2.get(index = tmp_3).plus(other = 7))
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_4: IntArray = array
|
||||
val tmp_5: Int = 0
|
||||
tmp_4.set(index = tmp_5, value = tmp_4.get(index = tmp_5).plus(other = 8))
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_6: IntArray = array
|
||||
val tmp_7: Int = 0
|
||||
tmp_6.set(index = tmp_7, value = tmp_6.get(index = tmp_7).plus(other = 9))
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_8: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_8, arg1 = 1) -> { // BLOCK
|
||||
array.set(index = 0, value = 10)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
array.set(index = 0, value = 11)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_9: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_9, arg1 = 1) -> { // BLOCK
|
||||
array.set(index = 0, value = 12)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
array.set(index = 0, value = 13)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_10: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_10, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_11: IntArray = array
|
||||
val tmp_12: Int = 0
|
||||
tmp_11.set(index = tmp_12, value = tmp_11.get(index = tmp_12).plus(other = 14))
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_13: IntArray = array
|
||||
val tmp_14: Int = 0
|
||||
tmp_13.set(index = tmp_14, value = tmp_13.get(index = tmp_14).plus(other = 15))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_15: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_15, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_16: IntArray = array
|
||||
val tmp_17: Int = 0
|
||||
tmp_16.set(index = tmp_17, value = tmp_16.get(index = tmp_17).plus(other = 16))
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_18: IntArray = array
|
||||
val tmp_19: Int = 0
|
||||
tmp_18.set(index = tmp_19, value = tmp_18.get(index = tmp_19).plus(other = 17))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,219 @@
|
||||
FILE fqName:<root> fileName:/ifWithArrayOperation.kt
|
||||
FUN name:topLevelMethod visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:array type:kotlin.IntArray [val]
|
||||
CALL 'public final fun intArrayOf (vararg elements: kotlin.Int): kotlin.IntArray declared in kotlin' type=kotlin.IntArray origin=null
|
||||
elements: VARARG type=kotlin.IntArray varargElementType=kotlin.Int
|
||||
CONST Int type=kotlin.Int value=1
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=2
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=3
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=4
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=5
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_0: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_0: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=6
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_2: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_3: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_2: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_3: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=7
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_4: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_5: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_4: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_5: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=8
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_6: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_7: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_6: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_7: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=9
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_8: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=10
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=11
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_9: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=12
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=EQ
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
value: CONST Int type=kotlin.Int value=13
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_10: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_11: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_12: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_11: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_12: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=14
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_13: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_14: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_13: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_14: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=15
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlin.Int [val]
|
||||
CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=GET_ARRAY_ELEMENT
|
||||
$this: GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: CONST Int type=kotlin.Int value=0
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_15: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_16: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_17: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_16: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_17: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=16
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=PLUSEQ
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlin.IntArray [val]
|
||||
GET_VAR 'val array: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlin.Int [val]
|
||||
CONST Int type=kotlin.Int value=0
|
||||
CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_18: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_19: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
value: CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'val tmp_18: kotlin.IntArray declared in <root>.topLevelMethod' type=kotlin.IntArray origin=null
|
||||
index: GET_VAR 'val tmp_19: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=17
|
||||
@@ -0,0 +1,29 @@
|
||||
fun topLevelMethod() {
|
||||
val array = intArrayOf(1)
|
||||
|
||||
if(true) { array[0] = 2 } else { array[0] = 3 }
|
||||
if(true) array[0] = 4 else array[0] = 5
|
||||
|
||||
if(true) { array[0] += 6 } else { array[0] += 7 }
|
||||
if(true) array[0] += 8 else array[0] += 9
|
||||
|
||||
when(array[0]) {
|
||||
1 -> { array[0] = 10 }
|
||||
else -> { array[0] = 11 }
|
||||
}
|
||||
|
||||
when(array[0]) {
|
||||
1 -> array[0] = 12
|
||||
else -> array[0] = 13
|
||||
}
|
||||
|
||||
when(array[0]) {
|
||||
1 -> { array[0] += 14 }
|
||||
else -> { array[0] += 15 }
|
||||
}
|
||||
|
||||
when(array[0]) {
|
||||
1 -> array[0] += 16
|
||||
else -> array[0] += 17
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
fun topLevelMethod() {
|
||||
val array: IntArray = intArrayOf(elements = [1])
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
array.set(index = 0, value = 2)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
array.set(index = 0, value = 3)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> array.set(index = 0, value = 4)
|
||||
else -> array.set(index = 0, value = 5)
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_0: IntArray = array
|
||||
val tmp_1: Int = 0
|
||||
tmp_0.set(index = tmp_1, value = tmp_0.get(index = tmp_1).plus(other = 6))
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_2: IntArray = array
|
||||
val tmp_3: Int = 0
|
||||
tmp_2.set(index = tmp_3, value = tmp_2.get(index = tmp_3).plus(other = 7))
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
val tmp_4: IntArray = array
|
||||
val tmp_5: Int = 0
|
||||
tmp_4.set(index = tmp_5, value = tmp_4.get(index = tmp_5).plus(other = 8))
|
||||
}
|
||||
else -> { // BLOCK
|
||||
val tmp_6: IntArray = array
|
||||
val tmp_7: Int = 0
|
||||
tmp_6.set(index = tmp_7, value = tmp_6.get(index = tmp_7).plus(other = 9))
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_8: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_8, arg1 = 1) -> { // BLOCK
|
||||
array.set(index = 0, value = 10)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
array.set(index = 0, value = 11)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_9: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_9, arg1 = 1) -> array.set(index = 0, value = 12)
|
||||
else -> array.set(index = 0, value = 13)
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_10: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_10, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_11: IntArray = array
|
||||
val tmp_12: Int = 0
|
||||
tmp_11.set(index = tmp_12, value = tmp_11.get(index = tmp_12).plus(other = 14))
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_13: IntArray = array
|
||||
val tmp_14: Int = 0
|
||||
tmp_13.set(index = tmp_14, value = tmp_13.get(index = tmp_14).plus(other = 15))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_15: Int = array.get(index = 0)
|
||||
when {
|
||||
EQEQ(arg0 = tmp_15, arg1 = 1) -> { // BLOCK
|
||||
val tmp_16: IntArray = array
|
||||
val tmp_17: Int = 0
|
||||
tmp_16.set(index = tmp_17, value = tmp_16.get(index = tmp_17).plus(other = 16))
|
||||
}
|
||||
else -> { // BLOCK
|
||||
val tmp_18: IntArray = array
|
||||
val tmp_19: Int = 0
|
||||
tmp_18.set(index = tmp_19, value = tmp_18.get(index = tmp_19).plus(other = 17))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// CHECK:
|
||||
// Mangled name: #topLevelMethod(){}
|
||||
// Public signature: /topLevelMethod|3993481242130118189[0]
|
||||
// Public signature debug description: topLevelMethod(){}
|
||||
fun topLevelMethod(): Unit
|
||||
@@ -0,0 +1,121 @@
|
||||
FILE fqName:<root> fileName:/ifWithAssignment.kt
|
||||
FUN name:topLevelMethod visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:z type:kotlin.Int [var]
|
||||
CONST Int type=kotlin.Int value=1
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=2
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=3
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=4
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=5
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=6
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=7
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=8
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=9
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_0: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=10
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=11
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=12
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=13
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_2: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=14
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=15
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_3: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=16
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=17
|
||||
@@ -0,0 +1,63 @@
|
||||
fun topLevelMethod() {
|
||||
var z: Int = 1
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
z = 2
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = 3
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> z = 4
|
||||
else -> z = 5
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
z = z.plus(other = 6)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = z.plus(other = 7)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> z = z.plus(other = 8)
|
||||
else -> z = z.plus(other = 9)
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_0: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_0, arg1 = 1) -> { // BLOCK
|
||||
z = 10
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = 11
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_1: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_1, arg1 = 1) -> z = 12
|
||||
else -> z = 13
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_2: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_2, arg1 = 1) -> { // BLOCK
|
||||
z = z.plus(other = 14)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = z.plus(other = 15)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_3: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_3, arg1 = 1) -> z = z.plus(other = 16)
|
||||
else -> z = z.plus(other = 17)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
FILE fqName:<root> fileName:/ifWithAssignment.kt
|
||||
FUN name:topLevelMethod visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:z type:kotlin.Int [var]
|
||||
CONST Int type=kotlin.Int value=1
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=2
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=3
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=4
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=5
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=6
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=7
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=8
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=9
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_0: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=10
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=11
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=12
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=EQ
|
||||
CONST Int type=kotlin.Int value=13
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_2: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=14
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=15
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_3: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=16
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=17
|
||||
@@ -0,0 +1,28 @@
|
||||
fun topLevelMethod() {
|
||||
var z = 1
|
||||
if(true) { z = 2 } else { z = 3 }
|
||||
if(true) z = 4 else z = 5
|
||||
|
||||
if(true) { z += 6 } else { z += 7 }
|
||||
if(true) z += 8 else z += 9
|
||||
|
||||
when(z) {
|
||||
1 -> { z = 10 }
|
||||
else -> { z = 11 }
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> z = 12
|
||||
else -> z = 13
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> { z += 14 }
|
||||
else -> { z += 15 }
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> z += 16
|
||||
else -> z += 17
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
fun topLevelMethod() {
|
||||
var z: Int = 1
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
z = 2
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = 3
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> z = 4
|
||||
else -> z = 5
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
z = z.plus(other = 6)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = z.plus(other = 7)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> z = z.plus(other = 8)
|
||||
else -> z = z.plus(other = 9)
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_0: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_0, arg1 = 1) -> { // BLOCK
|
||||
z = 10
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = 11
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_1: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_1, arg1 = 1) -> z = 12
|
||||
else -> z = 13
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_2: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_2, arg1 = 1) -> { // BLOCK
|
||||
z = z.plus(other = 14)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
z = z.plus(other = 15)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_3: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_3, arg1 = 1) -> z = z.plus(other = 16)
|
||||
else -> z = z.plus(other = 17)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// CHECK:
|
||||
// Mangled name: #topLevelMethod(){}
|
||||
// Public signature: /topLevelMethod|3993481242130118189[0]
|
||||
// Public signature debug description: topLevelMethod(){}
|
||||
fun topLevelMethod(): Unit
|
||||
@@ -0,0 +1,355 @@
|
||||
FILE fqName:<root> fileName:/ifWithLoop.kt
|
||||
FUN name:topLevelMethod visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:z type:kotlin.Int [var]
|
||||
CONST Int type=kotlin.Int value=1
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=2
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=3
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_2 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=4
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_2: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_2: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=5
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=6
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=7
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=8
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=9
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=10
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=11
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=12
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=13
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_4: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_5 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=14
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_6 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=15
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_6: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_6: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_7: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_8 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=16
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_8: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_8: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_9 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=17
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_9: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_9: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_10: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=18
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=19
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_11: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=21
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_12: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=22
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=23
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_13: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=24
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
other: CONST Int type=kotlin.Int value=25
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
@@ -0,0 +1,173 @@
|
||||
fun topLevelMethod() {
|
||||
var z: Int = 1
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_0: IntIterator = 0.rangeTo(other = 2).iterator()
|
||||
while (tmp_0.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_0.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_1: IntIterator = 0.rangeTo(other = 3).iterator()
|
||||
while (tmp_1.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_1.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
val tmp_2: IntIterator = 0.rangeTo(other = 4).iterator()
|
||||
while (tmp_2.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_2.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
val tmp_3: IntIterator = 0.rangeTo(other = 5).iterator()
|
||||
while (tmp_3.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_3.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
while (false) z = z.plus(other = 6)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
while (false) z = z.plus(other = 7)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> while (false) z = z.plus(other = 8)
|
||||
else -> while (false) z = z.plus(other = 9)
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 10)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 11)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 12)
|
||||
// } while (false)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 13)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_4: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_4, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_5: IntIterator = 0.rangeTo(other = 14).iterator()
|
||||
while (tmp_5.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_5.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_6: IntIterator = 0.rangeTo(other = 15).iterator()
|
||||
while (tmp_6.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_6.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_7: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_7, arg1 = 1) -> { // BLOCK
|
||||
val tmp_8: IntIterator = 0.rangeTo(other = 16).iterator()
|
||||
while (tmp_8.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_8.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
val tmp_9: IntIterator = 0.rangeTo(other = 17).iterator()
|
||||
while (tmp_9.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_9.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_10: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_10, arg1 = 1) -> { // BLOCK
|
||||
while (false) z = z.plus(other = 18)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
while (false) z = z.plus(other = 19)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_11: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_11, arg1 = 1) -> while (false) z = z.plus(other = 20)
|
||||
else -> while (false) z = z.plus(other = 21)
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_12: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_12, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 22)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 23)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_13: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_13, arg1 = 1) -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 24)
|
||||
// } while (false)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 25)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,355 @@
|
||||
FILE fqName:<root> fileName:/ifWithLoop.kt
|
||||
FUN name:topLevelMethod visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
VAR name:z type:kotlin.Int [var]
|
||||
CONST Int type=kotlin.Int value=1
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=2
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_0: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=3
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_1: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_2 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=4
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_2: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_2: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=5
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=6
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=7
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=8
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=9
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=10
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=11
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=12
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=13
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_4: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_5 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=14
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_5: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_6 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=15
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_6: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_6: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_7: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_8 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=16
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_8: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_8: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||
VAR FOR_LOOP_ITERATOR name:tmp_9 type:kotlin.collections.IntIterator [val]
|
||||
CALL 'public open fun iterator (): kotlin.collections.IntIterator declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
$this: CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE
|
||||
$this: CONST Int type=kotlin.Int value=0
|
||||
other: CONST Int type=kotlin.Int value=17
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR 'val tmp_9: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||
VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
|
||||
CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
$this: GET_VAR 'val tmp_9: kotlin.collections.IntIterator declared in <root>.topLevelMethod' type=kotlin.collections.IntIterator origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: GET_VAR 'val i: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_10: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=18
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=19
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_11: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=20
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: WHILE label=null origin=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
body: SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=21
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_12: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=22
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=23
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BLOCK type=kotlin.Unit origin=WHEN
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlin.Int [val]
|
||||
GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
WHEN type=kotlin.Unit origin=WHEN
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'val tmp_13: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=1
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=24
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
SET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Unit origin=PLUSEQ
|
||||
CALL 'public final fun plus (other: kotlin.Int): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: GET_VAR 'var z: kotlin.Int declared in <root>.topLevelMethod' type=kotlin.Int origin=PLUSEQ
|
||||
other: CONST Int type=kotlin.Int value=25
|
||||
condition: CONST Boolean type=kotlin.Boolean value=false
|
||||
@@ -0,0 +1,42 @@
|
||||
fun topLevelMethod() {
|
||||
var z = 1
|
||||
|
||||
if(true) { for (i in 0..2) z += i } else { for (i in 0..3) z += i }
|
||||
if(true) for (i in 0..4) z += i else for (i in 0..5) z += i
|
||||
|
||||
if(true) { while(false) z += 6 } else { while(false) z += 7 }
|
||||
if(true) while(false) z += 8 else while(false) z += 9
|
||||
|
||||
if(true) { do { z += 10 } while(false) } else { do { z += 11 } while(false) }
|
||||
if(true) do { z += 12 } while(false) else do { z += 13 } while(false)
|
||||
|
||||
when(z) {
|
||||
1 -> { for (i in 0..14) z += i }
|
||||
else -> { for (i in 0..15) z += i }
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> for (i in 0..16) z += i
|
||||
else -> for (i in 0..17) z += i
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> { while(false) z += 18 }
|
||||
else -> { while(false) z += 19 }
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> while(false) z += 20
|
||||
else -> while(false) z += 21
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> { do { z += 22 } while(false) }
|
||||
else -> { do { z += 23 } while(false) }
|
||||
}
|
||||
|
||||
when(z) {
|
||||
1 -> do { z += 24 } while(false)
|
||||
else -> do { z += 25 } while(false)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
fun topLevelMethod() {
|
||||
var z: Int = 1
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_0: IntIterator = 0.rangeTo(other = 2).iterator()
|
||||
while (tmp_0.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_0.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_1: IntIterator = 0.rangeTo(other = 3).iterator()
|
||||
while (tmp_1.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_1.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
val tmp_2: IntIterator = 0.rangeTo(other = 4).iterator()
|
||||
while (tmp_2.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_2.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
val tmp_3: IntIterator = 0.rangeTo(other = 5).iterator()
|
||||
while (tmp_3.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_3.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
while (false) z = z.plus(other = 6)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
while (false) z = z.plus(other = 7)
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> while (false) z = z.plus(other = 8)
|
||||
else -> while (false) z = z.plus(other = 9)
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 10)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 11)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
}
|
||||
when {
|
||||
true -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 12)
|
||||
// } while (false)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 13)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_4: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_4, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_5: IntIterator = 0.rangeTo(other = 14).iterator()
|
||||
while (tmp_5.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_5.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
val tmp_6: IntIterator = 0.rangeTo(other = 15).iterator()
|
||||
while (tmp_6.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_6.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_7: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_7, arg1 = 1) -> { // BLOCK
|
||||
val tmp_8: IntIterator = 0.rangeTo(other = 16).iterator()
|
||||
while (tmp_8.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_8.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
val tmp_9: IntIterator = 0.rangeTo(other = 17).iterator()
|
||||
while (tmp_9.hasNext()) { // BLOCK
|
||||
val i: Int = tmp_9.next()
|
||||
z = z.plus(other = i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_10: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_10, arg1 = 1) -> { // BLOCK
|
||||
while (false) z = z.plus(other = 18)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
while (false) z = z.plus(other = 19)
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_11: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_11, arg1 = 1) -> while (false) z = z.plus(other = 20)
|
||||
else -> while (false) z = z.plus(other = 21)
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_12: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_12, arg1 = 1) -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 22)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
else -> { // BLOCK
|
||||
{ // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 23)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
{ // BLOCK
|
||||
val tmp_13: Int = z
|
||||
when {
|
||||
EQEQ(arg0 = tmp_13, arg1 = 1) -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 24)
|
||||
// } while (false)
|
||||
}
|
||||
else -> { // BLOCK
|
||||
do// COMPOSITE {
|
||||
z = z.plus(other = 25)
|
||||
// } while (false)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
// CHECK:
|
||||
// Mangled name: #topLevelMethod(){}
|
||||
// Public signature: /topLevelMethod|3993481242130118189[0]
|
||||
// Public signature debug description: topLevelMethod(){}
|
||||
fun topLevelMethod(): Unit
|
||||
+8
-10
@@ -12,20 +12,18 @@ FILE fqName:<root> fileName:/kt27933.kt
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.Unit origin=EQ
|
||||
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: GET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.String origin=null
|
||||
other: CONST String type=kotlin.String value="O"
|
||||
then: SET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.Unit origin=EQ
|
||||
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: GET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.String origin=null
|
||||
other: CONST String type=kotlin.String value="O"
|
||||
WHEN type=kotlin.Unit origin=IF
|
||||
BRANCH
|
||||
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.String origin=null
|
||||
arg1: CONST String type=kotlin.String value="O"
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.Unit origin=EQ
|
||||
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: GET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.String origin=null
|
||||
other: CONST String type=kotlin.String value="K"
|
||||
then: SET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.Unit origin=EQ
|
||||
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: GET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.String origin=null
|
||||
other: CONST String type=kotlin.String value="K"
|
||||
RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
|
||||
GET_VAR 'var r: kotlin.String declared in <root>.box' type=kotlin.String origin=null
|
||||
|
||||
@@ -3,14 +3,10 @@ fun box(): String {
|
||||
when {
|
||||
EQEQ(arg0 = r, arg1 = "").not() -> { // BLOCK
|
||||
}
|
||||
else -> { // BLOCK
|
||||
r = r.plus(other = "O")
|
||||
}
|
||||
else -> r = r.plus(other = "O")
|
||||
}
|
||||
when {
|
||||
EQEQ(arg0 = r, arg1 = "O") -> { // BLOCK
|
||||
r = r.plus(other = "K")
|
||||
}
|
||||
EQEQ(arg0 = r, arg1 = "O") -> r = r.plus(other = "K")
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
+18
@@ -1622,6 +1622,24 @@ public class ClassicJvmIrTextTestGenerated extends AbstractClassicJvmIrTextTest
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
+15
@@ -1349,6 +1349,21 @@ public class KlibIrTextTestCaseGenerated extends AbstractKlibIrTextTestCase {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/implicitCastInReturnFromConstructor.kt");
|
||||
|
||||
Generated
+18
@@ -1484,6 +1484,24 @@ public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeJsIrT
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
+18
@@ -1484,6 +1484,24 @@ public class FirPsiJsIrTextTestGenerated extends AbstractFirPsiJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
+18
@@ -1484,6 +1484,24 @@ public class ClassicJsIrTextTestGenerated extends AbstractClassicJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
+18
@@ -1484,6 +1484,24 @@ public class ClassicNativeIrTextTestGenerated extends AbstractClassicNativeIrTex
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
+18
@@ -1484,6 +1484,24 @@ public class FirLightTreeNativeIrTextTestGenerated extends AbstractFirLightTreeN
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
+18
@@ -1484,6 +1484,24 @@ public class FirPsiNativeIrTextTestGenerated extends AbstractFirPsiNativeIrTextT
|
||||
runTest("compiler/testData/ir/irText/expressions/ifElseIf.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithArrayOperation.kt")
|
||||
public void testIfWithArrayOperation() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithArrayOperation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithAssignment.kt")
|
||||
public void testIfWithAssignment() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithAssignment.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("ifWithLoop.kt")
|
||||
public void testIfWithLoop() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/expressions/ifWithLoop.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitCastInReturnFromConstructor.kt")
|
||||
public void testImplicitCastInReturnFromConstructor() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user