Kapt: support property $annotations methods for JVM IR
`is PropertyDescriptor` check doesn't work for JVM IR where descriptor is created on-the-fly and is an `IrBasedSimpleFunctionDescriptor`. #KT-49682
This commit is contained in:
+3
-2
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.kapt3.javac.KaptJavaFileObject
|
|||||||
import org.jetbrains.kotlin.kapt3.javac.KaptTreeMaker
|
import org.jetbrains.kotlin.kapt3.javac.KaptTreeMaker
|
||||||
import org.jetbrains.kotlin.kapt3.stubs.ErrorTypeCorrector.TypeKind.*
|
import org.jetbrains.kotlin.kapt3.stubs.ErrorTypeCorrector.TypeKind.*
|
||||||
import org.jetbrains.kotlin.kapt3.util.*
|
import org.jetbrains.kotlin.kapt3.util.*
|
||||||
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
|
import org.jetbrains.kotlin.load.java.sources.JavaSourceElement
|
||||||
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
|
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -881,8 +882,8 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati
|
|||||||
if (isIgnored(method.invisibleAnnotations)) return null
|
if (isIgnored(method.invisibleAnnotations)) return null
|
||||||
val descriptor = kaptContext.origins[method]?.descriptor as? CallableDescriptor ?: return null
|
val descriptor = kaptContext.origins[method]?.descriptor as? CallableDescriptor ?: return null
|
||||||
|
|
||||||
val isAnnotationHolderForProperty = descriptor is PropertyDescriptor && isSynthetic(method.access)
|
val isAnnotationHolderForProperty =
|
||||||
&& isStatic(method.access) && method.name.endsWith("\$annotations")
|
isSynthetic(method.access) && isStatic(method.access) && method.name.endsWith(JvmAbi.ANNOTATED_PROPERTY_METHOD_NAME_SUFFIX)
|
||||||
|
|
||||||
if (isSynthetic(method.access) && !isAnnotationHolderForProperty) return null
|
if (isSynthetic(method.access) && !isAnnotationHolderForProperty) return null
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,117 @@
|
|||||||
|
package test;
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
@Anno(value = "anno-class")
|
||||||
|
public abstract @interface Anno {
|
||||||
|
|
||||||
|
public abstract java.lang.String value();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
package test;
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.jvm.JvmName(name = "AnnotationsTest")
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class AnnotationsTest {
|
||||||
|
|
||||||
|
public AnnotationsTest() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno(value = "top-level-fun")
|
||||||
|
public static final void topLevelFun(@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno(value = "top-level-fun-receiver")
|
||||||
|
java.lang.String $this$topLevelFun) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno(value = "top-level-val")
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getTopLevelVal$annotations(int p0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final java.lang.String getTopLevelVal(@Anno(value = "top-level-val-receiver")
|
||||||
|
int $this$topLevelVal) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
package test;
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@Anno(value = "enum")
|
||||||
|
public enum Enum {
|
||||||
|
@Anno(value = "white")
|
||||||
|
/*public static final*/ WHITE /* = new Enum() */,
|
||||||
|
@Anno(value = "black")
|
||||||
|
/*public static final*/ BLACK /* = new Enum() */;
|
||||||
|
private final int x = 0;
|
||||||
|
|
||||||
|
@Anno(value = "enum-constructor")
|
||||||
|
Enum(@Anno(value = "x")
|
||||||
|
int x) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public final int getX() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
package test;
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@Anno(value = "clazz")
|
||||||
|
public abstract class Test {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private java.lang.String v;
|
||||||
|
|
||||||
|
@Anno(value = "test-constructor")
|
||||||
|
protected Test(@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno(value = "v-param")
|
||||||
|
java.lang.String v) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno(value = "v-get")
|
||||||
|
public final java.lang.String getV() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno(value = "v-set")
|
||||||
|
public final void setV(@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno(value = "v-setparam")
|
||||||
|
java.lang.String p0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno(value = "abstract-method")
|
||||||
|
public abstract java.lang.String abstractMethod();
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public abstract java.lang.String getAbstractVal();
|
||||||
|
|
||||||
|
@Anno(value = "abstract-val")
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getAbstractVal$annotations() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno(value = "v-property")
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getV$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
@Target(AnnotationTarget.FIELD)
|
@Target(AnnotationTarget.FIELD)
|
||||||
annotation class FieldAnno
|
annotation class FieldAnno
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,132 @@
|
|||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
public abstract @interface Anno1 {
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
public abstract @interface Anno2 {
|
||||||
|
|
||||||
|
public abstract int i() default 5;
|
||||||
|
|
||||||
|
public abstract java.lang.String s() default "ABC";
|
||||||
|
|
||||||
|
public abstract int[] ii() default {1, 2, 3};
|
||||||
|
|
||||||
|
public abstract java.lang.String[] ss() default {"A", "B"};
|
||||||
|
|
||||||
|
public abstract Anno1 a();
|
||||||
|
|
||||||
|
public abstract Colors color() default Colors.BLACK;
|
||||||
|
|
||||||
|
public abstract Colors[] colors() default {Colors.BLACK, Colors.WHITE};
|
||||||
|
|
||||||
|
public abstract java.lang.Class<?> clazz();
|
||||||
|
|
||||||
|
public abstract java.lang.Class<?>[] classes();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
public abstract @interface Anno3 {
|
||||||
|
|
||||||
|
public abstract java.lang.String value();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public enum Colors {
|
||||||
|
/*public static final*/ WHITE /* = new Colors() */,
|
||||||
|
/*public static final*/ BLACK /* = new Colors() */;
|
||||||
|
|
||||||
|
Colors() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public enum Enum1 {
|
||||||
|
/*public static final*/ BLACK /* = new Enum1() */,
|
||||||
|
@Anno1()
|
||||||
|
/*public static final*/ WHITE /* = new Enum1() */;
|
||||||
|
|
||||||
|
Enum1() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@Anno3(value = "value")
|
||||||
|
@Anno2(a = @Anno1(), clazz = TestAnno.class, classes = {TestAnno.class, Anno1.class})
|
||||||
|
@Anno1()
|
||||||
|
public final class TestAnno {
|
||||||
|
|
||||||
|
public TestAnno() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@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 {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno3(value = "field")
|
||||||
|
private java.lang.String b = "property initializer";
|
||||||
|
|
||||||
|
public TestAnno2() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno1()
|
||||||
|
public final void a(@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno3(value = "param-pam-pam")
|
||||||
|
java.lang.String param) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno3(value = "getter")
|
||||||
|
public final java.lang.String getB() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno3(value = "setter")
|
||||||
|
public final void setB(@org.jetbrains.annotations.NotNull()
|
||||||
|
@Anno3(value = "setparam")
|
||||||
|
java.lang.String p0) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno3(value = "property")
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getB$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// !KEEP_KDOC_COMMENTS_IN_STUBS
|
// !KEEP_KDOC_COMMENTS_IN_STUBS
|
||||||
/** Test. */
|
/** Test. */
|
||||||
class Test {
|
class Test {
|
||||||
|
|||||||
@@ -0,0 +1,153 @@
|
|||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Target(value = {})
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.PROPERTY})
|
||||||
|
public abstract @interface Anno {
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public enum EnumError {
|
||||||
|
/*public static final*/ One /* = new EnumError() */,
|
||||||
|
/*public static final*/ Two /* = new EnumError() */;
|
||||||
|
|
||||||
|
EnumError() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public abstract java.lang.String doIt();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Obj {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final Obj INSTANCE = null;
|
||||||
|
|
||||||
|
private Obj() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String prop = "";
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private final java.lang.String prop2 = "";
|
||||||
|
|
||||||
|
public Test() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void method() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void method(int a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void method(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getProp2() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getProp3() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void setProp3(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String v) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Anno()
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getProp2$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test2 {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private final java.lang.String a = null;
|
||||||
|
|
||||||
|
public Test2(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String a) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getA() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test3 {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private final java.lang.String a = null;
|
||||||
|
|
||||||
|
protected Test3(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String a) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getA() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test4 {
|
||||||
|
|
||||||
|
public Test4() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void method() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public abstract interface TestComponent {
|
||||||
|
}
|
||||||
@@ -0,0 +1,196 @@
|
|||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Target(value = {})
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.PROPERTY})
|
||||||
|
public abstract @interface Anno {
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public enum EnumError {
|
||||||
|
/*public static final*/ One /* = new EnumError() */,
|
||||||
|
/*public static final*/ Two /* = new EnumError() */;
|
||||||
|
|
||||||
|
EnumError() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public abstract java.lang.String doIt();
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obj.
|
||||||
|
*/
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Obj {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final Obj INSTANCE = null;
|
||||||
|
|
||||||
|
private Obj() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test.
|
||||||
|
*/
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* prop.
|
||||||
|
*/
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String prop = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* prop2.
|
||||||
|
*/
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private final java.lang.String prop2 = "";
|
||||||
|
|
||||||
|
public Test() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* method().
|
||||||
|
*/
|
||||||
|
public final void method() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* method(int).
|
||||||
|
*/
|
||||||
|
public final void method(int a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* method(String).
|
||||||
|
*/
|
||||||
|
public final void method(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getProp2() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get.
|
||||||
|
*/
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getProp3() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set.
|
||||||
|
*/
|
||||||
|
public final void setProp3(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String v) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* prop2.
|
||||||
|
*/
|
||||||
|
@Anno()
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getProp2$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test2
|
||||||
|
* Multiline
|
||||||
|
* documentation.
|
||||||
|
*/
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test2 {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private final java.lang.String a = null;
|
||||||
|
|
||||||
|
public Test2(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String a) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getA() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* constructor.
|
||||||
|
*/
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test3 {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private final java.lang.String a = null;
|
||||||
|
|
||||||
|
protected Test3(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String a) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getA() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test4 {
|
||||||
|
|
||||||
|
public Test4() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final void method() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `/ * Failure * /`
|
||||||
|
*/
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public abstract interface TestComponent {
|
||||||
|
}
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
package deprecated
|
package deprecated
|
||||||
|
|
||||||
@Deprecated("Deprecated annotation")
|
@Deprecated("Deprecated annotation")
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
package deprecated;
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public abstract @interface Anno {
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
package deprecated;
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
@Anno()
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public final class Foo {
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
private final int prop = 0;
|
||||||
|
|
||||||
|
public Foo() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public final void foo(int a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public final int getProp() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public final int getFoo() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public final void setFoo(int value) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getProp$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
class JvmStaticTest {
|
class JvmStaticTest {
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
class Test {
|
class Test {
|
||||||
companion object A {
|
companion object A {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
|||||||
+36
@@ -0,0 +1,36 @@
|
|||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class Test {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
private static final java.lang.String test = "";
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final Test.A A = null;
|
||||||
|
|
||||||
|
public Test() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final java.lang.String getTest() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public static final class A {
|
||||||
|
|
||||||
|
private A() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public final java.lang.String getTest() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.jvm.JvmStatic()
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getTest$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public abstract interface FooComponent {
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final FooComponent.Companion Companion = null;
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
@kotlin.jvm.JvmStatic()
|
||||||
|
public static java.lang.String create(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String context) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public static final class Companion {
|
||||||
|
|
||||||
|
private Companion() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
@kotlin.jvm.JvmStatic()
|
||||||
|
public final java.lang.String create(@org.jetbrains.annotations.NotNull()
|
||||||
|
java.lang.String context) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
import java.lang.System;
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public final class JvmStaticTest {
|
||||||
|
private static final int one = 1;
|
||||||
|
public static final int two = 2;
|
||||||
|
public static final char c = 'C';
|
||||||
|
public final byte three = (byte)3;
|
||||||
|
public final char d = 'D';
|
||||||
|
@org.jetbrains.annotations.NotNull()
|
||||||
|
public static final JvmStaticTest.Companion Companion = null;
|
||||||
|
|
||||||
|
public JvmStaticTest() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final int getOne() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata()
|
||||||
|
public static final class Companion {
|
||||||
|
|
||||||
|
private Companion() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public final int getOne() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.jvm.JvmStatic()
|
||||||
|
@java.lang.Deprecated()
|
||||||
|
public static void getOne$annotations() {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
annotation class Anno
|
annotation class Anno
|
||||||
|
|
||||||
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.CLASS)
|
@Target(AnnotationTarget.PROPERTY, AnnotationTarget.CLASS)
|
||||||
|
|||||||
Reference in New Issue
Block a user