Jspecify: Rename NullnessUnknown to NullnessUnspecified

This commit is contained in:
Victor Petukhov
2020-10-08 11:46:06 +03:00
parent 2685c7efce
commit c3bada44cf
25 changed files with 48 additions and 48 deletions
@@ -3,7 +3,7 @@
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnknown Object> { public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {
} }
// FILE: B.java // FILE: B.java
@@ -2,8 +2,8 @@ package
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ aAnyNotNullNotNullNotNull: A<kotlin.Any, kotlin.Any, kotlin.Any>, /*5*/ aAnyNotNullNotNullNull: A<kotlin.Any, kotlin.Any, kotlin.Any?>, /*6*/ aAnyNotNullNullNotNull: A<kotlin.Any, kotlin.Any?, kotlin.Any>, /*7*/ aAnyNotNullNullNull: A<kotlin.Any, kotlin.Any?, kotlin.Any?>, /*8*/ b: B): kotlin.Unit public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ aAnyNotNullNotNullNotNull: A<kotlin.Any, kotlin.Any, kotlin.Any>, /*5*/ aAnyNotNullNotNullNull: A<kotlin.Any, kotlin.Any, kotlin.Any?>, /*6*/ aAnyNotNullNullNotNull: A<kotlin.Any, kotlin.Any?, kotlin.Any>, /*7*/ aAnyNotNullNullNull: A<kotlin.Any, kotlin.Any?, kotlin.Any?>, /*8*/ b: B): kotlin.Unit
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> { public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!> {
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>() public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -13,13 +13,13 @@ public class A {
@DefaultNullable @DefaultNullable
public String everythingNullable(String x) { return ""; } public String everythingNullable(String x) { return ""; }
@DefaultNullnessUnknown @DefaultNullnessUnspecified
public String everythingUnknown(String x) { return ""; } public String everythingUnknown(String x) { return ""; }
@DefaultNullable @DefaultNullable
public String mixed(@NotNull String x) { return ""; } public String mixed(@NotNull String x) { return ""; }
public String explicitlyNullnessUnknown(@NullnessUnknown String x) { return ""; } public String explicitlyNullnessUnspecified(@NullnessUnspecified String x) { return ""; }
} }
// FILE: main.kt // FILE: main.kt
@@ -39,9 +39,9 @@ fun main(a: A) {
a.mixed(<!NULL_FOR_NONNULL_TYPE!>null<!>)?.length a.mixed(<!NULL_FOR_NONNULL_TYPE!>null<!>)?.length
a.mixed("")?.length a.mixed("")?.length
a.explicitlyNullnessUnknown("").length a.explicitlyNullnessUnspecified("").length
a.explicitlyNullnessUnknown("")<!UNNECESSARY_SAFE_CALL!>?.<!>length a.explicitlyNullnessUnspecified("")<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.explicitlyNullnessUnknown(null).length a.explicitlyNullnessUnspecified(null).length
a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.defaultField.length a.defaultField.length
@@ -9,8 +9,8 @@ public fun main(/*0*/ a: A): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun everythingNotNullable(/*0*/ x: kotlin.String): kotlin.String public open fun everythingNotNullable(/*0*/ x: kotlin.String): kotlin.String
@org.jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String?): @org.jspecify.annotations.DefaultNullable kotlin.String? @org.jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String?): @org.jspecify.annotations.DefaultNullable kotlin.String?
@org.jspecify.annotations.DefaultNullnessUnknown public open fun everythingUnknown(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullnessUnknown kotlin.String! @org.jspecify.annotations.DefaultNullnessUnspecified public open fun everythingUnknown(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullnessUnspecified kotlin.String!
public open fun explicitlyNullnessUnknown(/*0*/ @org.jspecify.annotations.NullnessUnknown x: @org.jspecify.annotations.NullnessUnknown kotlin.String!): kotlin.String public open fun explicitlyNullnessUnspecified(/*0*/ @org.jspecify.annotations.NullnessUnspecified x: @org.jspecify.annotations.NullnessUnspecified kotlin.String!): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@org.jspecify.annotations.DefaultNullable public open fun mixed(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String): @org.jspecify.annotations.DefaultNullable kotlin.String? @org.jspecify.annotations.DefaultNullable public open fun mixed(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String): @org.jspecify.annotations.DefaultNullable kotlin.String?
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -8,7 +8,7 @@ public class A {
@Nullable public String field = null; @Nullable public String field = null;
@Nullable @Nullable
public String foo(@NotNull String x, @NullnessUnknown CharSequence y) { public String foo(@NotNull String x, @NullnessUnspecified CharSequence y) {
return ""; return "";
} }
@@ -23,7 +23,7 @@ public class A {
@DefaultNullable @DefaultNullable
public String everythingNullable(String x) { return ""; } public String everythingNullable(String x) { return ""; }
@DefaultNullnessUnknown @DefaultNullnessUnspecified
public String everythingUnknown(String x) { return ""; } public String everythingUnknown(String x) { return ""; }
} }
@@ -9,8 +9,8 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.jspecify.annotations.DefaultNotNull public open fun everythingNotNullable(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNotNull kotlin.String! @org.jspecify.annotations.DefaultNotNull public open fun everythingNotNullable(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNotNull kotlin.String!
@org.jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullable kotlin.String! @org.jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullable kotlin.String!
@org.jspecify.annotations.DefaultNullnessUnknown public open fun everythingUnknown(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullnessUnknown kotlin.String! @org.jspecify.annotations.DefaultNullnessUnspecified public open fun everythingUnknown(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullnessUnspecified kotlin.String!
@org.jspecify.annotations.Nullable public open fun foo(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String!, /*1*/ @org.jspecify.annotations.NullnessUnknown y: @org.jspecify.annotations.NullnessUnknown kotlin.CharSequence!): @org.jspecify.annotations.Nullable kotlin.String! @org.jspecify.annotations.Nullable public open fun foo(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String!, /*1*/ @org.jspecify.annotations.NullnessUnspecified y: @org.jspecify.annotations.NullnessUnspecified kotlin.CharSequence!): @org.jspecify.annotations.Nullable kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@@ -7,7 +7,7 @@ public class A {
@Nullable public String field = null; @Nullable public String field = null;
@Nullable @Nullable
public String foo(@NotNull String x, @NullnessUnknown CharSequence y) { public String foo(@NotNull String x, @NullnessUnspecified CharSequence y) {
return ""; return "";
} }
@@ -7,7 +7,7 @@ public open class A {
@org.jspecify.annotations.Nullable public final var field: @org.jspecify.annotations.Nullable kotlin.String? @org.jspecify.annotations.Nullable public final var field: @org.jspecify.annotations.Nullable kotlin.String?
@org.jspecify.annotations.NotNull public open fun bar(): @org.jspecify.annotations.NotNull kotlin.String @org.jspecify.annotations.NotNull public open fun bar(): @org.jspecify.annotations.NotNull kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.jspecify.annotations.Nullable public open fun foo(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String, /*1*/ @org.jspecify.annotations.NullnessUnknown y: @org.jspecify.annotations.NullnessUnknown kotlin.CharSequence!): @org.jspecify.annotations.Nullable kotlin.String? @org.jspecify.annotations.Nullable public open fun foo(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String, /*1*/ @org.jspecify.annotations.NullnessUnspecified y: @org.jspecify.annotations.NullnessUnspecified kotlin.CharSequence!): @org.jspecify.annotations.Nullable kotlin.String?
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@@ -3,7 +3,7 @@
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnknown Object> { public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {
} }
// FILE: B.java // FILE: B.java
@@ -28,7 +28,7 @@ public class C {
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
@DefaultNullnessUnknown @DefaultNullnessUnspecified
public class D { public class D {
public void bar(A<String, String, String> a) {} public void bar(A<String, String, String> a) {}
} }
@@ -2,8 +2,8 @@ package
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B, /*5*/ c: C, /*6*/ d: D): kotlin.Unit public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B, /*5*/ c: C, /*6*/ d: D): kotlin.Unit
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> { public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!> {
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>() public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -4,7 +4,7 @@
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnknown Object> { public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {
} }
// FILE: B.java // FILE: B.java
@@ -2,8 +2,8 @@ package
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ aAnyNotNullNotNullNotNull: A<kotlin.Any, kotlin.Any, kotlin.Any>, /*5*/ aAnyNotNullNotNullNull: A<kotlin.Any, kotlin.Any, kotlin.Any?>, /*6*/ aAnyNotNullNullNotNull: A<kotlin.Any, kotlin.Any?, kotlin.Any>, /*7*/ aAnyNotNullNullNull: A<kotlin.Any, kotlin.Any?, kotlin.Any?>, /*8*/ b: B): kotlin.Unit public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ aAnyNotNullNotNullNotNull: A<kotlin.Any, kotlin.Any, kotlin.Any>, /*5*/ aAnyNotNullNotNullNull: A<kotlin.Any, kotlin.Any, kotlin.Any?>, /*6*/ aAnyNotNullNullNotNull: A<kotlin.Any, kotlin.Any?, kotlin.Any>, /*7*/ aAnyNotNullNullNull: A<kotlin.Any, kotlin.Any?, kotlin.Any?>, /*8*/ b: B): kotlin.Unit
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> { public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!> {
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>() public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -14,13 +14,13 @@ public class A {
@DefaultNullable @DefaultNullable
public String everythingNullable(String x) { return ""; } public String everythingNullable(String x) { return ""; }
@DefaultNullnessUnknown @DefaultNullnessUnspecified
public String everythingUnknown(String x) { return ""; } public String everythingUnknown(String x) { return ""; }
@DefaultNullable @DefaultNullable
public String mixed(@NotNull String x) { return ""; } public String mixed(@NotNull String x) { return ""; }
public String explicitlyNullnessUnknown(@NullnessUnknown String x) { return ""; } public String explicitlyNullnessUnspecified(@NullnessUnspecified String x) { return ""; }
} }
// FILE: main.kt // FILE: main.kt
@@ -40,9 +40,9 @@ fun main(a: A) {
a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)?.length a.mixed(<!NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS!>null<!>)?.length
a.mixed("")?.length a.mixed("")?.length
a.explicitlyNullnessUnknown("").length a.explicitlyNullnessUnspecified("").length
a.explicitlyNullnessUnknown("")<!UNNECESSARY_SAFE_CALL!>?.<!>length a.explicitlyNullnessUnspecified("")<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.explicitlyNullnessUnknown(null).length a.explicitlyNullnessUnspecified(null).length
a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length a.defaultField<!UNNECESSARY_SAFE_CALL!>?.<!>length
a.defaultField.length a.defaultField.length
@@ -9,8 +9,8 @@ public fun main(/*0*/ a: A): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun everythingNotNullable(/*0*/ x: kotlin.String!): kotlin.String! public open fun everythingNotNullable(/*0*/ x: kotlin.String!): kotlin.String!
@org.jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullable kotlin.String! @org.jspecify.annotations.DefaultNullable public open fun everythingNullable(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullable kotlin.String!
@org.jspecify.annotations.DefaultNullnessUnknown public open fun everythingUnknown(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullnessUnknown kotlin.String! @org.jspecify.annotations.DefaultNullnessUnspecified public open fun everythingUnknown(/*0*/ x: kotlin.String!): @org.jspecify.annotations.DefaultNullnessUnspecified kotlin.String!
public open fun explicitlyNullnessUnknown(/*0*/ @org.jspecify.annotations.NullnessUnknown x: @org.jspecify.annotations.NullnessUnknown kotlin.String!): kotlin.String! public open fun explicitlyNullnessUnspecified(/*0*/ @org.jspecify.annotations.NullnessUnspecified x: @org.jspecify.annotations.NullnessUnspecified kotlin.String!): kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@org.jspecify.annotations.DefaultNullable public open fun mixed(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String!): @org.jspecify.annotations.DefaultNullable kotlin.String! @org.jspecify.annotations.DefaultNullable public open fun mixed(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String!): @org.jspecify.annotations.DefaultNullable kotlin.String!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -8,7 +8,7 @@ public class A {
@Nullable public String field = null; @Nullable public String field = null;
@Nullable @Nullable
public String foo(@NotNull String x, @NullnessUnknown CharSequence y) { public String foo(@NotNull String x, @NullnessUnspecified CharSequence y) {
return ""; return "";
} }
@@ -7,7 +7,7 @@ public open class A {
@org.jspecify.annotations.Nullable public final var field: @org.jspecify.annotations.Nullable kotlin.String! @org.jspecify.annotations.Nullable public final var field: @org.jspecify.annotations.Nullable kotlin.String!
@org.jspecify.annotations.NotNull public open fun bar(): @org.jspecify.annotations.NotNull kotlin.String! @org.jspecify.annotations.NotNull public open fun bar(): @org.jspecify.annotations.NotNull kotlin.String!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@org.jspecify.annotations.Nullable public open fun foo(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String!, /*1*/ @org.jspecify.annotations.NullnessUnknown y: @org.jspecify.annotations.NullnessUnknown kotlin.CharSequence!): @org.jspecify.annotations.Nullable kotlin.String! @org.jspecify.annotations.Nullable public open fun foo(/*0*/ @org.jspecify.annotations.NotNull x: @org.jspecify.annotations.NotNull kotlin.String!, /*1*/ @org.jspecify.annotations.NullnessUnspecified y: @org.jspecify.annotations.NullnessUnspecified kotlin.CharSequence!): @org.jspecify.annotations.Nullable kotlin.String!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@@ -4,7 +4,7 @@
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnknown Object> { public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {
} }
// FILE: B.java // FILE: B.java
@@ -29,7 +29,7 @@ public class C {
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
@DefaultNullnessUnknown @DefaultNullnessUnspecified
public class D { public class D {
public void bar(A<String, String, String> a) {} public void bar(A<String, String, String> a) {}
} }
@@ -2,8 +2,8 @@ package
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B, /*5*/ c: C, /*6*/ d: D): kotlin.Unit public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B, /*5*/ c: C, /*6*/ d: D): kotlin.Unit
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> { public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!> {
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>() public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -25,7 +25,7 @@ public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@org.jspecify.annotations.DefaultNullnessUnknown public open class D { @org.jspecify.annotations.DefaultNullnessUnspecified public open class D {
public constructor D() public constructor D()
public open fun bar(/*0*/ a: A<kotlin.String!, kotlin.String!, kotlin.String!>!): kotlin.Unit public open fun bar(/*0*/ a: A<kotlin.String!, kotlin.String!, kotlin.String!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -4,7 +4,7 @@
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnknown Object> { public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {
} }
// FILE: B.java // FILE: B.java
@@ -2,8 +2,8 @@ package
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B): kotlin.Unit public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B): kotlin.Unit
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> { public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!> {
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>() public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any!, /*1*/ E : @org.jspecify.annotations.Nullable kotlin.Any!, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -3,7 +3,7 @@
import org.jspecify.annotations.*; import org.jspecify.annotations.*;
public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnknown Object> { public class A<T extends @NotNull Object, E extends @Nullable Object, F extends @NullnessUnspecified Object> {
} }
// FILE: B.java // FILE: B.java
@@ -2,8 +2,8 @@ package
public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B): kotlin.Unit public fun main(/*0*/ aNotNullNotNullNotNull: A<kotlin.String, kotlin.String, kotlin.String>, /*1*/ aNotNullNotNullNull: A<kotlin.String, kotlin.String, kotlin.String?>, /*2*/ aNotNullNullNotNull: A<kotlin.String, kotlin.String?, kotlin.String>, /*3*/ aNotNullNullNull: A<kotlin.String, kotlin.String?, kotlin.String?>, /*4*/ b: B): kotlin.Unit
public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!> { public open class A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!> {
public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnknown kotlin.Any!>() public constructor A</*0*/ T : @org.jspecify.annotations.NotNull kotlin.Any, /*1*/ E, /*2*/ F : @org.jspecify.annotations.NullnessUnspecified kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -13,7 +13,7 @@ public open class B {
public constructor B() public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@org.jspecify.annotations.DefaultNotNull public open fun noBoundsNotNull(/*0*/ a: A<out @org.jspecify.annotations.NotNull kotlin.Any, out @org.jspecify.annotations.Nullable kotlin.Any, out @org.jspecify.annotations.NullnessUnknown kotlin.Any>): kotlin.Unit @org.jspecify.annotations.DefaultNotNull public open fun noBoundsNotNull(/*0*/ a: A<out @org.jspecify.annotations.NotNull kotlin.Any, out @org.jspecify.annotations.Nullable kotlin.Any, out @org.jspecify.annotations.NullnessUnspecified kotlin.Any>): kotlin.Unit
@org.jspecify.annotations.DefaultNullable public open fun noBoundsNullable(/*0*/ a: A<out @org.jspecify.annotations.NotNull kotlin.Any, *, *>?): kotlin.Unit @org.jspecify.annotations.DefaultNullable public open fun noBoundsNullable(/*0*/ a: A<out @org.jspecify.annotations.NotNull kotlin.Any, *, *>?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@@ -20,11 +20,11 @@ import org.jetbrains.kotlin.name.FqName
val JSPECIFY_NULLABLE = FqName("org.jspecify.annotations.Nullable") val JSPECIFY_NULLABLE = FqName("org.jspecify.annotations.Nullable")
val JSPECIFY_NOT_NULL = FqName("org.jspecify.annotations.NotNull") val JSPECIFY_NOT_NULL = FqName("org.jspecify.annotations.NotNull")
val JSPECIFY_NULLNESS_UNKNOWN = FqName("org.jspecify.annotations.NullnessUnknown") val JSPECIFY_NULLNESS_UNKNOWN = FqName("org.jspecify.annotations.NullnessUnspecified")
val JSPECIFY_DEFAULT_NULLABLE = FqName("org.jspecify.annotations.DefaultNullable") val JSPECIFY_DEFAULT_NULLABLE = FqName("org.jspecify.annotations.DefaultNullable")
val JSPECIFY_DEFAULT_NOT_NULL = FqName("org.jspecify.annotations.DefaultNotNull") val JSPECIFY_DEFAULT_NOT_NULL = FqName("org.jspecify.annotations.DefaultNotNull")
val JSPECIFY_DEFAULT_NULLNESS_UNKNOWN = FqName("org.jspecify.annotations.DefaultNullnessUnknown") val JSPECIFY_DEFAULT_NULLNESS_UNKNOWN = FqName("org.jspecify.annotations.DefaultNullnessUnspecified")
val NULLABLE_ANNOTATIONS = listOf( val NULLABLE_ANNOTATIONS = listOf(
JvmAnnotationNames.JETBRAINS_NULLABLE_ANNOTATION, JvmAnnotationNames.JETBRAINS_NULLABLE_ANNOTATION,
@@ -14,6 +14,6 @@ import java.lang.annotation.ElementType;
@Documented @Documented
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE_USE, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.PACKAGE, ElementType.TYPE}) @Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE_USE, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.PACKAGE, ElementType.TYPE})
public @interface DefaultNullnessUnknown { public @interface DefaultNullnessUnspecified {
} }
@@ -14,6 +14,6 @@ import java.lang.annotation.ElementType;
@Documented @Documented
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE_USE, ElementType.PARAMETER}) @Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE_USE, ElementType.PARAMETER})
public @interface NullnessUnknown { public @interface NullnessUnspecified {
} }