Add quickfix for java.lang.Class as annotation parameter
This commit is contained in:
+8
@@ -0,0 +1,8 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(val arg: Array<KClass<*>>)
|
||||
|
||||
Ann(arg = array(String::class, Double::class)) class MyClass
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(val arg1: KClass<*>, val arg2: KClass<out Any?>)
|
||||
|
||||
Ann(String::class, Int::class) class MyClass
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(
|
||||
val arg1: Int,
|
||||
val arg2: KClass<*> = Int::class,
|
||||
val arg3: Array<KClass<out Any?>> = array(String::class),
|
||||
vararg val arg4: KClass<out Any?> = array(Double::class)
|
||||
)
|
||||
|
||||
Ann(arg1 = 1) class MyClass1
|
||||
Ann(arg1 = 2, arg2 = Boolean::class) class MyClass2
|
||||
Ann(arg1 = 3, arg3 = array(Boolean::class)) class MyClass3
|
||||
Ann(arg1 = 4, arg4 = String::class) class MyClass4
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// ERROR: <html>Type inference failed. Expected type mismatch: <table><tr><td>required: </td><td><b>kotlin.reflect.KClass<*></b></td></tr><tr><td>found: </td><td><font color=red><b>java.lang.Class<???></b></font></td></tr></table></html>
|
||||
// ERROR: <html>Type mismatch.<table><tr><td>Required:</td><td>kotlin.reflect.KClass<*></td></tr><tr><td>Found:</td><td>java.lang.Class<[ERROR : Err]></td></tr></table></html>
|
||||
// ERROR: <html>Type mismatch.<table><tr><td>Required:</td><td>kotlin.reflect.KClass<*></td></tr><tr><td>Found:</td><td>java.lang.Class<kotlin.Double></td></tr></table></html>
|
||||
// ERROR: Unresolved reference: Err
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(vararg val arg: KClass<*>)
|
||||
|
||||
Ann(String::class, javaClass<Err>()) class MyClass1
|
||||
Ann(String::class, javaClass()) class MyClass2
|
||||
|
||||
val x = javaClass<Double>()
|
||||
Ann(String::class, x) class MyClass3
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(vararg val arg: KClass<*>)
|
||||
|
||||
Ann(String::class, Double::class, *array(Char::class)) class MyClass
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
annotation class Ann(val arg: Array<Class<*>><caret>)
|
||||
|
||||
Ann(arg = array(javaClass<String>(), javaClass<Double>())) class MyClass
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
annotation class Ann(val arg1: Class<*><caret>, val arg2: Class<out Any?>)
|
||||
|
||||
Ann(javaClass<String>(), javaClass<Int>()) class MyClass
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
annotation class Ann(
|
||||
val arg1: Int,
|
||||
val arg2: Class<*><caret> = javaClass<Int>(),
|
||||
val arg3: Array<Class<out Any?>> = array(javaClass<String>()),
|
||||
vararg val arg4: Class<out Any?> = array(javaClass<Double>())
|
||||
)
|
||||
|
||||
Ann(arg1 = 1) class MyClass1
|
||||
Ann(arg1 = 2, arg2 = javaClass<Boolean>()) class MyClass2
|
||||
Ann(arg1 = 3, arg3 = array(javaClass<Boolean>())) class MyClass3
|
||||
Ann(arg1 = 4, arg4 = javaClass<String>()) class MyClass4
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// ERROR: <html>Type inference failed. Expected type mismatch: <table><tr><td>required: </td><td><b>kotlin.reflect.KClass<*></b></td></tr><tr><td>found: </td><td><font color=red><b>java.lang.Class<???></b></font></td></tr></table></html>
|
||||
// ERROR: <html>Type mismatch.<table><tr><td>Required:</td><td>kotlin.reflect.KClass<*></td></tr><tr><td>Found:</td><td>java.lang.Class<[ERROR : Err]></td></tr></table></html>
|
||||
// ERROR: <html>Type mismatch.<table><tr><td>Required:</td><td>kotlin.reflect.KClass<*></td></tr><tr><td>Found:</td><td>java.lang.Class<kotlin.Double></td></tr></table></html>
|
||||
// ERROR: Unresolved reference: Err
|
||||
// WITH_RUNTIME
|
||||
|
||||
annotation class Ann(vararg val arg: Class<*><caret>)
|
||||
|
||||
Ann(javaClass<String>(), javaClass<Err>()) class MyClass1
|
||||
Ann(javaClass<String>(), javaClass()) class MyClass2
|
||||
|
||||
val x = javaClass<Double>()
|
||||
Ann(javaClass<String>(), x) class MyClass3
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace Class<T> with KClass<T> in whole annotation" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
annotation class Ann(vararg val arg: Class<*><caret>)
|
||||
|
||||
Ann(javaClass<String>(), javaClass<Double>(), *array(javaClass<Char>())) class MyClass
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@Ann1(String.class)
|
||||
class A {}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class AnnO(val arg: KClass<*>)
|
||||
|
||||
AnnO(Int::class)
|
||||
Ann1(String::class)
|
||||
class MyClassO
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// "Replace Class<T> with KClass<T> for each annotation in project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann1(val arg: KClass<*>)
|
||||
|
||||
Ann1(String::class) class MyClass1
|
||||
Ann1(MyClass1::class) class MyClass2
|
||||
|
||||
annotation class Ann2(val arg: Array<KClass<*>>)
|
||||
|
||||
Ann2(arg = array(Double::class)) class MyClass3 [Ann1(Char::class)] () {
|
||||
annotation class Ann3(val arg: KClass<*> = Any::class)
|
||||
|
||||
Ann3(String::class) class Nested {
|
||||
Ann1(arg = String::class) fun foo1() {
|
||||
annotation class LocalAnn(val arg: KClass<*>)
|
||||
[LocalAnn(Class<*>::class)] val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
inner AnnO(Double::class) class Inner
|
||||
}
|
||||
|
||||
AnnO(Boolean::class) class Another
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// "Replace Class<T> with KClass<T> for each annotation in project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
annotation class Ann1(val arg: Class<*><caret>)
|
||||
|
||||
Ann1(javaClass<String>()) class MyClass1
|
||||
Ann1(javaClass<MyClass1>()) class MyClass2
|
||||
|
||||
annotation class Ann2(val arg: Array<Class<*>>)
|
||||
|
||||
Ann2(arg = array(javaClass<Double>())) class MyClass3 [Ann1(javaClass<Char>())] () {
|
||||
annotation class Ann3(val arg: Class<*> = javaClass<Any>())
|
||||
|
||||
Ann3(javaClass<String>()) class Nested {
|
||||
Ann1(arg = javaClass<String>()) fun foo1() {
|
||||
annotation class LocalAnn(val arg: Class<*>)
|
||||
[LocalAnn(javaClass<Class<*>>())] val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
inner AnnO(javaClass<Double>()) class Inner
|
||||
}
|
||||
|
||||
AnnO(javaClass<Boolean>()) class Another
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@Ann1(String.class)
|
||||
class A {}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
annotation class AnnO(val arg: Class<*>)
|
||||
|
||||
AnnO(javaClass<Int>())
|
||||
Ann1(javaClass<String>())
|
||||
class MyClassO
|
||||
Reference in New Issue
Block a user