diff --git a/compiler/testData/asJava/lightClasses/PublishedApi.java b/compiler/testData/asJava/lightClasses/PublishedApi.java new file mode 100644 index 00000000000..d2f852bba98 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/PublishedApi.java @@ -0,0 +1,8 @@ +public final class A { + public final void test() { /* compiled code */ } + + @kotlin.PublishedApi + public final int access$test(int p) { /* compiled code */ } + + public A() { /* compiled code */ } +} diff --git a/compiler/testData/asJava/lightClasses/PublishedApi.kt b/compiler/testData/asJava/lightClasses/PublishedApi.kt new file mode 100644 index 00000000000..0eaff1170ae --- /dev/null +++ b/compiler/testData/asJava/lightClasses/PublishedApi.kt @@ -0,0 +1,11 @@ +// A +class A { + inline fun test() { + { + `access$test`(1) + }() + } + + @PublishedApi + internal fun `access$test`(p: Int) = p +} diff --git a/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java index 8fb58c8ef8c..0b9a34b5467 100644 --- a/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/asJava/CompilerLightClassTestGenerated.java @@ -78,6 +78,12 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT doTest(fileName); } + @TestMetadata("PublishedApi.kt") + public void testPublishedApi() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/PublishedApi.kt"); + doTest(fileName); + } + @TestMetadata("compiler/testData/asJava/lightClasses/compilationErrors") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/IDELightClassContexts.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/IDELightClassContexts.kt index 269367fe7bf..3c7da12b4ef 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/IDELightClassContexts.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/caches/resolve/lightClasses/IDELightClassContexts.kt @@ -246,7 +246,7 @@ object IDELightClassContexts { private val annotationsThatAffectCodegen = listOf( "JvmField", "JvmOverloads", "JvmName", "JvmStatic", "Synchronized", "Transient", "Volatile", "Strictfp" - ).map { FqName("kotlin.jvm").child(Name.identifier(it)) } + ).map { FqName("kotlin.jvm").child(Name.identifier(it)) } + FqName("kotlin.PublishedApi") class AdHocAnnotationResolver( private val moduleDescriptor: ModuleDescriptor, diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeCompiledLightClassTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeCompiledLightClassTestGenerated.java index 05964a6030a..2c4d763e28a 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeCompiledLightClassTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeCompiledLightClassTestGenerated.java @@ -78,6 +78,12 @@ public class IdeCompiledLightClassTestGenerated extends AbstractIdeCompiledLight doTest(fileName); } + @TestMetadata("PublishedApi.kt") + public void testPublishedApi() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/PublishedApi.kt"); + doTest(fileName); + } + @TestMetadata("compiler/testData/asJava/lightClasses/delegation") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java index e3b0d0d4a7d..fbe63ceec00 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/caches/resolve/IdeLightClassTestGenerated.java @@ -78,6 +78,12 @@ public class IdeLightClassTestGenerated extends AbstractIdeLightClassTest { doTest(fileName); } + @TestMetadata("PublishedApi.kt") + public void testPublishedApi() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/PublishedApi.kt"); + doTest(fileName); + } + @TestMetadata("compiler/testData/asJava/lightClasses/compilationErrors") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class)