diff --git a/plugins/stream-debugger/src/test/java/com/intellij/debugger/streams/trace/dsl/DslTestCase.kt b/plugins/stream-debugger/src/test/java/com/intellij/debugger/streams/trace/dsl/DslTestCase.kt index c7d45c0aabe0..0d5b7c7ac47a 100644 --- a/plugins/stream-debugger/src/test/java/com/intellij/debugger/streams/trace/dsl/DslTestCase.kt +++ b/plugins/stream-debugger/src/test/java/com/intellij/debugger/streams/trace/dsl/DslTestCase.kt @@ -144,6 +144,26 @@ abstract class DslTestCase(private val directoryName: String, private val dsl: D } } + fun testLoopWithBreak() { + doTest { + val objects = declare(variable(types.listOfAny, "objects"), +"getObjects()", false) + forEachLoop(variable(types.anyType, "object"), objects) { + breakIteration() + } + } + } + + fun testLoopWithNestedBreak() { + doTest { + val objects = declare(variable(types.listOfAny, "objects"), +"getObjects()", false) + forEachLoop(variable(types.anyType, "object"), objects) { + ifBranch(loopVariable.property("isEmpty")) { + +breakIteration() + } + } + } + } + fun testLambdaWithExpression() { doTest { +lambda("x") { diff --git a/plugins/stream-debugger/testData/dsl/java/loopWithBreak.out b/plugins/stream-debugger/testData/dsl/java/loopWithBreak.out new file mode 100644 index 000000000000..be221815e79a --- /dev/null +++ b/plugins/stream-debugger/testData/dsl/java/loopWithBreak.out @@ -0,0 +1,4 @@ +final java.util.List objects = getObjects(); +for (java.lang.Object object : objects) { + break; +} diff --git a/plugins/stream-debugger/testData/dsl/java/loopWithNestedBreak.out b/plugins/stream-debugger/testData/dsl/java/loopWithNestedBreak.out new file mode 100644 index 000000000000..aa58f0c2fb68 --- /dev/null +++ b/plugins/stream-debugger/testData/dsl/java/loopWithNestedBreak.out @@ -0,0 +1,6 @@ +final java.util.List objects = getObjects(); +for (java.lang.Object object : objects) { + if(object.isEmpty) { + break; + } +} diff --git a/plugins/stream-debugger/testData/dsl/kotlin/loopWithBreak.out b/plugins/stream-debugger/testData/dsl/kotlin/loopWithBreak.out new file mode 100644 index 000000000000..e5efc63345e4 --- /dev/null +++ b/plugins/stream-debugger/testData/dsl/kotlin/loopWithBreak.out @@ -0,0 +1,4 @@ +var objects: kotlin.collections.List = getObjects() +for (object in objects) { + break +} diff --git a/plugins/stream-debugger/testData/dsl/kotlin/loopWithNestedBreak.out b/plugins/stream-debugger/testData/dsl/kotlin/loopWithNestedBreak.out new file mode 100644 index 000000000000..1e745234699d --- /dev/null +++ b/plugins/stream-debugger/testData/dsl/kotlin/loopWithNestedBreak.out @@ -0,0 +1,6 @@ +var objects: kotlin.collections.List = getObjects() +for (object in objects) { + if (object.isEmpty) { + break + } +}