IR: don't use descriptors in rendering (work in progress)
There's some descriptor-based code remaining. Need some more work on IR.
This commit is contained in:
+21
-21
@@ -2,11 +2,11 @@
|
||||
// FUN: digitCountInNumber
|
||||
BB 0
|
||||
CONTENT
|
||||
1 FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:
|
||||
1 FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:[]
|
||||
2 CONST Int type=kotlin.Int value=0
|
||||
3 VAR name:count type:kotlin.Int flags:var
|
||||
4 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null
|
||||
5 VAR name:number type:kotlin.Int flags:var
|
||||
3 VAR name:count type:kotlin.Int flags:[var]
|
||||
4 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
5 VAR name:number type:kotlin.Int flags:[var]
|
||||
6 DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
OUTGOING -> BB 1
|
||||
Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
@@ -15,20 +15,20 @@ INCOMING <- BB 0, 4
|
||||
Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
CONTENT
|
||||
1 WHEN type=kotlin.Unit origin=IF
|
||||
2 GET_VAR 'value-parameter m: Int' type=kotlin.Int origin=null
|
||||
3 GET_VAR 'number: Int' type=kotlin.Int origin=null
|
||||
2 GET_VAR 'VALUE_PARAMETER name:m index:1 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
3 GET_VAR 'VAR name:number type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
|
||||
4 CONST Int type=kotlin.Int value=10
|
||||
5 CALL 'rem(Int): Int' type=kotlin.Int origin=PERC
|
||||
5 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERC
|
||||
OUTGOING -> BB 2
|
||||
CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
|
||||
BB 2
|
||||
INCOMING <- BB 1
|
||||
CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
|
||||
CONTENT
|
||||
1 GET_VAR 'count: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
2 VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val
|
||||
3 SET_VAR 'count: Int' type=kotlin.Unit origin=POSTFIX_INCR
|
||||
4 GET_VAR 'tmp0: Int' type=kotlin.Int origin=null
|
||||
1 GET_VAR 'VAR name:count type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR
|
||||
2 VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]
|
||||
3 SET_VAR 'VAR name:count type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR
|
||||
4 GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null
|
||||
5 TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
OUTGOING -> BB 3
|
||||
When exit: WHEN type=kotlin.Unit origin=IF
|
||||
@@ -36,20 +36,20 @@ BB 3
|
||||
INCOMING <- BB 2
|
||||
When exit: WHEN type=kotlin.Unit origin=IF
|
||||
CONTENT
|
||||
1 SET_VAR 'number: Int' type=kotlin.Unit origin=DIVEQ
|
||||
2 GET_VAR 'number: Int' type=kotlin.Int origin=null
|
||||
1 SET_VAR 'VAR name:number type:kotlin.Int flags:[var]' type=kotlin.Unit origin=DIVEQ
|
||||
2 GET_VAR 'VAR name:number type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
|
||||
3 CONST Int type=kotlin.Int value=0
|
||||
OUTGOING -> BB 4, 5
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
|
||||
BB 4
|
||||
INCOMING <- BB 3
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
|
||||
CONTENT
|
||||
OUTGOING -> BB 1
|
||||
Do..while entry: DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
BB 5
|
||||
INCOMING <- BB 3
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
|
||||
CONTENT
|
||||
OUTGOING -> BB 6
|
||||
Do..while exit: DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
@@ -57,10 +57,10 @@ BB 6
|
||||
INCOMING <- BB 5
|
||||
Do..while exit: DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
CONTENT
|
||||
1 GET_VAR 'count: Int' type=kotlin.Int origin=null
|
||||
2 RETURN type=kotlin.Nothing from='digitCountInNumber(Int, Int): Int'
|
||||
1 GET_VAR 'VAR name:count type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
|
||||
2 RETURN type=kotlin.Nothing from='FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:[]'
|
||||
OUTGOING -> NONE
|
||||
Function exit: FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:
|
||||
Function exit: FUN name:digitCountInNumber visibility:public modality:FINAL <> (n:kotlin.Int, m:kotlin.Int) returnType:kotlin.Int flags:[]
|
||||
|
||||
// END FUN: digitCountInNumber
|
||||
|
||||
|
||||
+17
-17
@@ -2,14 +2,14 @@
|
||||
// FUN: factorial
|
||||
BB 0
|
||||
CONTENT
|
||||
1 FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:
|
||||
1 FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[]
|
||||
2 CONST Int type=kotlin.Int value=1
|
||||
3 VAR name:result type:kotlin.Int flags:var
|
||||
3 VAR name:result type:kotlin.Int flags:[var]
|
||||
4 CONST Int type=kotlin.Int value=2
|
||||
5 GET_VAR 'value-parameter i: Int' type=kotlin.Int origin=null
|
||||
6 CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE
|
||||
7 CALL 'iterator(): IntIterator' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
8 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:val
|
||||
5 GET_VAR 'VALUE_PARAMETER name:i index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
6 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE
|
||||
7 CALL 'FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.ranges.IntProgression) returnType:kotlin.collections.IntIterator flags:[]' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
8 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]
|
||||
9 WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
OUTGOING -> BB 1
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
@@ -17,22 +17,22 @@ BB 1
|
||||
INCOMING <- BB 0, 2
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
CONTENT
|
||||
1 GET_VAR 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null
|
||||
1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null
|
||||
OUTGOING -> BB 2, 3
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Int>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
BB 2
|
||||
INCOMING <- BB 1
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Int>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CONTENT
|
||||
1 GET_VAR 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null
|
||||
2 CALL 'next(): Int' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
3 VAR FOR_LOOP_VARIABLE name:j type:kotlin.Int flags:val
|
||||
4 SET_VAR 'result: Int' type=kotlin.Unit origin=MULTEQ
|
||||
1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null
|
||||
2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:FINAL <> ($this:kotlin.collections.IntIterator) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
3 VAR FOR_LOOP_VARIABLE name:j type:kotlin.Int flags:[val]
|
||||
4 SET_VAR 'VAR name:result type:kotlin.Int flags:[var]' 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
|
||||
CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Int>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CONTENT
|
||||
OUTGOING -> BB 4
|
||||
While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
@@ -40,10 +40,10 @@ BB 4
|
||||
INCOMING <- BB 3
|
||||
While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
CONTENT
|
||||
1 GET_VAR 'result: Int' type=kotlin.Int origin=null
|
||||
2 RETURN type=kotlin.Nothing from='factorial(Int): Int'
|
||||
1 GET_VAR 'VAR name:result type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
|
||||
2 RETURN type=kotlin.Nothing from='FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[]'
|
||||
OUTGOING -> NONE
|
||||
Function exit: FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:
|
||||
Function exit: FUN name:factorial visibility:public modality:FINAL <> (i:kotlin.Int) returnType:kotlin.Int flags:[]
|
||||
|
||||
// END FUN: factorial
|
||||
|
||||
|
||||
+31
-31
@@ -2,16 +2,16 @@
|
||||
// FUN: isPerfect
|
||||
BB 0
|
||||
CONTENT
|
||||
1 FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:
|
||||
1 FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:[]
|
||||
2 CONST Int type=kotlin.Int value=1
|
||||
3 VAR name:sum type:kotlin.Int flags:var
|
||||
3 VAR name:sum type:kotlin.Int flags:[var]
|
||||
4 CONST Int type=kotlin.Int value=2
|
||||
5 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null
|
||||
5 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
6 CONST Int type=kotlin.Int value=2
|
||||
7 CALL 'div(Int): Int' type=kotlin.Int origin=DIV
|
||||
8 CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange origin=RANGE
|
||||
9 CALL 'iterator(): IntIterator' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
10 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:val
|
||||
7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:div visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=DIV
|
||||
8 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rangeTo visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.ranges.IntRange flags:[]' type=kotlin.ranges.IntRange origin=RANGE
|
||||
9 CALL 'FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:kotlin.ranges.IntProgression) returnType:kotlin.collections.IntIterator flags:[]' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
|
||||
10 VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]
|
||||
11 WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
OUTGOING -> BB 1
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
@@ -19,56 +19,56 @@ BB 1
|
||||
INCOMING <- BB 0, 3, 6
|
||||
While entry: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
CONTENT
|
||||
1 GET_VAR 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null
|
||||
1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null
|
||||
OUTGOING -> BB 2, 7
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Int>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
BB 2
|
||||
INCOMING <- BB 1
|
||||
CALL 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Int>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CONTENT
|
||||
1 GET_VAR 'tmp0_iterator: IntIterator' type=kotlin.collections.IntIterator origin=null
|
||||
2 CALL 'next(): Int' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
3 VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int flags:val
|
||||
1 GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.IntIterator flags:[val]' type=kotlin.collections.IntIterator origin=null
|
||||
2 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:FINAL <> ($this:kotlin.collections.IntIterator) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=FOR_LOOP_NEXT
|
||||
3 VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int flags:[val]
|
||||
4 WHEN type=kotlin.Unit origin=IF
|
||||
5 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null
|
||||
6 GET_VAR 'm: Int' type=kotlin.Int origin=null
|
||||
7 CALL 'rem(Int): Int' type=kotlin.Int origin=PERC
|
||||
5 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
6 GET_VAR 'VAR FOR_LOOP_VARIABLE name:m type:kotlin.Int flags:[val]' type=kotlin.Int origin=null
|
||||
7 CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:rem visibility:public modality:FINAL <> ($this:kotlin.Int, other:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=PERC
|
||||
8 CONST Int type=kotlin.Int value=0
|
||||
OUTGOING -> BB 3, 4
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
|
||||
BB 3
|
||||
INCOMING <- BB 2
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' 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 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
|
||||
CONTENT
|
||||
1 SET_VAR 'sum: Int' type=kotlin.Unit origin=PLUSEQ
|
||||
1 SET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Unit origin=PLUSEQ
|
||||
2 WHEN type=kotlin.Unit origin=IF
|
||||
3 GET_VAR 'sum: Int' type=kotlin.Int origin=null
|
||||
4 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null
|
||||
3 GET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
|
||||
4 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
OUTGOING -> BB 5, 6
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=GT
|
||||
BB 5
|
||||
INCOMING <- BB 4
|
||||
CALL 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' 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 'greater(Int, Int): Boolean' type=kotlin.Boolean origin=GT
|
||||
CALL 'FUN IR_BUILTINS_STUB name:greater visibility:public modality:FINAL <> (arg0:kotlin.Int, arg1:kotlin.Int) returnType:kotlin.Boolean flags:[]' 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 'hasNext(): Boolean' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Int>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||
CONTENT
|
||||
OUTGOING -> BB 8
|
||||
While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
@@ -76,12 +76,12 @@ BB 8
|
||||
INCOMING <- BB 5, 7
|
||||
While exit: WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
CONTENT
|
||||
1 GET_VAR 'sum: Int' type=kotlin.Int origin=null
|
||||
2 GET_VAR 'value-parameter n: Int' type=kotlin.Int origin=null
|
||||
3 CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
4 RETURN type=kotlin.Nothing from='isPerfect(Int): Boolean'
|
||||
1 GET_VAR 'VAR name:sum type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
|
||||
2 GET_VAR 'VALUE_PARAMETER name:n index:0 type:kotlin.Int flags:[]' type=kotlin.Int origin=null
|
||||
3 CALL 'FUN IR_BUILTINS_STUB name:EQEQ visibility:public modality:FINAL <> (arg0:kotlin.Any?, arg1:kotlin.Any?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EQEQ
|
||||
4 RETURN type=kotlin.Nothing from='FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:[]'
|
||||
OUTGOING -> NONE
|
||||
Function exit: FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:
|
||||
Function exit: FUN name:isPerfect visibility:public modality:FINAL <> (n:kotlin.Int) returnType:kotlin.Boolean flags:[]
|
||||
|
||||
// END FUN: isPerfect
|
||||
|
||||
|
||||
Reference in New Issue
Block a user