diff --git a/idea/testData/debugger/sequence/psi/streams/negative/AfterStatement.kt b/idea/testData/debugger/sequence/psi/streams/negative/AfterStatement.kt new file mode 100644 index 00000000000..3e9d19ac6bb --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/AfterStatement.kt @@ -0,0 +1,7 @@ +import java.util.stream.Stream + +fun main(args: Array) { + val before = 10 + val count = Stream.of("abc", "acd", "ef").map(String::length).count() + val after = 20 +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnElseBranch.kt b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnElseBranch.kt new file mode 100644 index 00000000000..bf31ea69699 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnElseBranch.kt @@ -0,0 +1,9 @@ +import java.util.stream.IntStream + +fun main(args: Array) { + if (args.isEmpty()) { + val s = IntStream.range(1, 2).sum() + } else { + val s = IntStream.range(1, 5).sum() + } +} \ No newline at end of file diff --git a/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnIfCondition.kt b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnIfCondition.kt new file mode 100644 index 00000000000..bdd76c9cf4f --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnIfCondition.kt @@ -0,0 +1,9 @@ +import java.util.stream.IntStream + +fun main(args: Array) { + if (args.isEmpty()) { + val s = IntStream.range(1, 2).sum() + } else { + val s = IntStream.range(1, 5).sum() + } +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnMethod.kt b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnMethod.kt new file mode 100644 index 00000000000..af1780799ff --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnMethod.kt @@ -0,0 +1,5 @@ +import java.util.stream.IntStream + +fun main(args: Array) { + val s = IntStream.range(1, 2).sum() +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnNewScope.kt b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnNewScope.kt new file mode 100644 index 00000000000..e4d9ad8b5f5 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/BreakpointOnNewScope.kt @@ -0,0 +1,5 @@ +import java.util.stream.IntStream + +fun main(args: Array) { + run { val s = IntStream.range(1, 2).sum() } +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/FakeStream.kt b/idea/testData/debugger/sequence/psi/streams/negative/FakeStream.kt new file mode 100644 index 00000000000..9474fdca684 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/FakeStream.kt @@ -0,0 +1,22 @@ +import java.util.function.IntPredicate + +private class IntStream { + + fun filter(predicate: IntPredicate): IntStream { + return this + } + + fun sum(): Int { + return 0 + } + + companion object { + fun of(vararg a: Int): IntStream { + return IntStream() + } + } +} + +fun main(args: Array) { + val s = IntStream.of(1, 2).filter(IntPredicate { it % 2 == 0 }).sum() +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/Idea173415.kt b/idea/testData/debugger/sequence/psi/streams/negative/Idea173415.kt new file mode 100644 index 00000000000..83653b7c88f --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/Idea173415.kt @@ -0,0 +1,6 @@ +private val runnableSupplier: () -> () -> Unit + get() = + { { } } + +fun main(args: Array) { +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/InAnonymous.kt b/idea/testData/debugger/sequence/psi/streams/negative/InAnonymous.kt new file mode 100644 index 00000000000..30a56b172ac --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/InAnonymous.kt @@ -0,0 +1,5 @@ +import java.util.stream.Stream + +fun main(args: Array) { + val a = Runnable { val c = Stream.of(1, 2).count() } +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/Simple.kt b/idea/testData/debugger/sequence/psi/streams/negative/InLambda.kt similarity index 55% rename from idea/testData/debugger/sequence/psi/streams/negative/Simple.kt rename to idea/testData/debugger/sequence/psi/streams/negative/InLambda.kt index e7cf48f1ea9..13c1e0b2687 100644 --- a/idea/testData/debugger/sequence/psi/streams/negative/Simple.kt +++ b/idea/testData/debugger/sequence/psi/streams/negative/InLambda.kt @@ -1,6 +1,5 @@ import java.util.stream.Stream fun main(args: Array) { - val a = 100 - Stream.of(1, 2, 3).toArray() + val a = { Stream.of(1, 2).count() } } diff --git a/idea/testData/debugger/sequence/psi/streams/negative/InLambdaWithBody.kt b/idea/testData/debugger/sequence/psi/streams/negative/InLambdaWithBody.kt new file mode 100644 index 00000000000..4e425882241 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/InLambdaWithBody.kt @@ -0,0 +1,5 @@ +import java.util.stream.Stream + +fun main(args: Array) { + val a = { x -> Stream.of(1, 2).count() } +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/InNextStatement.kt b/idea/testData/debugger/sequence/psi/streams/negative/InNextStatement.kt new file mode 100644 index 00000000000..0528b4b5ee6 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/InNextStatement.kt @@ -0,0 +1,6 @@ +import java.util.stream.Stream + +fun main(args: Array) { + val count = Stream.of("abc", "acd", "ef").map(String::length).count() + val after = 20 +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/InPreviousStatement.kt b/idea/testData/debugger/sequence/psi/streams/negative/InPreviousStatement.kt new file mode 100644 index 00000000000..5d13b68453d --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/InPreviousStatement.kt @@ -0,0 +1,6 @@ +import java.util.stream.Stream + +fun main(args: Array) { + val before = 10 + val count = Stream.of("abc", "acd", "ef").map(String::length).count() +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/NoBreakpoint.kt b/idea/testData/debugger/sequence/psi/streams/negative/NoBreakpoint.kt new file mode 100644 index 00000000000..d4cc30b9ff9 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/NoBreakpoint.kt @@ -0,0 +1,5 @@ +import java.util.stream.IntStream + +fun main(args: Array) { + val s = IntStream.range(1, 2).sum() +} diff --git a/idea/testData/debugger/sequence/psi/streams/negative/WithoutTerminalOperation.kt b/idea/testData/debugger/sequence/psi/streams/negative/WithoutTerminalOperation.kt new file mode 100644 index 00000000000..7a8f8397e99 --- /dev/null +++ b/idea/testData/debugger/sequence/psi/streams/negative/WithoutTerminalOperation.kt @@ -0,0 +1,5 @@ +import java.util.stream.IntStream + +fun main(args: Array) { + val range = IntStream.range(1, 2) +} diff --git a/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt index 04bdf548187..e20da1f6b95 100644 --- a/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt +++ b/idea/tests/com/intellij/debugger/streams/kotlin/psi/java/NegativeJavaStreamTest.kt @@ -11,7 +11,59 @@ import com.intellij.debugger.streams.wrapper.StreamChainBuilder class NegativeJavaStreamTest : KotlinPsiChainBuilderTestCase.Negative("streams/negative") { override val kotlinChainBuilder: StreamChainBuilder = JavaStandardLibrarySupportProvider().chainBuilder - fun testSimple() { + fun testFakeStream() { + doTest() + } + + fun testWithoutTerminalOperation() { + doTest() + } + + fun testNoBreakpoint() { + doTest() + } + + fun testBreakpointOnMethod() { + doTest() + } + + fun testBreakpointOnIfCondition() { + doTest() + } + + fun testBreakpointOnNewScope() { + doTest() + } + + fun testBreakpointOnElseBranch() { + doTest() + } + + fun testInLambda() { + doTest() + } + + fun testInLambdaWithBody() { + doTest() + } + + fun testInAnonymous() { + doTest() + } + + fun testAfterStatement() { + doTest() + } + + fun testInPreviousStatement() { + doTest() + } + + fun testInNextStatement() { + doTest() + } + + fun testIdea173415() { doTest() } } \ No newline at end of file