K2/jspecify: reproduce KT-65594

This commit is contained in:
Mikhail Glukhikh
2024-03-14 09:36:11 +01:00
committed by Space Team
parent 30e2af7b66
commit 5b0cb5c9db
10 changed files with 152 additions and 0 deletions
@@ -0,0 +1,20 @@
// JSPECIFY_STATE: strict
// FILE: Box.java
import org.jspecify.annotations.*;
@NullMarked
public class Box<V extends @Nullable Object> {
public static <V extends @Nullable Object> Box<V> make() {
return new Box<>();
}
}
// FILE: Util.java
public final class Util {
public Box<?> boxId(Box<?> box) { return box; }
}
// FILE: a.kt
fun foo(u: Util) =
u.boxId(Box.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>make<!>())
@@ -0,0 +1,20 @@
// JSPECIFY_STATE: strict
// FILE: Box.java
import org.jspecify.annotations.*;
@NullMarked
public class Box<V extends @Nullable Object> {
public static <V extends @Nullable Object> Box<V> make() {
return new Box<>();
}
}
// FILE: Util.java
public final class Util {
public Box<?> boxId(Box<?> box) { return box; }
}
// FILE: a.kt
fun foo(u: Util) =
u.boxId(Box.make())
@@ -0,0 +1,20 @@
// JSPECIFY_STATE: warn
// FILE: Box.java
import org.jspecify.annotations.*;
@NullMarked
public class Box<V extends @Nullable Object> {
public static <V extends @Nullable Object> Box<V> make() {
return new Box<>();
}
}
// FILE: Util.java
public final class Util {
public Box<?> boxId(Box<?> box) { return box; }
}
// FILE: a.kt
fun foo(u: Util) =
u.boxId(Box.<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>make<!>())
@@ -0,0 +1,20 @@
// JSPECIFY_STATE: warn
// FILE: Box.java
import org.jspecify.annotations.*;
@NullMarked
public class Box<V extends @Nullable Object> {
public static <V extends @Nullable Object> Box<V> make() {
return new Box<>();
}
}
// FILE: Util.java
public final class Util {
public Box<?> boxId(Box<?> box) { return box; }
}
// FILE: a.kt
fun foo(u: Util) =
u.boxId(Box.make())