Deprecate and hide @Nullable, @NonNull annotations to avoid name clashes with jspecify
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
The issue names kotlin-stdlib 2.2.21, org.jetbrains.annotations.Nullable and NonNull, ACC_SYNTHETIC, and @Deprecated(level = HIDDEN), but no repository files or tests. Start by locating how these annotations are compiled and published; completion requires a decided deprecation and hiding approach that preserves old runtime compatibility and includes the release announcement.
Written by the indexing model from the issue text.
Description
Currently, org.jetbrains.kotlin:kotlin-stdlib:2.2.21 depends on org.jetbrains:annotations, so it brings org.jetbrains.annotations.Nullable to IDE autocomplete.
The ecosystem moves towards https://jspecify.dev/, so it would be nice if you could deprecate and hide @Nullable and @NonNull annotations.
Deprecation is straightforward: @Deprecated + release announcement.
Hiding would probably involve adding ACC_SYNTHETIC modifier after the compilation. It would still keep the class in the bytecode, so the old libraries would still work fine in the runtime, while the new clients would need to move to a different nullability annotations.
An alternative option could be to rewrite @Nullable annotation in Kotlin and use @Deprecated(level = HIDDEN)
- Dominant language
- Kotlin
- Stars
- 464
- Forks
- 73
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from JetBrains/java-annotations
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
JetBrains/java-annotations#123 ·
-
JetBrains/java-annotations#125 · 1 reaction · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
JetBrains/java-annotations#122 · 2 comments ·
-
JetBrains/java-annotations#117 · 4 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
JetBrains/java-annotations#113 · 4 comments ·
All issues in JetBrains/java-annotations
Similar issues
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
libre-tube/LibreTube#8803 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Telegram !!! Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Xposed-Modules-Repo/com.fuck.iab#24 · 3 comments · 1 reaction ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
SimonHalvdansson/Harmonic-HN#361 ·