Do not insert type parameters when replacing javaClass with T::class
Type parameters are invalid for class literal unless class is `Array`
This commit is contained in:
+1
-1
@@ -16,7 +16,7 @@ Ann2(arg = array(Double::class)) class MyClass3 [Ann1(Char::class)] () {
|
||||
Ann3(String::class) class Nested {
|
||||
Ann1(arg = String::class) fun foo1() {
|
||||
annotation class LocalAnn(val arg: KClass<*>)
|
||||
[LocalAnn(Class<*>::class)] val x = 1
|
||||
[LocalAnn(Class::class)] val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(List::class) class MyClass1
|
||||
Ann(List::class) class MyClass2
|
||||
Ann(MutableList::class) class MyClass3
|
||||
|
||||
Ann(Array<String>::class) class MyClass4
|
||||
Ann(Array<*>::class) class MyClass5
|
||||
Ann(Array<in String>::class) class MyClass6
|
||||
|
||||
class Outer<T> {
|
||||
Ann(Array<T>::class)
|
||||
class Nested
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// "Replace javaClass<T>() with T::class in whole project" "true"
|
||||
// WITH_RUNTIME
|
||||
|
||||
Ann(javaClass<List<String>><caret>()) class MyClass1
|
||||
Ann(javaClass<List<*>>()) class MyClass2
|
||||
Ann(javaClass<MutableList<in String>>()) class MyClass3
|
||||
|
||||
Ann(javaClass<Array<String>>()) class MyClass4
|
||||
Ann(javaClass<Array<*>>()) class MyClass5
|
||||
Ann(javaClass<Array<in String>>()) class MyClass6
|
||||
|
||||
class Outer<T> {
|
||||
Ann(javaClass<Array<T>>())
|
||||
class Nested
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
public @interface Ann {
|
||||
Class<?> value();
|
||||
}
|
||||
Reference in New Issue
Block a user