Add quickfix for usages of javaClass<T>() in annotations loaded from Java
This commit is contained in:
+12
@@ -0,0 +1,12 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.lang.Number
|
||||
|
||||
Ann(arg = array(Int::class, String::class)) class MyClass1
|
||||
|
||||
Ann(arg = array<java.lang.Class<*>>(Number::class, String::class)) class MyClass2
|
||||
|
||||
Ann(arg = array<java.lang.Class<out kotlin.Comparable<*>>>(Int::class, String::class)) class MyClass3
|
||||
|
||||
Ann(arg = array<java.lang.Class<Int>>(Int::class)) class MyClass4
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(arg = array(javaClass<Int>(), javaClass<String>()<caret>)) class MyClass1
|
||||
|
||||
Ann(arg = array<java.lang.Class<*>>(javaClass<java.lang.Number>(), javaClass<String>())) class MyClass2
|
||||
|
||||
Ann(arg = array<java.lang.Class<out kotlin.Comparable<*>>>(javaClass<kotlin.Int>(), javaClass<String>())) class MyClass3
|
||||
|
||||
Ann(arg = array<java.lang.Class<Int>>(javaClass<kotlin.Int>())) class MyClass4
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public @interface Ann {
|
||||
Class<?>[] arg();
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(String::class<caret>) class MyClass
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<String>()<caret>) class MyClass
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public @interface Ann {
|
||||
Class<?> value();
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.util.Random
|
||||
|
||||
Ann(A::class, A::class, *array(A::class), arg1 = A.B::class, arg2 = Random::class) class MyClass
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass(), javaClass(), *array(javaClass())<caret>, arg1 = javaClass(), arg2 = javaClass()) class MyClass
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
public @interface Ann {
|
||||
Class<? extends A>[] value();
|
||||
Class<? extends A.B> arg1();
|
||||
Class<? extends java.util.Random> arg2();
|
||||
}
|
||||
|
||||
class A {
|
||||
static class B {}
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(String::class) class MyClass
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(String::class, arg = Int::class, args = array()) class MyClass1
|
||||
|
||||
Ann(String::class, arg = Int::class, x = 1, args = array(Double::class)) class MyClass2 {
|
||||
Ann(String::class, arg = Int::class, args = array(Double::class)) class Nested {
|
||||
Ann(String::class, arg = Int::class, args = array(Double::class)) fun foo1() {
|
||||
|
||||
[Ann(String::class, arg = Int::class, args = array(Double::class))] class Local
|
||||
}
|
||||
|
||||
[Ann(String::class, arg = Int::class, args = array(Double::class), x = 1)] fun foo2() {
|
||||
|
||||
[Ann(String::class, arg = Int::class, args = array(Double::class))] val local = 0
|
||||
}
|
||||
}
|
||||
|
||||
inner Ann(Double::class) class Inner
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<String>()<caret>, arg = javaClass<Int>(), args = array()) class MyClass1
|
||||
|
||||
Ann(javaClass<String>(), arg = javaClass<Int>(), x = 1, args = array(javaClass<Double>())) class MyClass2 {
|
||||
Ann(javaClass<String>(), arg = javaClass<Int>(), args = array(javaClass<Double>())) class Nested {
|
||||
Ann(javaClass<String>(), arg = javaClass<Int>(), args = array(javaClass<Double>())) fun foo1() {
|
||||
|
||||
[Ann(javaClass<String>(), arg = javaClass<Int>(), args = array(javaClass<Double>()))] class Local
|
||||
}
|
||||
|
||||
[Ann(javaClass<String>(), arg = javaClass<Int>(), args = array(javaClass<Double>()), x = 1)] fun foo2() {
|
||||
|
||||
[Ann(javaClass<String>(), arg = javaClass<Int>(), args = array(javaClass<Double>()))] val local = 0
|
||||
}
|
||||
}
|
||||
|
||||
inner Ann(javaClass<Double>()) class Inner
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
public @interface Ann {
|
||||
Class<?> value();
|
||||
int x() default 1;
|
||||
double y() default 1.0;
|
||||
Class<?> arg() default String;
|
||||
Class<?>[] args() default {};
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<String>()) class MyClass
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// ERROR: An annotation parameter must be a `javaClass<T>()` call
|
||||
// WITH_RUNTIME
|
||||
|
||||
val jClass = javaClass<String>()
|
||||
Ann(jClass, Int::class) class MyClass1
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// ERROR: An annotation parameter must be a `javaClass<T>()` call
|
||||
// WITH_RUNTIME
|
||||
|
||||
val jClass = javaClass<String>()
|
||||
Ann(jClass, javaClass<Int>()<caret>) class MyClass1
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public @interface Ann {
|
||||
Class<?>[] value();
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.lang
|
||||
|
||||
Ann(String::class, x = 2, arg = (Int::class), args = array((Any::class), lang.String::class)) class MyClass
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<String>(), x = 2, arg = (javaClass<Int>()), args = array((javaClass<Any>()), javaClass<java.lang.String>())<caret>) class MyClass
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
public @interface Ann {
|
||||
Class<?> value();
|
||||
int x();
|
||||
double y() default 1.0;
|
||||
Class<?> arg();
|
||||
Class<?>[] args();
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// ERROR: Unresolved reference: Err
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<Err>(), Int::class) class MyClass1
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// ERROR: Unresolved reference: Err
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<Err>(), javaClass<Int>()<caret>) class MyClass1
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public @interface Ann {
|
||||
Class<?>[] value();
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.lang
|
||||
|
||||
Ann(
|
||||
String::class,
|
||||
Int::class,
|
||||
*array(Double::class),
|
||||
x = 2,
|
||||
arg = Int::class,
|
||||
args = array(Any::class, lang.String::class))
|
||||
class MyClass
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
// "Replace javaClass<T>() with T::class" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(
|
||||
javaClass<String>(),
|
||||
javaClass<Int>(),
|
||||
*array(javaClass<Double>()),
|
||||
x = 2,
|
||||
arg = javaClass<Int>(),
|
||||
args = array(javaClass<Any>(), javaClass<java.lang.String>())<caret>)
|
||||
class MyClass
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
public @interface Ann {
|
||||
Class<?>[] value();
|
||||
int x();
|
||||
double y() default 1.0;
|
||||
Class<?> arg();
|
||||
Class<?>[] args();
|
||||
}
|
||||
Reference in New Issue
Block a user