PSI2IR: ignore enum annotation arguments of error type
Similar to references to error type, this may happen if library A uses an entity from library B annotated with an annotation from C, but A is compiled without C on the classpath.
This commit is contained in:
+9
@@ -0,0 +1,9 @@
|
||||
package a
|
||||
|
||||
enum class E { ENTRY }
|
||||
|
||||
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class Anno(val e: E)
|
||||
|
||||
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.TYPE_PARAMETER)
|
||||
annotation class Anno2(val e: Array<E>)
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package b
|
||||
|
||||
import a.*
|
||||
|
||||
@Anno(E.ENTRY)
|
||||
@Anno2(arrayOf(E.ENTRY))
|
||||
open class B {
|
||||
@Anno(E.ENTRY)
|
||||
@Anno2(arrayOf(E.ENTRY))
|
||||
fun <@Anno(E.ENTRY) @Anno2(arrayOf(E.ENTRY)) T> foo(t: T) = t
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
OK
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package c
|
||||
|
||||
import b.B
|
||||
|
||||
class C : B() {
|
||||
fun bar() = foo("")
|
||||
}
|
||||
Reference in New Issue
Block a user