From 173dbc580b43e73af315a94947c26440b22f9f40 Mon Sep 17 00:00:00 2001 From: Tomasz Linkowski Date: Sat, 31 Aug 2019 06:13:29 +0200 Subject: [PATCH] Fix #16: Add `ElementType.TYPE_PARAMETER` targets --- README.md | 6 ++++-- .../java/pl/tlinkowski/annotation/basic/NonNullPackage.java | 2 +- .../main/java/pl/tlinkowski/annotation/basic/NullOr.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index fdc593a..2cafed5 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,8 @@ For this purpose, the library provides two annotations in the `pl.tlinkowski.ann [packages](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/ElementType.html#PACKAGE) - affects: **all** [type uses](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/ElementType.html#TYPE_USE) - (e.g. fields, method return types, method parameters, type parameters, local variables) + (e.g. fields, method return types, method parameters, type parameters, local variables) and + [type parameters](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/ElementType.html#TYPE_PARAMETER) *within the annotated package* - analogous to (except for the scope of affected entities): @@ -102,7 +103,8 @@ For this purpose, the library provides two annotations in the `pl.tlinkowski.ann - [target](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/Target.html): [type uses](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/ElementType.html#TYPE_USE) - (e.g. fields, method return types, method parameters, type parameters, local variables) + (e.g. fields, method return types, method parameters, type parameters, local variables) and + [type parameters](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/annotation/ElementType.html#TYPE_PARAMETER) - affects: annotated type use diff --git a/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NonNullPackage.java b/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NonNullPackage.java index 11b73bd..a5b9ca8 100644 --- a/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NonNullPackage.java +++ b/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NonNullPackage.java @@ -42,7 +42,7 @@ @Nonnull @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PACKAGE) -@TypeQualifierDefault(ElementType.TYPE_USE) +@TypeQualifierDefault({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @UnderMigration(status = MigrationStatus.STRICT) // https://youtrack.jetbrains.com/issue/KT-10942 public @interface NonNullPackage { diff --git a/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NullOr.java b/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NullOr.java index 4f2ecd5..61459c7 100644 --- a/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NullOr.java +++ b/subprojects/pl.tlinkowski.annotation.basic/src/main/java/pl/tlinkowski/annotation/basic/NullOr.java @@ -42,7 +42,7 @@ @Documented @Nonnull(when = When.MAYBE) @Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.TYPE_USE) +@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @TypeQualifierNickname @UnderMigration(status = MigrationStatus.STRICT) // https://youtrack.jetbrains.com/issue/KT-10942 public @interface NullOr {