KT-1863 Wrong nullability for class derived from java classes.
#KT-1863 In progress
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
// FILE: A.java
|
||||
public class A {}
|
||||
|
||||
// FILE: X.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class X<T> {
|
||||
@NotNull T fooN() {return null;}
|
||||
void barN(@NotNull T a) {}
|
||||
}
|
||||
|
||||
// FILE: Y.java
|
||||
public class Y extends X<String> {
|
||||
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun main() {
|
||||
Y().fooN() : Any
|
||||
Y().barN(<!ERROR_COMPILE_TIME_VALUE!>null<!>);
|
||||
}
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
// FILE: A.java
|
||||
public class A {}
|
||||
|
||||
// FILE: X.java
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class X<T> {
|
||||
@NotNull T fooN() {return null;}
|
||||
void barN(@NotNull T a) {}
|
||||
}
|
||||
|
||||
// FILE: Y.java
|
||||
public class Y extends X<A> {
|
||||
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun main() {
|
||||
Y().fooN() : Any
|
||||
Y().barN(<!ERROR_COMPILE_TIME_VALUE!>null<!>);
|
||||
}
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
// FILE: A.java
|
||||
public class A {}
|
||||
|
||||
// FILE: X.java
|
||||
public class X<T> {
|
||||
T foo() {return null;}
|
||||
void bar(T a) {}
|
||||
}
|
||||
|
||||
// FILE: Y.java
|
||||
public class Y extends X<String> {
|
||||
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun main() {
|
||||
Y().foo()<!UNSAFE_CALL!>.<!>length
|
||||
Y().bar(null)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// FILE: A.java
|
||||
public class A {}
|
||||
|
||||
// FILE: X.java
|
||||
public class X<T> {
|
||||
T foo() {return null;}
|
||||
void bar(T a) {}
|
||||
}
|
||||
|
||||
// FILE: Y.java
|
||||
public class Y extends X<A> {
|
||||
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
fun main() {
|
||||
Y().foo()<!UNSAFE_CALL!>.<!>hashCode()
|
||||
Y().bar(null)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user