diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt
index f6a96f4e6e4..6940ee5df17 100644
--- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt
+++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt
@@ -228,7 +228,7 @@ public class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
public fun testSourcePackagePrefix() {
doTest()
}
-
+
public fun testSourcePackageLongPrefix() {
initProject()
val buildResult = makeAll()
@@ -238,6 +238,14 @@ public class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
assertEquals("Invalid package prefix name is ignored: invalid-prefix.test", warnings.first().messageText)
}
+ public fun testSourcePackagePrefixKnownIssueWithInnerClasses() {
+ initProject()
+ val buildResult = makeAll()
+ 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"))
+ }
+
public fun testKotlinJavaScriptProject() {
initProject()
addKotlinJavaScriptStdlibDependency()
diff --git a/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.iml b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.iml
new file mode 100644
index 00000000000..cbc89b8246b
--- /dev/null
+++ b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.ipr b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.ipr
new file mode 100644
index 00000000000..90747786771
--- /dev/null
+++ b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/kotlinProject.ipr
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/JavaWithInner.java b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/JavaWithInner.java
new file mode 100644
index 00000000000..d210fa6a2d7
--- /dev/null
+++ b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/JavaWithInner.java
@@ -0,0 +1,14 @@
+package xxx;
+
+import xxx.JavaWithInner.TableRenderer.TableRow;
+
+public class JavaWithInner {
+ public static class TableRenderer{
+ public interface TableRow {
+ }
+ }
+
+ public static class TextRenderer implements TableRow {
+ public void method() {}
+ }
+}
\ No newline at end of file
diff --git a/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/test.kt b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/test.kt
new file mode 100644
index 00000000000..eaca9b80696
--- /dev/null
+++ b/jps-plugin/testData/general/SourcePackagePrefixKnownIssueWithInnerClasses/src/test.kt
@@ -0,0 +1,3 @@
+package xxx
+
+val test = JavaWithInner.TextRenderer().method()
\ No newline at end of file