From ac901c6d0799b5041e32512dddf7c9da6ae13549 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 19 Feb 2024 16:31:50 +0100 Subject: [PATCH] Minor, improve test on unexported package in Java module Add Kotlin class/function/property. --- .../simpleUseNonExportedPackage/moduleA.txt | 1 + .../moduleA/a/K.kt | 9 +++++ .../moduleA/a/impl/AImpl.java | 5 ++- .../moduleA/a/impl/KImpl.kt | 10 ++++++ .../moduleA/a/impl/KotlinFile.kt | 4 +++ .../moduleA/module-info.java | 2 ++ .../simpleUseNonExportedPackage/moduleB.txt | 33 +++++++++++++++++++ .../moduleB/usage.kt | 11 +++++++ 8 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA.txt create mode 100644 compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/K.kt create mode 100644 compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KImpl.kt create mode 100644 compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KotlinFile.kt diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA.txt b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA.txt new file mode 100644 index 00000000000..d86bac9de59 --- /dev/null +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA.txt @@ -0,0 +1 @@ +OK diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/K.kt b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/K.kt new file mode 100644 index 00000000000..bb2d03c0540 --- /dev/null +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/K.kt @@ -0,0 +1,9 @@ +package a + +import a.impl.KImpl + +open class K { + companion object { + fun getInstance(): KImpl = KImpl() + } +} diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/AImpl.java b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/AImpl.java index ebe2a1cc774..b094521983b 100644 --- a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/AImpl.java +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/AImpl.java @@ -2,4 +2,7 @@ package a.impl; import a.A; -public class AImpl extends A {} +public class AImpl extends A { + public static String field = ""; + public static String method() { return ""; } +} diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KImpl.kt b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KImpl.kt new file mode 100644 index 00000000000..8caebdea4a7 --- /dev/null +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KImpl.kt @@ -0,0 +1,10 @@ +package a.impl + +import a.K + +class KImpl : K() { + companion object { + val field: String = "" + fun method(): String = "" + } +} diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KotlinFile.kt b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KotlinFile.kt new file mode 100644 index 00000000000..86b26c50174 --- /dev/null +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/a/impl/KotlinFile.kt @@ -0,0 +1,4 @@ +package a.impl + +val fileField: String = "" +fun fileMethod(): String = "" diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/module-info.java b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/module-info.java index 8e8f5b048e3..0b95ef53d3a 100644 --- a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/module-info.java +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleA/module-info.java @@ -1,3 +1,5 @@ module moduleA { exports a; + + requires kotlin.stdlib; } diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB.txt b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB.txt index 09d92b5ad06..449b7209f33 100644 --- a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB.txt +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB.txt @@ -1,4 +1,37 @@ compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:8:9: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' val a3: AImpl = A.getInstance() ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:9:18: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val a4: String = AImpl.method() + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:9:24: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val a4: String = AImpl.method() + ^^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:10:18: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val a5: String = AImpl.field + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:10:24: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val a5: String = AImpl.field + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:14:9: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val k3: KImpl = K.getInstance() + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:15:18: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val k4: String = KImpl.method() + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:15:24: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val k4: String = KImpl.method() + ^^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:16:18: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val k5: String = KImpl.field + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:16:24: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val k5: String = KImpl.field + ^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:18:19: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val kf1: String = fileField + ^^^^^^^^^ +compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt:19:19: error: symbol is declared in module 'moduleA' which does not export package 'a.impl' +val kf2: String = fileMethod() + ^^^^^^^^^^ COMPILATION_ERROR diff --git a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt index af9c0090b3a..7b31a9e1618 100644 --- a/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt +++ b/compiler/testData/javaModules/simpleUseNonExportedPackage/moduleB/usage.kt @@ -6,3 +6,14 @@ import a.impl.* val a1: A = A() val a2: A = A.getInstance() val a3: AImpl = A.getInstance() +val a4: String = AImpl.method() +val a5: String = AImpl.field + +val k1: K = K() +val k2: K = K.getInstance() +val k3: KImpl = K.getInstance() +val k4: String = KImpl.method() +val k5: String = KImpl.field + +val kf1: String = fileField +val kf2: String = fileMethod()