From 73e91af79239a0010cd4ad02836a9d0449b804d7 Mon Sep 17 00:00:00 2001 From: pyos Date: Thu, 14 May 2020 12:31:08 +0200 Subject: [PATCH] IDEA: test the plugin's ability to parse correct JSR-045 data --- .../inlineFunCallSite/inlineFunCallSite.kt | 1 + .../inlineFunCallSiteNewSmapSyntax.kt | 13 +++++++++++++ .../filters/AbstractKotlinExceptionFilterTest.kt | 5 +++-- .../filters/KotlinExceptionFilterTestGenerated.java | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 idea/testData/debugger/exceptionFilter/inlineFunCallSiteNewSmapSyntax/inlineFunCallSiteNewSmapSyntax.kt diff --git a/idea/testData/debugger/exceptionFilter/inlineFunCallSite/inlineFunCallSite.kt b/idea/testData/debugger/exceptionFilter/inlineFunCallSite/inlineFunCallSite.kt index d28985184f3..63e5b0eabdd 100644 --- a/idea/testData/debugger/exceptionFilter/inlineFunCallSite/inlineFunCallSite.kt +++ b/idea/testData/debugger/exceptionFilter/inlineFunCallSite/inlineFunCallSite.kt @@ -3,6 +3,7 @@ fun box() { } inline fun foo() { + val unused = 1 null!! } diff --git a/idea/testData/debugger/exceptionFilter/inlineFunCallSiteNewSmapSyntax/inlineFunCallSiteNewSmapSyntax.kt b/idea/testData/debugger/exceptionFilter/inlineFunCallSiteNewSmapSyntax/inlineFunCallSiteNewSmapSyntax.kt new file mode 100644 index 00000000000..68e55c66464 --- /dev/null +++ b/idea/testData/debugger/exceptionFilter/inlineFunCallSiteNewSmapSyntax/inlineFunCallSiteNewSmapSyntax.kt @@ -0,0 +1,13 @@ +fun box() { + foo() +} + +inline fun foo() { + val unused = 1 + null!! +} + +// !LANGUAGE: +CorrectSourceMappingSyntax +// NAVIGATE_TO_CALL_SITE +// FILE: inlineFunCallSiteNewSmapSyntax.kt +// LINE: 2 diff --git a/idea/tests/org/jetbrains/kotlin/idea/filters/AbstractKotlinExceptionFilterTest.kt b/idea/tests/org/jetbrains/kotlin/idea/filters/AbstractKotlinExceptionFilterTest.kt index 47ef656701e..f52d317f899 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/filters/AbstractKotlinExceptionFilterTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/filters/AbstractKotlinExceptionFilterTest.kt @@ -46,6 +46,7 @@ abstract class AbstractKotlinExceptionFilterTest : KotlinCodeInsightTestCase() { } PsiTestUtil.setCompilerOutputPath(module, outDir.url, false) + val extraOptions = InTextDirectivesUtils.findListWithPrefixes(fileText, "// !LANGUAGE: ").map { "-XXLanguage:$it" } val classLoader: URLClassLoader if (InTextDirectivesUtils.getPrefixedBoolean(fileText, "// WITH_MOCK_LIBRARY: ") ?: false) { if (MOCK_LIBRARY_JAR == null) { @@ -65,13 +66,13 @@ abstract class AbstractKotlinExceptionFilterTest : KotlinCodeInsightTestCase() { } moduleModel.commit() } - MockLibraryUtil.compileKotlin(path, File(outDir.path), extraClasspath = *arrayOf(mockLibraryPath)) + MockLibraryUtil.compileKotlin(path, File(outDir.path), extraOptions, mockLibraryPath) classLoader = URLClassLoader( arrayOf(URL(outDir.url + "/"), mockLibraryJar.toURI().toURL()), ForTestCompileRuntime.runtimeJarClassLoader() ) } else { - MockLibraryUtil.compileKotlin(path, File(outDir.path)) + MockLibraryUtil.compileKotlin(path, File(outDir.path), extraOptions) classLoader = URLClassLoader( arrayOf(URL(outDir.url + "/")), ForTestCompileRuntime.runtimeJarClassLoader() diff --git a/idea/tests/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilterTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilterTestGenerated.java index 3c4a6a58767..512cd946c62 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilterTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/filters/KotlinExceptionFilterTestGenerated.java @@ -58,6 +58,11 @@ public class KotlinExceptionFilterTestGenerated extends AbstractKotlinExceptionF runTest("idea/testData/debugger/exceptionFilter/inlineFunCallSiteInRegeneratedObject/"); } + @TestMetadata("inlineFunCallSiteNewSmapSyntax") + public void testInlineFunCallSiteNewSmapSyntax() throws Exception { + runTest("idea/testData/debugger/exceptionFilter/inlineFunCallSiteNewSmapSyntax/"); + } + @TestMetadata("inlineFunFromLibrary") public void testInlineFunFromLibrary() throws Exception { runTest("idea/testData/debugger/exceptionFilter/inlineFunFromLibrary/");