Merge pull request #9153 from tamasvajk/kotlin-simplify-loop-breaks-1

Kotlin: Unify loop `break`/`continue` statement handling between java and kotlin
This commit is contained in:
Tamás Vajk
2022-06-24 14:45:57 +02:00
committed by GitHub
13 changed files with 5895 additions and 3360 deletions

View File

@@ -1,7 +1,6 @@
breakLabel
| stmts.kt:25:24:25:33 | break | loop |
continueLabel
breakTarget
jumpTarget
| stmts.kt:25:24:25:33 | break | stmts.kt:23:11:27:5 | while (...) |
continueTarget
| stmts.kt:29:9:29:16 | continue | stmts.kt:28:5:29:16 | while (...) |

View File

@@ -4,6 +4,4 @@ query predicate breakLabel(BreakStmt s, string label) { s.getLabel() = label }
query predicate continueLabel(ContinueStmt s, string label) { s.getLabel() = label }
query predicate breakTarget(KtBreakStmt s, KtLoopStmt l) { s.getLoopStmt() = l }
query predicate continueTarget(KtContinueStmt s, KtLoopStmt l) { s.getLoopStmt() = l }
query predicate jumpTarget(JumpStmt s, StmtParent p) { s.getTarget() = p }

View File

@@ -29,7 +29,8 @@ enclosing
| stmts.kt:18:37:18:37 | <Expr>; | stmts.kt:18:26:18:56 | ... -> ... |
| stmts.kt:18:52:18:52 | <Expr>; | stmts.kt:18:26:18:56 | ... -> ... |
| stmts.kt:19:5:19:16 | return ... | stmts.kt:2:41:20:1 | { ... } |
| stmts.kt:23:11:27:5 | while (...) | stmts.kt:22:27:30:1 | { ... } |
| stmts.kt:23:11:27:5 | <Label>: ... | stmts.kt:22:27:30:1 | { ... } |
| stmts.kt:23:11:27:5 | while (...) | stmts.kt:23:11:27:5 | <Label>: ... |
| stmts.kt:23:27:27:5 | { ... } | stmts.kt:23:11:27:5 | while (...) |
| stmts.kt:24:9:26:25 | do ... while (...) | stmts.kt:24:9:26:25 | { ... } |
| stmts.kt:24:9:26:25 | { ... } | stmts.kt:23:27:27:5 | { ... } |
@@ -80,6 +81,7 @@ enclosing
| stmts.kt:18:52:18:52 | <Expr>; | ExprStmt |
| stmts.kt:19:5:19:16 | return ... | ReturnStmt |
| stmts.kt:22:27:30:1 | { ... } | BlockStmt |
| stmts.kt:23:11:27:5 | <Label>: ... | LabeledStmt |
| stmts.kt:23:11:27:5 | while (...) | WhileStmt |
| stmts.kt:23:27:27:5 | { ... } | BlockStmt |
| stmts.kt:24:9:26:25 | do ... while (...) | DoStmt |