[FIR] Set targets of annotation classes in FirJavaElementFinder

#KT-60504 Fixed
This commit is contained in:
Kirill Rakhman
2023-11-29 10:01:54 +01:00
committed by Space Team
parent daa02813c2
commit 81517a3d29
9 changed files with 162 additions and 67 deletions
@@ -27,7 +27,7 @@ import org.jetbrains.annotations.NotNull;
annotation class An
class B : A {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE("foo; @NotNull() @An() @MyTypeQualifier() fun foo(): @EnhancedNullability String")!>String?<!> = null
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE("foo; @NotNull() @An() @MyTypeQualifier() fun foo(): @EnhancedNullability @R|An|() String")!>String?<!> = null
}
@An
@@ -1,45 +0,0 @@
// LL_FIR_DIVERGENCE
// KT-60504
// LL_FIR_DIVERGENCE
// !RENDER_DIAGNOSTICS_MESSAGES
// SKIP_JAVAC
// FILE: A.java
import org.jetbrains.annotations.NotNull;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@javax.annotation.meta.TypeQualifier
public @interface MyTypeQualifier {}
@An
public interface A {
@NotNull
@An
@MyTypeQualifier
String foo();
}
// FILE: k.kt
import org.jetbrains.annotations.NotNull;
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
annotation class An
class B : A {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE("foo; @NotNull() @An() @MyTypeQualifier() fun foo(): @EnhancedNullability @R|An|() String")!>String?<!> = null
}
@An
public interface C {
@NotNull
@An
fun foo(): String
}
class D : C {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE("foo; @NotNull() @An() fun foo(): String")!>String?<!> = null
}