Fix "add <*>" quick-fix for inner class with generic outer one

So #KT-20763 Fixed
This commit is contained in:
Toshiaki Kameyama
2017-10-25 06:04:11 +03:00
committed by Mikhail Glukhikh
parent 7b2a66c006
commit b8c5d1b852
19 changed files with 256 additions and 10 deletions
@@ -0,0 +1,5 @@
// "Add star projections" "true"
class A {
inner class B<T>
fun test(x: Any) = x is B<caret>
}
@@ -0,0 +1,5 @@
// "Add star projections" "true"
class A {
inner class B<T>
fun test(x: Any) = x is B<*>
}
@@ -0,0 +1,5 @@
// "Add star projections" "true"
class A<T> {
inner class B
fun test(x: Any) = x is B<caret>
}
@@ -0,0 +1,5 @@
// "Add star projections" "true"
class A<T> {
inner class B
fun test(x: Any) = x is A<*>.B
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B {
inner class C<T> {
inner class D
fun test(x: Any) = x is D<caret>
}
}
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B {
inner class C<T> {
inner class D
fun test(x: Any) = x is C<*>.D
}
}
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
inner class C<U> {
inner class D
fun test(x: Any) = x is D<caret>
}
}
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
inner class C<U> {
inner class D
fun test(x: Any) = x is B<*>.C<*>.D
}
}
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
inner class C<U> {
inner class D
}
}
fun test(x: Any) = x is B.C.D<caret>
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
inner class C<U> {
inner class D
}
}
fun test(x: Any) = x is B<*>.C<*>.D
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
inner class C<U> {
inner class D<V>
}
}
fun test(x: Any) = x is B.C<caret>.D
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
inner class C<U> {
inner class D<V>
}
}
fun test(x: Any) = x is B<*>.C<*>.D<*>
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
class C<U> {
inner class D
}
}
fun test(x: Any) = x is B.C.D<caret>
}
@@ -0,0 +1,9 @@
// "Add star projections" "true"
class A {
class B<T> {
class C<U> {
inner class D
}
}
fun test(x: Any) = x is B.C<*>.D
}
@@ -0,0 +1,7 @@
// "Add star projections" "true"
class A<T, U> {
inner class B<V, W> {
inner class C<X, Y>
fun test(x: Any) = x is C<caret>
}
}
@@ -0,0 +1,7 @@
// "Add star projections" "true"
class A<T, U> {
inner class B<V, W> {
inner class C<X, Y>
fun test(x: Any) = x is A<*, *>.B<*, *>.C<*, *>
}
}