From 72201839123358950c071e993f2c5fcd45ac90b4 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 25 May 2017 16:44:15 +0300 Subject: [PATCH] Kapt: Write @kotlin.Metadata annotation to Java stubs #KT-17937 --- .../stubs/ClassFileToSourceStubConverter.kt | 2 +- .../AbstractKotlinKapt3IntegrationTest.kt | 5 ++++- .../kapt3/test/AbstractKotlinKapt3Test.kt | 11 +++++++++- .../kapt3/testData/converter/abstractEnum.txt | 14 +++++++++---- .../testData/converter/abstractMethods.txt | 2 ++ .../kapt3/testData/converter/annotations.txt | 6 ++++++ .../kapt3/testData/converter/annotations2.txt | 4 ++++ .../kapt3/testData/converter/dataClass.txt | 1 + .../kapt3/testData/converter/defaultImpls.txt | 6 ++++++ plugins/kapt3/testData/converter/enums.txt | 3 +++ .../testData/converter/fileFacadeJvmName.txt | 1 + .../kapt3/testData/converter/functions.txt | 1 + .../converter/genericRawSignatures.txt | 1 + .../testData/converter/genericSimple.txt | 6 ++++++ .../converter/importsForErrorTypes.txt | 1 + .../testData/converter/inheritanceSimple.txt | 4 ++++ .../innerClassesWithTypeParameters.txt | 7 +++++++ .../converter/javaKeywordsInPackageNames.txt | 2 ++ .../kapt3/testData/converter/jvmOverloads.txt | 2 ++ .../kapt3/testData/converter/jvmStatic.txt | 3 ++- .../converter/jvmStaticFieldInParent.txt | 2 ++ plugins/kapt3/testData/converter/kt14996.txt | 1 + plugins/kapt3/testData/converter/kt14997.txt | 2 ++ plugins/kapt3/testData/converter/kt14998.txt | 3 +++ plugins/kapt3/testData/converter/kt15145.txt | 2 ++ plugins/kapt3/testData/converter/kt17567.txt | 1 + plugins/kapt3/testData/converter/mapEntry.txt | 1 + .../converter/methodParameterNames.txt | 3 +++ .../methodPropertySignatureClash.txt | 1 + .../kapt3/testData/converter/modifiers.txt | 16 +++++++++++++++ .../testData/converter/multifileClass.txt | 2 ++ .../testData/converter/nestedClasses.txt | 18 +++++++++++++++++ .../testData/converter/nonExistentClass.txt | 1 + .../nonExistentClassTypesConversion.txt | 2 ++ .../nonExistentClassWIthoutCorrection.txt | 1 + .../testData/converter/primitiveTypes.txt | 1 + .../converter/propertyAnnotations.txt | 3 +++ .../converter/severalPackageParts.txt | 2 ++ .../testData/converter/strangeIdentifiers.txt | 3 +++ plugins/kapt3/testData/converter/topLevel.txt | 2 ++ .../kotlinRunner/NestedClasses.it.txt | 6 ++++++ .../testData/kotlinRunner/Overloads.it.txt | 18 +++++++++-------- .../kapt3/testData/kotlinRunner/Simple.it.txt | 20 +++++++++++-------- 43 files changed, 169 insertions(+), 24 deletions(-) diff --git a/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt b/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt index 94f5cd02f14..507c031c36e 100644 --- a/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt +++ b/plugins/kapt3/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt @@ -69,7 +69,7 @@ class ClassFileToSourceStubConverter( "java.lang.Deprecated", "kotlin.Deprecated", // Deprecated annotations "java.lang.Synthetic", "synthetic.kotlin.jvm.GeneratedByJvmOverloads", // kapt3-related annotation for marking JvmOverloads-generated methods - "kotlin.jvm.", "kotlin.Metadata" // Kotlin annotations from runtime + "kotlin.jvm." // Kotlin annotations from runtime ) private val JAVA_KEYWORD_FILTER_REGEX = "[a-z]+".toRegex() diff --git a/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt b/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt index 73f1e620f61..b6c2af1eda1 100644 --- a/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt +++ b/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt @@ -132,7 +132,10 @@ abstract class AbstractKotlinKapt3IntegrationTest : CodegenTestCase() { GenerationUtils.compileFiles(myFiles.psiFiles, myEnvironment, Kapt3BuilderFactory()).factory val actualRaw = kapt3Extension.savedStubs ?: error("Stubs were not saved") - val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' })).trimTrailingWhitespacesAndAddNewlineAtEOF() + val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' })) + .trimTrailingWhitespacesAndAddNewlineAtEOF() + .let { AbstractClassFileToSourceStubConverterTest.removeMetadataAnnotationContents(it) } + KotlinTestUtils.assertEqualsToFile(txtFile, actual) } finally { sourceOutputDir.deleteRecursively() diff --git a/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt b/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt index 7c2af6b476e..5acf027e491 100644 --- a/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt +++ b/plugins/kapt3/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt @@ -86,6 +86,13 @@ abstract class AbstractKotlinKapt3Test : CodegenTestCase() { } abstract class AbstractClassFileToSourceStubConverterTest : AbstractKotlinKapt3Test() { + internal companion object { + private val KOTLIN_METADATA_GROUP = "[a-z0-9]+ = \\{.+?\\}" + private val KOTLIN_METADATA_REGEX = "@kotlin\\.Metadata\\(($KOTLIN_METADATA_GROUP)(, $KOTLIN_METADATA_GROUP)*\\)".toRegex() + + fun removeMetadataAnnotationContents(s: String): String = s.replace(KOTLIN_METADATA_REGEX, "@kotlin.Metadata()") + } + override fun check(kaptContext: KaptContext, txtFile: File, wholeFile: File) { fun isOptionSet(name: String) = wholeFile.useLines { lines -> lines.any { it.trim() == "// $name" } } @@ -99,7 +106,9 @@ abstract class AbstractClassFileToSourceStubConverterTest : AbstractKotlinKapt3T if (validate) kaptContext.compiler.enterTrees(javaFiles) val actualRaw = javaFiles.sortedBy { it.sourceFile.name }.joinToString (FILE_SEPARATOR) - val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' })).trimTrailingWhitespacesAndAddNewlineAtEOF() + val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' })) + .trimTrailingWhitespacesAndAddNewlineAtEOF() + .let { removeMetadataAnnotationContents(it) } if (kaptContext.compiler.shouldStop(CompileStates.CompileState.ENTER)) { Log.instance(kaptContext.context).flush() diff --git a/plugins/kapt3/testData/converter/abstractEnum.txt b/plugins/kapt3/testData/converter/abstractEnum.txt index 78c83b72afc..434858db687 100644 --- a/plugins/kapt3/testData/converter/abstractEnum.txt +++ b/plugins/kapt3/testData/converter/abstractEnum.txt @@ -1,5 +1,6 @@ +@kotlin.Metadata() public enum E { - /*public static final*/ X /* = new X(){ + /*public static final*/ X /* = new @kotlin.Metadata() X(){ @java.lang.Override() public void a() { @@ -9,7 +10,7 @@ public enum E { super(); } } */, - /*public static final*/ Y /* = new Y(){ + /*public static final*/ Y /* = new @kotlin.Metadata() Y(){ @java.lang.Override() public void a() { @@ -28,6 +29,7 @@ public enum E { E() { } + @kotlin.Metadata() public static final class Obj { public static final E.Obj INSTANCE = null; @@ -36,6 +38,7 @@ public enum E { } } + @kotlin.Metadata() public static final class NestedClass { public NestedClass() { @@ -47,8 +50,9 @@ public enum E { //////////////////// +@kotlin.Metadata() public enum E2 { - /*public static final*/ X /* = new X(0){ + /*public static final*/ X /* = new @kotlin.Metadata() X(0){ @java.lang.Override() public void a() { @@ -58,7 +62,7 @@ public enum E2 { super(0); } } */, - /*public static final*/ Y /* = new Y(0){ + /*public static final*/ Y /* = new @kotlin.Metadata() Y(0){ @java.lang.Override() public void a() { @@ -82,6 +86,7 @@ public enum E2 { //////////////////// +@kotlin.Metadata() public enum E3 { /*public static final*/ X /* = new X(null) */, /*public static final*/ Y /* = new Y(null) */; @@ -101,6 +106,7 @@ public enum E3 { //////////////////// +@kotlin.Metadata() public enum E4 { /*public static final*/ X /* = new X(null, 0, 0L, false) */; @org.jetbrains.annotations.NotNull() diff --git a/plugins/kapt3/testData/converter/abstractMethods.txt b/plugins/kapt3/testData/converter/abstractMethods.txt index a1cc5381837..c001ec3c4ed 100644 --- a/plugins/kapt3/testData/converter/abstractMethods.txt +++ b/plugins/kapt3/testData/converter/abstractMethods.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public abstract class Base { protected abstract void doJob(@org.jetbrains.annotations.NotNull() @@ -14,6 +15,7 @@ public abstract class Base { //////////////////// +@kotlin.Metadata() public final class Impl extends Base { @java.lang.Override() diff --git a/plugins/kapt3/testData/converter/annotations.txt b/plugins/kapt3/testData/converter/annotations.txt index 55a3c00712c..27f688198fb 100644 --- a/plugins/kapt3/testData/converter/annotations.txt +++ b/plugins/kapt3/testData/converter/annotations.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno1 { } @@ -5,6 +6,7 @@ public abstract @interface Anno1 { //////////////////// +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno2 { @@ -30,6 +32,7 @@ public abstract @interface Anno2 { //////////////////// +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno3 { @@ -39,6 +42,7 @@ public abstract @interface Anno3 { //////////////////// +@kotlin.Metadata() public enum Colors { /*public static final*/ WHITE /* = new WHITE() */, /*public static final*/ BLACK /* = new BLACK() */; @@ -50,6 +54,7 @@ public enum Colors { //////////////////// +@kotlin.Metadata() @Anno3(value = "value") @Anno2(a = @Anno1(), clazz = TestAnno.class, classes = {TestAnno.class, Anno1.class}) @Anno1() @@ -63,6 +68,7 @@ public final class TestAnno { //////////////////// +@kotlin.Metadata() @Anno2(i = 6, s = "BCD", ii = {4, 5, 6}, ss = {"Z", "X"}, a = @Anno1(), color = Colors.WHITE, colors = {Colors.WHITE}, clazz = TestAnno.class, classes = {TestAnno.class, Anno1.class}) @Anno3(value = "value") public final class TestAnno2 { diff --git a/plugins/kapt3/testData/converter/annotations2.txt b/plugins/kapt3/testData/converter/annotations2.txt index 1dbbf0f5c15..2f5bea636e0 100644 --- a/plugins/kapt3/testData/converter/annotations2.txt +++ b/plugins/kapt3/testData/converter/annotations2.txt @@ -1,5 +1,6 @@ package test; +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) @Anno(value = "anno-class") public abstract @interface Anno { @@ -11,6 +12,7 @@ public abstract @interface Anno { package test; +@kotlin.Metadata() public final class AnnotationsTest { public AnnotationsTest() { @@ -38,6 +40,7 @@ public final class AnnotationsTest { package test; +@kotlin.Metadata() @Anno(value = "enum") public enum Enum { /*public static final*/ WHITE /* = new WHITE(0) */, @@ -58,6 +61,7 @@ public enum Enum { package test; +@kotlin.Metadata() @Anno(value = "clazz") public abstract class Test { @org.jetbrains.annotations.NotNull() diff --git a/plugins/kapt3/testData/converter/dataClass.txt b/plugins/kapt3/testData/converter/dataClass.txt index bfec689f93b..c0246772be2 100644 --- a/plugins/kapt3/testData/converter/dataClass.txt +++ b/plugins/kapt3/testData/converter/dataClass.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class User { @org.jetbrains.annotations.NotNull() private final java.lang.String firstName = null; diff --git a/plugins/kapt3/testData/converter/defaultImpls.txt b/plugins/kapt3/testData/converter/defaultImpls.txt index f9753fef214..9bcd1ad40f0 100644 --- a/plugins/kapt3/testData/converter/defaultImpls.txt +++ b/plugins/kapt3/testData/converter/defaultImpls.txt @@ -1,9 +1,11 @@ +@kotlin.Metadata() public abstract interface Intf { public static final Intf.Companion Companion = null; public static final int WHITE = 2; public abstract int getColor(); + @kotlin.Metadata(mv = {1, 1, 6}, bv = {1, 0, 1}, k = 3) public static final class DefaultImpls { public DefaultImpls() { @@ -15,6 +17,7 @@ public abstract interface Intf { } } + @kotlin.Metadata() public static final class Companion { private static final int BLACK = 1; public static final int WHITE = 2; @@ -32,10 +35,12 @@ public abstract interface Intf { //////////////////// +@kotlin.Metadata() public abstract interface IntfWithDefaultImpls { public abstract void a(); + @kotlin.Metadata(mv = {1, 1, 6}, bv = {1, 0, 1}, k = 3) public static final class DefaultImpls { public DefaultImpls() { @@ -50,5 +55,6 @@ public abstract interface IntfWithDefaultImpls { //////////////////// +@kotlin.Metadata() public abstract interface IntfWithoutDefaultImpls { } diff --git a/plugins/kapt3/testData/converter/enums.txt b/plugins/kapt3/testData/converter/enums.txt index 90d717190d5..06bc4abc15c 100644 --- a/plugins/kapt3/testData/converter/enums.txt +++ b/plugins/kapt3/testData/converter/enums.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno1 { @@ -7,6 +8,7 @@ public abstract @interface Anno1 { //////////////////// +@kotlin.Metadata() public enum Enum1 { /*public static final*/ BLACK /* = new BLACK() */, /*public static final*/ WHITE /* = new WHITE() */; @@ -18,6 +20,7 @@ public enum Enum1 { //////////////////// +@kotlin.Metadata() public enum Enum2 { /*public static final*/ RED /* = new RED(null, 0) */, /*public static final*/ WHITE /* = new WHITE(null, 0) */; diff --git a/plugins/kapt3/testData/converter/fileFacadeJvmName.txt b/plugins/kapt3/testData/converter/fileFacadeJvmName.txt index c123ef0e5af..3edb2886c26 100644 --- a/plugins/kapt3/testData/converter/fileFacadeJvmName.txt +++ b/plugins/kapt3/testData/converter/fileFacadeJvmName.txt @@ -1,5 +1,6 @@ package a.b.c; +@kotlin.Metadata() public final class FacadeName { public FacadeName() { diff --git a/plugins/kapt3/testData/converter/functions.txt b/plugins/kapt3/testData/converter/functions.txt index 920b33fcc94..05b1a40dcd4 100644 --- a/plugins/kapt3/testData/converter/functions.txt +++ b/plugins/kapt3/testData/converter/functions.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class FunctionsTest { @org.jetbrains.annotations.NotNull() diff --git a/plugins/kapt3/testData/converter/genericRawSignatures.txt b/plugins/kapt3/testData/converter/genericRawSignatures.txt index 262a969a946..73e5547d094 100644 --- a/plugins/kapt3/testData/converter/genericRawSignatures.txt +++ b/plugins/kapt3/testData/converter/genericRawSignatures.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class GenericRawSignatures { @org.jetbrains.annotations.Nullable() diff --git a/plugins/kapt3/testData/converter/genericSimple.txt b/plugins/kapt3/testData/converter/genericSimple.txt index 34c7de6424e..d026ddb9f2c 100644 --- a/plugins/kapt3/testData/converter/genericSimple.txt +++ b/plugins/kapt3/testData/converter/genericSimple.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public abstract interface ABC { @org.jetbrains.annotations.NotNull() @@ -13,6 +14,7 @@ public abstract interface ABC { //////////////////// +@kotlin.Metadata() public class BaseClass { public BaseClass() { @@ -23,18 +25,21 @@ public class BaseClass { //////////////////// +@kotlin.Metadata() public abstract interface Intf { } //////////////////// +@kotlin.Metadata() public abstract interface Intf2, M extends T> { } //////////////////// +@kotlin.Metadata() public final class MyClass extends BaseClass implements Intf, OtherIntf { @org.jetbrains.annotations.Nullable() private final java.util.List> fld = null; @@ -52,5 +57,6 @@ public final class MyClass { } diff --git a/plugins/kapt3/testData/converter/importsForErrorTypes.txt b/plugins/kapt3/testData/converter/importsForErrorTypes.txt index 551636ef2ed..d41ddb6e733 100644 --- a/plugins/kapt3/testData/converter/importsForErrorTypes.txt +++ b/plugins/kapt3/testData/converter/importsForErrorTypes.txt @@ -5,6 +5,7 @@ import java.util.concurrent.TimeUnit.MICROSECONDS; import java.util.concurrent.TimeUnit.*; import java.util.Calendar.*; +@kotlin.Metadata() public final class ImportsForErrorTypesKt { public ImportsForErrorTypesKt() { diff --git a/plugins/kapt3/testData/converter/inheritanceSimple.txt b/plugins/kapt3/testData/converter/inheritanceSimple.txt index 6453c5ee509..8eb9fc08e7e 100644 --- a/plugins/kapt3/testData/converter/inheritanceSimple.txt +++ b/plugins/kapt3/testData/converter/inheritanceSimple.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public abstract class BaseClass { @org.jetbrains.annotations.NotNull() @@ -12,12 +13,14 @@ public abstract class BaseClass { //////////////////// +@kotlin.Metadata() public abstract interface Context { } //////////////////// +@kotlin.Metadata() public final class Inheritor extends BaseClass { @org.jetbrains.annotations.NotNull() @@ -35,6 +38,7 @@ public final class Inheritor extends BaseClass { //////////////////// +@kotlin.Metadata() public enum Result { /*public static final*/ SUCCESS /* = new SUCCESS() */, /*public static final*/ ERROR /* = new ERROR() */; diff --git a/plugins/kapt3/testData/converter/innerClassesWithTypeParameters.txt b/plugins/kapt3/testData/converter/innerClassesWithTypeParameters.txt index 7cdc4aa0bcd..cbd97275789 100644 --- a/plugins/kapt3/testData/converter/innerClassesWithTypeParameters.txt +++ b/plugins/kapt3/testData/converter/innerClassesWithTypeParameters.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class Test { private Test.FilterValueDelegate a; @@ -5,6 +6,7 @@ public final class Test { super(); } + @kotlin.Metadata() final class FilterValueDelegate { public FilterValueDelegate() { @@ -16,12 +18,14 @@ public final class Test { //////////////////// +@kotlin.Metadata() public final class Test2 { public Test2() { super(); } + @kotlin.Metadata() public final class FilterValueDelegate { private Test2.FilterValueDelegate.Filter2 a; @@ -29,6 +33,7 @@ public final class Test2 { super(); } + @kotlin.Metadata() public final class Filter2 { public Filter2() { @@ -41,6 +46,7 @@ public final class Test2 { //////////////////// +@kotlin.Metadata() public final class Test3 { private Test3.FilterValueDelegate a; @@ -48,6 +54,7 @@ public final class Test3 { super(); } + @kotlin.Metadata() static final class FilterValueDelegate { public FilterValueDelegate() { diff --git a/plugins/kapt3/testData/converter/javaKeywordsInPackageNames.txt b/plugins/kapt3/testData/converter/javaKeywordsInPackageNames.txt index aec5fc62392..a93f52c5781 100644 --- a/plugins/kapt3/testData/converter/javaKeywordsInPackageNames.txt +++ b/plugins/kapt3/testData/converter/javaKeywordsInPackageNames.txt @@ -1,5 +1,6 @@ package a.b.c; +@kotlin.Metadata() public final class A { public A() { @@ -11,6 +12,7 @@ public final class A { package a.b.typealias.c; +@kotlin.Metadata() public final class E { public E() { diff --git a/plugins/kapt3/testData/converter/jvmOverloads.txt b/plugins/kapt3/testData/converter/jvmOverloads.txt index f04e75d826b..827dd942b68 100644 --- a/plugins/kapt3/testData/converter/jvmOverloads.txt +++ b/plugins/kapt3/testData/converter/jvmOverloads.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class State { private final int someInt = 0; private final long someLong = 0L; @@ -30,6 +31,7 @@ public final class State { //////////////////// +@kotlin.Metadata() public final class State2 { public final int someInt = 0; public final long someLong = 0L; diff --git a/plugins/kapt3/testData/converter/jvmStatic.txt b/plugins/kapt3/testData/converter/jvmStatic.txt index 36750b0f27e..8ed14d8a143 100644 --- a/plugins/kapt3/testData/converter/jvmStatic.txt +++ b/plugins/kapt3/testData/converter/jvmStatic.txt @@ -1,4 +1,4 @@ - +@kotlin.Metadata() public final class JvmStaticTest { private final byte three = (byte)3; private final char d = 'D'; @@ -23,6 +23,7 @@ public final class JvmStaticTest { return 0; } + @kotlin.Metadata() public static final class Companion { public static void one$annotations() { diff --git a/plugins/kapt3/testData/converter/jvmStaticFieldInParent.txt b/plugins/kapt3/testData/converter/jvmStaticFieldInParent.txt index 8030f79b3f3..38982ca0847 100644 --- a/plugins/kapt3/testData/converter/jvmStaticFieldInParent.txt +++ b/plugins/kapt3/testData/converter/jvmStaticFieldInParent.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class Test { @org.jetbrains.annotations.NotNull() private static final java.lang.String test = ""; @@ -12,6 +13,7 @@ public final class Test { return null; } + @kotlin.Metadata() public static final class A { public static void test$annotations() { diff --git a/plugins/kapt3/testData/converter/kt14996.txt b/plugins/kapt3/testData/converter/kt14996.txt index a78a2df0322..fe0d1934cd5 100644 --- a/plugins/kapt3/testData/converter/kt14996.txt +++ b/plugins/kapt3/testData/converter/kt14996.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class Kt14996Kt { public Kt14996Kt() { diff --git a/plugins/kapt3/testData/converter/kt14997.txt b/plugins/kapt3/testData/converter/kt14997.txt index 599814e93c5..5036cb601bc 100644 --- a/plugins/kapt3/testData/converter/kt14997.txt +++ b/plugins/kapt3/testData/converter/kt14997.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public class CrashMe { private final java.lang.Runnable notReally = null; @@ -10,6 +11,7 @@ public class CrashMe { @kotlin.Suppress(names = {"AMBIGUOUS_ANONYMOUS_TYPE_INFERRED"}) +@kotlin.Metadata() public final class Kt14997Kt { public Kt14997Kt() { diff --git a/plugins/kapt3/testData/converter/kt14998.txt b/plugins/kapt3/testData/converter/kt14998.txt index 4deca6ca8b6..51fe76722a5 100644 --- a/plugins/kapt3/testData/converter/kt14998.txt +++ b/plugins/kapt3/testData/converter/kt14998.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class Outer { public final void nonAbstract(@org.jetbrains.annotations.NotNull() @@ -8,6 +9,7 @@ public final class Outer { super(); } + @kotlin.Metadata() final class Inner { @org.jetbrains.annotations.NotNull() private final java.lang.String foo = null; @@ -31,6 +33,7 @@ public final class Outer { } } + @kotlin.Metadata() static final class Nested { @org.jetbrains.annotations.NotNull() private final java.lang.String foo = null; diff --git a/plugins/kapt3/testData/converter/kt15145.txt b/plugins/kapt3/testData/converter/kt15145.txt index 51a0c3f6d8e..e83fd18a317 100644 --- a/plugins/kapt3/testData/converter/kt15145.txt +++ b/plugins/kapt3/testData/converter/kt15145.txt @@ -1,7 +1,9 @@ +@kotlin.Metadata() public abstract interface MyInterface { public abstract void someFun(); + @kotlin.Metadata() public static final class MyDefaultInferface { public MyDefaultInferface() { diff --git a/plugins/kapt3/testData/converter/kt17567.txt b/plugins/kapt3/testData/converter/kt17567.txt index 7059b17d12d..c0ff08774ce 100644 --- a/plugins/kapt3/testData/converter/kt17567.txt +++ b/plugins/kapt3/testData/converter/kt17567.txt @@ -1,5 +1,6 @@ package test; +@kotlin.Metadata() public final class MutableEntry implements java.util.Map.Entry, kotlin.jvm.internal.markers.KMutableMap.Entry { private final java.util.Map internal = null; private final K key = null; diff --git a/plugins/kapt3/testData/converter/mapEntry.txt b/plugins/kapt3/testData/converter/mapEntry.txt index 62867fcbab5..1fab800ca1c 100644 --- a/plugins/kapt3/testData/converter/mapEntry.txt +++ b/plugins/kapt3/testData/converter/mapEntry.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public abstract interface EntryHolder { @org.jetbrains.annotations.NotNull() diff --git a/plugins/kapt3/testData/converter/methodParameterNames.txt b/plugins/kapt3/testData/converter/methodParameterNames.txt index 643c93ec505..fd42c28d93a 100644 --- a/plugins/kapt3/testData/converter/methodParameterNames.txt +++ b/plugins/kapt3/testData/converter/methodParameterNames.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public abstract class Cls { public abstract void foo(@org.jetbrains.annotations.NotNull() @@ -16,6 +17,7 @@ public abstract class Cls { //////////////////// +@kotlin.Metadata() public abstract interface Intf { public abstract void foo(@org.jetbrains.annotations.NotNull() @@ -24,6 +26,7 @@ public abstract interface Intf { @org.jetbrains.annotations.NotNull() public abstract java.lang.String bar(int bcd); + @kotlin.Metadata(mv = {1, 1, 6}, bv = {1, 0, 1}, k = 3) public static final class DefaultImpls { public DefaultImpls() { diff --git a/plugins/kapt3/testData/converter/methodPropertySignatureClash.txt b/plugins/kapt3/testData/converter/methodPropertySignatureClash.txt index 21441f4d75a..e10bf958be1 100644 --- a/plugins/kapt3/testData/converter/methodPropertySignatureClash.txt +++ b/plugins/kapt3/testData/converter/methodPropertySignatureClash.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class CrashMe { private final int resources = 1; diff --git a/plugins/kapt3/testData/converter/modifiers.txt b/plugins/kapt3/testData/converter/modifiers.txt index 9b7fdfaf458..9229e8fe495 100644 --- a/plugins/kapt3/testData/converter/modifiers.txt +++ b/plugins/kapt3/testData/converter/modifiers.txt @@ -1,5 +1,6 @@ package modifiers; +@kotlin.Metadata() public final class InternalClass { public InternalClass() { @@ -11,6 +12,7 @@ public final class InternalClass { package modifiers; +@kotlin.Metadata() public abstract interface InternalInterface { } @@ -18,6 +20,7 @@ public abstract interface InternalInterface { package modifiers; +@kotlin.Metadata() public final class Modifiers { @org.jetbrains.annotations.NotNull() private final transient java.lang.String transientField = ""; @@ -67,6 +70,7 @@ public final class Modifiers { package modifiers; +@kotlin.Metadata() final class PrivateClass { public PrivateClass() { @@ -78,6 +82,7 @@ final class PrivateClass { package modifiers; +@kotlin.Metadata() abstract interface PrivateInterface { } @@ -85,6 +90,7 @@ abstract interface PrivateInterface { package modifiers; +@kotlin.Metadata() public final class PublicClass { public PublicClass() { @@ -96,6 +102,7 @@ public final class PublicClass { package modifiers; +@kotlin.Metadata() public abstract class PublicClassPrivateConstructor { private PublicClassPrivateConstructor() { @@ -107,15 +114,18 @@ public abstract class PublicClassPrivateConstructor { package modifiers; +@kotlin.Metadata() public class PublicClassProtectedConstructor { protected PublicClassProtectedConstructor() { super(); } + @kotlin.Metadata() public static abstract interface ProtectedInterface { } + @kotlin.Metadata() static abstract interface PrivateInterface { } } @@ -124,6 +134,7 @@ public class PublicClassProtectedConstructor { package modifiers; +@kotlin.Metadata() public abstract interface PublicInterface { } @@ -131,12 +142,14 @@ public abstract interface PublicInterface { package modifiers; +@kotlin.Metadata() public abstract class SealedClass { private SealedClass() { super(); } + @kotlin.Metadata() public static final class One extends modifiers.SealedClass { public One() { @@ -144,6 +157,7 @@ public abstract class SealedClass { } } + @kotlin.Metadata() public static class Two extends modifiers.SealedClass { public Two() { @@ -151,6 +165,7 @@ public abstract class SealedClass { } } + @kotlin.Metadata() public static abstract class Three extends modifiers.SealedClass.Two { public Three() { @@ -158,6 +173,7 @@ public abstract class SealedClass { } } + @kotlin.Metadata() public static final class Four extends modifiers.SealedClass.Three { public Four() { diff --git a/plugins/kapt3/testData/converter/multifileClass.txt b/plugins/kapt3/testData/converter/multifileClass.txt index 94bf7828ef7..1c341e16481 100644 --- a/plugins/kapt3/testData/converter/multifileClass.txt +++ b/plugins/kapt3/testData/converter/multifileClass.txt @@ -1,5 +1,6 @@ package test; +@kotlin.Metadata() public final class M1 { public M1() { @@ -17,6 +18,7 @@ public final class M1 { package test; +@kotlin.Metadata() public final class M2 { public M2() { diff --git a/plugins/kapt3/testData/converter/nestedClasses.txt b/plugins/kapt3/testData/converter/nestedClasses.txt index 28f27a0b341..11c5b6ccb25 100644 --- a/plugins/kapt3/testData/converter/nestedClasses.txt +++ b/plugins/kapt3/testData/converter/nestedClasses.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class A { @org.jetbrains.annotations.Nullable() private final A x = null; @@ -18,11 +19,13 @@ public final class A { super(); } + @kotlin.Metadata() public static abstract interface B { @org.jetbrains.annotations.Nullable() public abstract A.B getY(); + @kotlin.Metadata(mv = {1, 1, 6}, bv = {1, 0, 1}, k = 3) public static final class DefaultImpls { public DefaultImpls() { @@ -31,6 +34,7 @@ public final class A { } } + @kotlin.Metadata() public static final class C { public static final A.C INSTANCE = null; @@ -43,30 +47,35 @@ public final class A { //////////////////// +@kotlin.Metadata() public final class A2 { public A2() { super(); } + @kotlin.Metadata() public static final class B { public B() { super(); } + @kotlin.Metadata() public static final class C { public C() { super(); } + @kotlin.Metadata() public static final class D { public D() { super(); } + @kotlin.Metadata() public static final class Cme { public Cme() { @@ -74,6 +83,7 @@ public final class A2 { } } + @kotlin.Metadata() public static final class E { public E() { @@ -88,6 +98,7 @@ public final class A2 { //////////////////// +@kotlin.Metadata() public final class Foo { public Foo() { @@ -98,18 +109,21 @@ public final class Foo { //////////////////// +@kotlin.Metadata() public final class Test { public Test() { super(); } + @kotlin.Metadata() public static final class Nested { public Nested() { super(); } + @kotlin.Metadata() public static final class NestedNested { public NestedNested() { @@ -118,6 +132,7 @@ public final class Test { } } + @kotlin.Metadata() public final class Inner { public Inner() { @@ -125,6 +140,7 @@ public final class Test { } } + @kotlin.Metadata() public static final class NestedObject { public static final Test.NestedObject INSTANCE = null; @@ -133,9 +149,11 @@ public final class Test { } } + @kotlin.Metadata() public static abstract interface NestedInterface { } + @kotlin.Metadata() public static enum NestedEnum { /*public static final*/ BLACK /* = new BLACK() */, /*public static final*/ WHITE /* = new WHITE() */; diff --git a/plugins/kapt3/testData/converter/nonExistentClass.txt b/plugins/kapt3/testData/converter/nonExistentClass.txt index d28ecd2c859..bf4ab49d108 100644 --- a/plugins/kapt3/testData/converter/nonExistentClass.txt +++ b/plugins/kapt3/testData/converter/nonExistentClass.txt @@ -1,4 +1,5 @@ @kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"}) +@kotlin.Metadata() public final class NonExistentType { @org.jetbrains.annotations.Nullable() private static final ABCDEF a = null; diff --git a/plugins/kapt3/testData/converter/nonExistentClassTypesConversion.txt b/plugins/kapt3/testData/converter/nonExistentClassTypesConversion.txt index a8b3c71508f..4ebb763d85f 100644 --- a/plugins/kapt3/testData/converter/nonExistentClassTypesConversion.txt +++ b/plugins/kapt3/testData/converter/nonExistentClassTypesConversion.txt @@ -1,5 +1,6 @@ import java.util.Calendar; +@kotlin.Metadata() public final class MyType { public MyType() { @@ -13,6 +14,7 @@ public final class MyType { import java.util.Calendar; @kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"}) +@kotlin.Metadata() public final class Test { @org.jetbrains.annotations.NotNull() public ABC a; diff --git a/plugins/kapt3/testData/converter/nonExistentClassWIthoutCorrection.txt b/plugins/kapt3/testData/converter/nonExistentClassWIthoutCorrection.txt index ba42c7d836a..de5d2cb5b47 100644 --- a/plugins/kapt3/testData/converter/nonExistentClassWIthoutCorrection.txt +++ b/plugins/kapt3/testData/converter/nonExistentClassWIthoutCorrection.txt @@ -1,4 +1,5 @@ @kotlin.Suppress(names = {"UNRESOLVED_REFERENCE"}) +@kotlin.Metadata() public final class NonExistentType { @org.jetbrains.annotations.Nullable() private static final error.NonExistentClass a = null; diff --git a/plugins/kapt3/testData/converter/primitiveTypes.txt b/plugins/kapt3/testData/converter/primitiveTypes.txt index de885d42484..b3b50542ece 100644 --- a/plugins/kapt3/testData/converter/primitiveTypes.txt +++ b/plugins/kapt3/testData/converter/primitiveTypes.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() public final class PrimitiveTypes { public static final boolean booleanFalse = false; public static final boolean booleanTrue = true; diff --git a/plugins/kapt3/testData/converter/propertyAnnotations.txt b/plugins/kapt3/testData/converter/propertyAnnotations.txt index e32f4091ce7..04b4981497f 100644 --- a/plugins/kapt3/testData/converter/propertyAnnotations.txt +++ b/plugins/kapt3/testData/converter/propertyAnnotations.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno { } @@ -5,6 +6,7 @@ public abstract @interface Anno { //////////////////// +@kotlin.Metadata() @java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE}) @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) @kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.PROPERTY, kotlin.annotation.AnnotationTarget.CLASS}) @@ -14,6 +16,7 @@ public abstract @interface Anno2 { //////////////////// +@kotlin.Metadata() public final class Test { @org.jetbrains.annotations.NotNull() private final java.lang.String prop = "A"; diff --git a/plugins/kapt3/testData/converter/severalPackageParts.txt b/plugins/kapt3/testData/converter/severalPackageParts.txt index aa842d5586f..34af72c4d62 100644 --- a/plugins/kapt3/testData/converter/severalPackageParts.txt +++ b/plugins/kapt3/testData/converter/severalPackageParts.txt @@ -1,5 +1,6 @@ package test; +@kotlin.Metadata() public final class AKt { public AKt() { @@ -14,6 +15,7 @@ public final class AKt { package test; +@kotlin.Metadata() public final class BKt { public BKt() { diff --git a/plugins/kapt3/testData/converter/strangeIdentifiers.txt b/plugins/kapt3/testData/converter/strangeIdentifiers.txt index 123b12614db..2b45a859d35 100644 --- a/plugins/kapt3/testData/converter/strangeIdentifiers.txt +++ b/plugins/kapt3/testData/converter/strangeIdentifiers.txt @@ -1,3 +1,4 @@ +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno { @@ -9,6 +10,7 @@ public abstract @interface Anno { //////////////////// +@kotlin.Metadata() public enum StrangeEnum { /*public static final*/ InvalidFieldName /* = new InvalidFieldName(null) */; @org.jetbrains.annotations.NotNull() @@ -27,6 +29,7 @@ public enum StrangeEnum { //////////////////// +@kotlin.Metadata() public final class Test { @org.jetbrains.annotations.NotNull() public java.lang.String simpleName; diff --git a/plugins/kapt3/testData/converter/topLevel.txt b/plugins/kapt3/testData/converter/topLevel.txt index 646c12862d9..ccc264ef101 100644 --- a/plugins/kapt3/testData/converter/topLevel.txt +++ b/plugins/kapt3/testData/converter/topLevel.txt @@ -1,5 +1,6 @@ package test.another; +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface Anno { @@ -10,6 +11,7 @@ public abstract @interface Anno { package test.another; +@kotlin.Metadata() public final class TopLevelKt { public TopLevelKt() { diff --git a/plugins/kapt3/testData/kotlinRunner/NestedClasses.it.txt b/plugins/kapt3/testData/kotlinRunner/NestedClasses.it.txt index 8742f405a43..66749b59890 100644 --- a/plugins/kapt3/testData/kotlinRunner/NestedClasses.it.txt +++ b/plugins/kapt3/testData/kotlinRunner/NestedClasses.it.txt @@ -7,6 +7,7 @@ public final class NonExistentClass { package test; +@kotlin.Metadata() @java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) public abstract @interface MyAnnotation { } @@ -15,6 +16,7 @@ public abstract @interface MyAnnotation { package test; +@kotlin.Metadata() public final class Simple { public static final test.Simple.Companion Companion = null; @@ -26,12 +28,14 @@ public final class Simple { super(); } + @kotlin.Metadata() public static final class NestedClass { public NestedClass() { super(); } + @kotlin.Metadata() public static final class NestedNestedClass { public NestedNestedClass() { @@ -40,6 +44,7 @@ public final class Simple { } } + @kotlin.Metadata() public final class InnerClass { public InnerClass() { @@ -47,6 +52,7 @@ public final class Simple { } } + @kotlin.Metadata() public static final class Companion { private Companion() { diff --git a/plugins/kapt3/testData/kotlinRunner/Overloads.it.txt b/plugins/kapt3/testData/kotlinRunner/Overloads.it.txt index 34e30700189..3e322a2e3a4 100644 --- a/plugins/kapt3/testData/kotlinRunner/Overloads.it.txt +++ b/plugins/kapt3/testData/kotlinRunner/Overloads.it.txt @@ -7,6 +7,16 @@ public final class NonExistentClass { package test; +@kotlin.Metadata() +@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) +public abstract @interface MyAnnotation { +} + +//////////////////// + +package test; + +@kotlin.Metadata() @MyAnnotation() public final class State { private final int someInt = 0; @@ -36,11 +46,3 @@ public final class State { super(); } } - -//////////////////// - -package test; - -@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) -public abstract @interface MyAnnotation { -} diff --git a/plugins/kapt3/testData/kotlinRunner/Simple.it.txt b/plugins/kapt3/testData/kotlinRunner/Simple.it.txt index dc6c3768386..88ba429d118 100644 --- a/plugins/kapt3/testData/kotlinRunner/Simple.it.txt +++ b/plugins/kapt3/testData/kotlinRunner/Simple.it.txt @@ -7,14 +7,7 @@ public final class NonExistentClass { package test; -@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) -public abstract @interface MyAnnotation { -} - -//////////////////// - -package test; - +@kotlin.Metadata() public enum EnumClass { /*public static final*/ BLACK /* = new BLACK() */, /*public static final*/ WHITE /* = new WHITE() */; @@ -27,6 +20,16 @@ public enum EnumClass { package test; +@kotlin.Metadata() +@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) +public abstract @interface MyAnnotation { +} + +//////////////////// + +package test; + +@kotlin.Metadata() public enum EnumClass2 { /*public static final*/ WHITE /* = new WHITE(null) */, /*public static final*/ RED /* = new RED(null) */; @@ -41,6 +44,7 @@ public enum EnumClass2 { package test; +@kotlin.Metadata() public final class Simple { @MyAnnotation()