| // FILE: /isPerfect.kt |
| // FUN: isPerfect |
| BB 0 |
| CONTENT |
| 1 FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean |
| 2 CONST Int type=kotlin.Int value=1 |
| 3 VAR name:sum type:kotlin.Int [var] |
| 4 CONST Int type=kotlin.Int value=2 |
| 5 GET_VAR 'n: kotlin.Int declared in <root>.isPerfect' type=kotlin.Int origin=null |
| 6 CONST Int type=kotlin.Int value=2 |
| 7 CALL 'public final fun div (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=DIV |
| 8 CALL 'public final fun rangeTo (other: kotlin.Int): kotlin.ranges.IntRange [operator] declared in kotlin.Int' type=kotlin.ranges.IntRange origin=RANGE |
| 9 CALL 'public open fun iterator (): kotlin.collections.IntIterator [fake_override,operator] declared in kotlin.ranges.IntRange' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR |
| 10 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator [val] |
| 11 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, 3, 6 |
| While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE |
| CONTENT |
| 1 GET_VAR 'val tmp0_iterator: kotlin.collections.IntIterator [val] declared in <root>.isPerfect' type=kotlin.collections.IntIterator origin=null |
| OUTGOING -> BB 2, 7 |
| CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT |
| BB 2 |
| INCOMING <- BB 1 |
| CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT |
| CONTENT |
| 1 GET_VAR 'val tmp0_iterator: kotlin.collections.IntIterator [val] declared in <root>.isPerfect' type=kotlin.collections.IntIterator origin=null |
| 2 CALL 'public final fun next (): kotlin.Int [operator] declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT |
| 3 VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int [val] |
| 4 WHEN type=kotlin.Unit origin=IF |
| 5 GET_VAR 'n: kotlin.Int declared in <root>.isPerfect' type=kotlin.Int origin=null |
| 6 GET_VAR 'val m: kotlin.Int [val] declared in <root>.isPerfect' type=kotlin.Int origin=null |
| 7 CALL 'public final fun rem (other: kotlin.Int): kotlin.Int [operator] declared in kotlin.Int' type=kotlin.Int origin=PERC |
| 8 CONST Int type=kotlin.Int value=0 |
| OUTGOING -> BB 3, 4 |
| CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT |
| BB 3 |
| INCOMING <- BB 2 |
| CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT |
| CONTENT |
| 1 CONTINUE label=null loop.label=null |
| OUTGOING -> BB 1 |
| While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE |
| BB 4 |
| INCOMING <- BB 2 |
| CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT |
| CONTENT |
| 1 SET_VAR 'var sum: kotlin.Int [var] declared in <root>.isPerfect' type=kotlin.Unit origin=PLUSEQ |
| 2 WHEN type=kotlin.Unit origin=IF |
| 3 GET_VAR 'var sum: kotlin.Int [var] declared in <root>.isPerfect' type=kotlin.Int origin=null |
| 4 GET_VAR 'n: kotlin.Int declared in <root>.isPerfect' type=kotlin.Int origin=null |
| OUTGOING -> BB 5, 6 |
| CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT |
| BB 5 |
| INCOMING <- BB 4 |
| CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT |
| CONTENT |
| 1 BREAK label=null loop.label=null |
| OUTGOING -> BB 8 |
| While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE |
| BB 6 |
| INCOMING <- BB 4 |
| CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT |
| CONTENT |
| OUTGOING -> BB 1 |
| While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE |
| BB 7 |
| INCOMING <- BB 1 |
| CALL 'public abstract fun hasNext (): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT |
| CONTENT |
| OUTGOING -> BB 8 |
| While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE |
| BB 8 |
| INCOMING <- BB 5, 7 |
| While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE |
| CONTENT |
| 1 GET_VAR 'var sum: kotlin.Int [var] declared in <root>.isPerfect' type=kotlin.Int origin=null |
| 2 GET_VAR 'n: kotlin.Int declared in <root>.isPerfect' type=kotlin.Int origin=null |
| 3 CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ |
| 4 RETURN type=kotlin.Nothing from='public final fun isPerfect (n: kotlin.Int): kotlin.Boolean declared in <root>' |
| OUTGOING -> NONE |
| Function exit: FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean |
| |
| // END FUN: isPerfect |
| |
| // END FILE: /isPerfect.kt |
| |