Skip to content

Consider nullable annotations in explicit nulls #21629

@noti0na1

Description

@noti0na1

The @NotNull and @NonNullable type annotations are currently used by explicit nulls to not nullify (or add flexible type to) a reference type from Java signatures.

In addition to these annotations, I suggest we also consider the @Nullable annotation. It indicates a value can indeed be null. In this case, we will always nullify the type (adding | Null), instead of adding a flexible type.

// in Java @Nullable String f(String s) // in Scala with explicit nulls currently def f(s: (String)?): (String)? // in Scala with explicit nulls considering the annotation def f(s: (String)?): String | Null

A list of @Nullable annotations we may want to consider:

javax.annotation.Nullable org.jetbrains.annotations.Nullable org.jspecify.annotations.Nullable ... 

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions