[FIR] Properly enhance raw Class type in java annotations
This commit is contained in:
committed by
TeamCityServer
parent
239a330ddd
commit
1a3841d66d
+28
@@ -0,0 +1,28 @@
|
||||
// FIR_IDENTICAL
|
||||
// WITH_STDLIB
|
||||
// FILE: AnnRaw.java
|
||||
public @interface AnnRaw {
|
||||
Class value();
|
||||
}
|
||||
|
||||
// FILE: Ann.java
|
||||
public @interface Ann {
|
||||
Class<?> value();
|
||||
}
|
||||
|
||||
// FILE: Utils.java
|
||||
public class Utils {
|
||||
public static void foo(Class value) {}
|
||||
public static void fooRaw(Class<?> value) {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
class X
|
||||
|
||||
@Ann(X::class)
|
||||
@AnnRaw(X::class)
|
||||
fun test() {
|
||||
Utils.foo(X::class.java)
|
||||
Utils.fooRaw(X::class.java)
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package
|
||||
|
||||
@Ann(value = X::class) @AnnRaw(value = X::class) public fun test(): kotlin.Unit
|
||||
|
||||
public final annotation class Ann : kotlin.Annotation {
|
||||
public constructor Ann(/*0*/ value: kotlin.reflect.KClass<*>)
|
||||
public final val value: kotlin.reflect.KClass<*>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final annotation class AnnRaw : kotlin.Annotation {
|
||||
public constructor AnnRaw(/*0*/ value: kotlin.reflect.KClass<(raw) kotlin.Any>)
|
||||
public final val value: kotlin.reflect.KClass<(raw) kotlin.Any>
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public open class Utils {
|
||||
public constructor Utils()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
|
||||
// Static members
|
||||
public open fun foo(/*0*/ value: java.lang.Class<(raw) kotlin.Any!>!): kotlin.Unit
|
||||
public open fun fooRaw(/*0*/ value: java.lang.Class<*>!): kotlin.Unit
|
||||
}
|
||||
|
||||
public final class X {
|
||||
public constructor X()
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user