Handle break/continue in loop header (condition for 'while', range for 'for').
This commit is contained in:
committed by
Dmitry Petrov
parent
b3866d53cd
commit
d623c70778
@@ -0,0 +1,79 @@
|
||||
FILE /breakContinueInLoopHeader.kt
|
||||
FUN public fun test1(/*0*/ c: kotlin.Boolean?): kotlin.Unit
|
||||
BLOCK_BODY
|
||||
WHILE label=L operator=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value='true'
|
||||
body: BLOCK type=kotlin.Unit operator=null
|
||||
WHILE label=null operator=WHILE_LOOP
|
||||
condition: BLOCK type=kotlin.Boolean operator=ELVIS
|
||||
VAR val tmp0_elvis_lhs: kotlin.Boolean?
|
||||
GET_VAR c type=kotlin.Boolean? operator=null
|
||||
WHEN type=kotlin.Boolean operator=null
|
||||
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
|
||||
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: BREAK label=null loop.label=L depth=1
|
||||
else: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null
|
||||
FUN public fun test2(/*0*/ c: kotlin.Boolean?): kotlin.Unit
|
||||
BLOCK_BODY
|
||||
WHILE label=L operator=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value='true'
|
||||
body: BLOCK type=kotlin.Unit operator=null
|
||||
WHILE label=null operator=WHILE_LOOP
|
||||
condition: BLOCK type=kotlin.Boolean operator=ELVIS
|
||||
VAR val tmp0_elvis_lhs: kotlin.Boolean?
|
||||
GET_VAR c type=kotlin.Boolean? operator=null
|
||||
WHEN type=kotlin.Boolean operator=null
|
||||
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
|
||||
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: CONTINUE label=null loop.label=L depth=1
|
||||
else: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null
|
||||
FUN public fun test3(/*0*/ ss: kotlin.collections.List<kotlin.String>?): kotlin.Unit
|
||||
BLOCK_BODY
|
||||
WHILE label=L operator=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value='true'
|
||||
body: BLOCK type=kotlin.Unit operator=null
|
||||
BLOCK type=kotlin.Unit operator=FOR_LOOP
|
||||
VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String>
|
||||
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
|
||||
$this: BLOCK type=kotlin.collections.List<kotlin.String> operator=ELVIS
|
||||
VAR val tmp0_elvis_lhs: kotlin.collections.List<kotlin.String>?
|
||||
GET_VAR ss type=kotlin.collections.List<kotlin.String>? operator=null
|
||||
WHEN type=kotlin.collections.List<kotlin.String> operator=null
|
||||
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
|
||||
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: CONTINUE label=null loop.label=L depth=0
|
||||
else: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null
|
||||
WHILE label=null operator=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null
|
||||
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
|
||||
VAR val s: kotlin.String
|
||||
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT
|
||||
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null
|
||||
FUN public fun test4(/*0*/ ss: kotlin.collections.List<kotlin.String>?): kotlin.Unit
|
||||
BLOCK_BODY
|
||||
WHILE label=L operator=WHILE_LOOP
|
||||
condition: CONST Boolean type=kotlin.Boolean value='true'
|
||||
body: BLOCK type=kotlin.Unit operator=null
|
||||
BLOCK type=kotlin.Unit operator=FOR_LOOP
|
||||
VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String>
|
||||
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
|
||||
$this: BLOCK type=kotlin.collections.List<kotlin.String> operator=ELVIS
|
||||
VAR val tmp0_elvis_lhs: kotlin.collections.List<kotlin.String>?
|
||||
GET_VAR ss type=kotlin.collections.List<kotlin.String>? operator=null
|
||||
WHEN type=kotlin.collections.List<kotlin.String> operator=null
|
||||
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ
|
||||
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value='null'
|
||||
then: BREAK label=null loop.label=L depth=0
|
||||
else: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null
|
||||
WHILE label=null operator=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
|
||||
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null
|
||||
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
|
||||
VAR val s: kotlin.String
|
||||
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT
|
||||
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null
|
||||
Reference in New Issue
Block a user