[FIR] Support captured type parameters in java symbol provider
This commit is contained in:
@@ -1,28 +0,0 @@
|
||||
// !CHECK_TYPE
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER
|
||||
// FILE: Outer.java
|
||||
|
||||
public class Outer<E> {
|
||||
public class Inner<F> {
|
||||
E foo() {}
|
||||
F bar() {}
|
||||
|
||||
Outer<E> outer() {}
|
||||
}
|
||||
|
||||
Inner<E> baz() { }
|
||||
void set(Inner<String> x) {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
|
||||
fun main() {
|
||||
var outerStr: Outer<String> = Outer()
|
||||
outerStr.baz().checkType { <!INAPPLICABLE_CANDIDATE!>_<!><Outer<String>.Inner<String>>() }
|
||||
|
||||
val strInt: Outer<String>.Inner<Int> = outerStr.Inner()
|
||||
|
||||
strInt.foo().checkType { <!INAPPLICABLE_CANDIDATE!>_<!><String>() }
|
||||
strInt.bar().checkType { _<Int>() }
|
||||
strInt.outer().checkType { <!INAPPLICABLE_CANDIDATE!>_<!><Outer<String>>() }
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !CHECK_TYPE
|
||||
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER
|
||||
// FILE: Outer.java
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
// !CHECK_TYPE
|
||||
// FILE: BaseOuter.java
|
||||
// See KT-10285
|
||||
public class BaseOuter<H> {
|
||||
abstract public class BaseInner<E, F> {
|
||||
public H foo1() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public E foo2() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public F foo3() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: Outer.java
|
||||
public class Outer<H> extends BaseOuter<H> {
|
||||
public BaseInner<Double, String> bar() { return null; }
|
||||
public class Inner extends BaseOuter<H>.BaseInner<Double, String> {}
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
fun foo(x1: Outer<Int>, x2: Outer<Int>.Inner) {
|
||||
x1.bar().foo1().checkType { <!INAPPLICABLE_CANDIDATE!>_<!><Int>() }
|
||||
x1.bar().foo2().checkType { _<Double>() }
|
||||
x1.bar().foo3().checkType { _<String>() }
|
||||
|
||||
x2.foo1().checkType { <!INAPPLICABLE_CANDIDATE!>_<!><Int>() }
|
||||
x2.foo2().checkType { _<Double>() }
|
||||
x2.foo3().checkType { _<String>() }
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !CHECK_TYPE
|
||||
// FILE: BaseOuter.java
|
||||
// See KT-10285
|
||||
|
||||
Reference in New Issue
Block a user