From 2208b469416afa85510aae4d90d44d5a9a9dade4 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 24 Mar 2017 18:33:32 +0300 Subject: [PATCH] Support nested classes in KotlinCliJavaFileManagerImpl.findClass findClass(String, GlobalSearchScope) is invoked for example when we're resolving supertypes of classes in Java libraries. Previously, it never found nested classes and falled back to CoreJavaFileManager's implementation, which lacks a fix for the original issue (KT-12664, which was fixed in JvmDependenciesIndex in ff783f1f and 2c344635) #KT-16931 Fixed Original commit: c67eb843698c520e1f84383c86cf1fb2631e0d2e --- .../org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt | 7 ++----- .../kotlinProject.iml | 0 .../kotlinProject.ipr | 0 .../src/JavaWithInner.java | 0 .../src/test.kt | 0 5 files changed, 2 insertions(+), 5 deletions(-) rename jps/jps-plugin/testData/general/{SourcePackagePrefixKnownIssueWithInnerClasses => SourcePackagePrefixWithInnerClasses}/kotlinProject.iml (100%) rename jps/jps-plugin/testData/general/{SourcePackagePrefixKnownIssueWithInnerClasses => SourcePackagePrefixWithInnerClasses}/kotlinProject.ipr (100%) rename jps/jps-plugin/testData/general/{SourcePackagePrefixKnownIssueWithInnerClasses => SourcePackagePrefixWithInnerClasses}/src/JavaWithInner.java (100%) rename jps/jps-plugin/testData/general/{SourcePackagePrefixKnownIssueWithInnerClasses => SourcePackagePrefixWithInnerClasses}/src/test.kt (100%) diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt index 80df674ea75..6111345beaf 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt @@ -277,12 +277,9 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { assertEquals("Invalid package prefix name is ignored: invalid-prefix.test", warnings.first().messageText) } - fun testSourcePackagePrefixKnownIssueWithInnerClasses() { + fun testSourcePackagePrefixWithInnerClasses() { initProject() - val buildResult = buildAllModules() - buildResult.assertFailed() - val errors = buildResult.getMessages(BuildMessage.Kind.ERROR).map { it.messageText } - assertTrue("Message wasn't found. $errors", errors.first().contains("class xxx.JavaWithInner.TextRenderer, unresolved supertypes: TableRow")) + buildAllModules().assertSuccessful() } fun testKotlinJavaScriptProject() { diff --git a/jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.iml b/jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/kotlinProject.iml similarity index 100% rename from jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.iml rename to jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/kotlinProject.iml diff --git a/jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.ipr b/jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/kotlinProject.ipr similarity index 100% rename from jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.ipr rename to jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/kotlinProject.ipr diff --git a/jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/JavaWithInner.java b/jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/src/JavaWithInner.java similarity index 100% rename from jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/JavaWithInner.java rename to jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/src/JavaWithInner.java diff --git a/jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/test.kt b/jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/src/test.kt similarity index 100% rename from jps/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/test.kt rename to jps/jps-plugin/testData/general/SourcePackagePrefixWithInnerClasses/src/test.kt