JetBrains / JetBrains/java-annotations

Module-level `@NotNullByDefault`

Open
#113 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
463
Forks
72
PR merge metrics
No merged PRs in 30d

Description

In July the `@NotNullByDefault` annotation was added. This annotation can be used with target TYPE and PACKAGE, but sometimes you would want to have your fields, parameters and return types in (almost) every package in your module be default not null.

Therefore I propose to add the [MODULE](https://docs.oracle.com/en/java/javase/21/docs//api/java.base/java/lang/annotation/ElementType.html#MODULE) element type to the target annotation
So: `@Target(value={TYPE,PACKAGE,MODULE})` instead of `@Target(value={TYPE,PACKAGE})`

This would also require changes in any annotation processor, IDE or language server that acts on the `@NotNullByDefault`. I don't know to what extent that is part of this repo.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.