While loop implementation && first loop test
This commit is contained in:
committed by
Dmitry Petrov
parent
979f2231a1
commit
bcf2b410ba
@@ -0,0 +1,7 @@
|
||||
fun factorial(i: Int): Int {
|
||||
var result = 1
|
||||
for (j in 2..i) {
|
||||
result *= j
|
||||
}
|
||||
return result
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
// FILE: /factorial.kt
|
||||
// FUN: factorial
|
||||
BB 0
|
||||
CONTENT
|
||||
1 FUN public fun factorial(i: kotlin.Int): kotlin.Int
|
||||
2 CONST Int type=kotlin.Int value='1'
|
||||
3 VAR var result: kotlin.Int
|
||||
4 CALL 'iterator(): IntIterator' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
5 VAR IR_TEMPORARY_VARIABLE val tmp0_iterator: kotlin.collections.IntIterator
|
||||
6 WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
OUTGOING -> BB 1
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
BB 1
|
||||
INCOMING <- BB 0, 2
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
CONTENT
|
||||
OUTGOING -> BB 2, 3
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
BB 2
|
||||
INCOMING <- BB 1
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CONTENT
|
||||
1 CALL 'next(): Int' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
2 VAR val j: kotlin.Int
|
||||
3 SET_VAR 'result: Int' type=kotlin.Unit origin=MULTEQ
|
||||
OUTGOING -> BB 1
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
BB 3
|
||||
INCOMING <- BB 1
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CONTENT
|
||||
1 GET_VAR 'result: Int' type=kotlin.Int origin=null
|
||||
2 RETURN type=kotlin.Nothing from='factorial(Int): Int'
|
||||
OUTGOING -> NONE
|
||||
Function exit: FUN public fun factorial(i: kotlin.Int): kotlin.Int
|
||||
|
||||
// END FUN: factorial
|
||||
|
||||
// END FILE: /factorial.kt
|
||||
|
||||
Reference in New Issue
Block a user