Unify loop break/continue statement handling between java and kotlin

This commit is contained in:
Tamas Vajk
2022-05-03 10:48:51 +02:00
parent b609f1ea52
commit dabc956dbf
6 changed files with 49 additions and 75 deletions

View File

@@ -888,27 +888,3 @@ class SuperConstructorInvocationStmt extends Stmt, ConstructorCall, @superconstr
override string getAPrimaryQlClass() { result = "SuperConstructorInvocationStmt" }
}
/** A Kotlin loop statement. */
class KtLoopStmt extends Stmt, @ktloopstmt {
KtLoopStmt() {
this instanceof WhileStmt or
this instanceof DoStmt
}
}
/** A Kotlin `break` or `continue` statement. */
abstract class KtBreakContinueStmt extends Stmt, @breakcontinuestmt {
KtLoopStmt loop;
KtBreakContinueStmt() { ktBreakContinueTargets(this, loop) }
/** Gets the target loop statement of this `break`. */
KtLoopStmt getLoopStmt() { result = loop }
}
/** A Kotlin `break` statement. */
class KtBreakStmt extends BreakStmt, KtBreakContinueStmt { }
/** A Kotlin `continue` statement. */
class KtContinueStmt extends ContinueStmt, KtBreakContinueStmt { }