diff --git a/patches/api/0003-Allow-use-of-TYPE_USE-annotations.patch b/patches/api/0003-Annotation-Test-changes.patch similarity index 61% rename from patches/api/0003-Allow-use-of-TYPE_USE-annotations.patch rename to patches/api/0003-Annotation-Test-changes.patch index 0a7c04dc50..f4dad40b14 100644 --- a/patches/api/0003-Allow-use-of-TYPE_USE-annotations.patch +++ b/patches/api/0003-Annotation-Test-changes.patch @@ -1,18 +1,40 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Riley Park -Date: Mon, 21 Jun 2021 09:51:29 -0700 -Subject: [PATCH] Allow use of TYPE_USE annotations +From: Shane Freeder +Date: Sun, 17 Mar 2019 23:04:30 +0000 +Subject: [PATCH] Annotation Test changes +- Allow use of TYPE_USE annotations +- Ignore package-private methods for nullability annotations +- Add excludes for classes which don't pass diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java -index 0c7377247ad9251c9e498039511e7220370aba2d..8d14d81c078d29781591e0ce96ea80338565e42b 100644 +index 0c7377247ad9251c9e498039511e7220370aba2d..f9be07fff0bc589e1b0d24c5e5d5695b0b8938c7 100644 --- a/src/test/java/org/bukkit/AnnotationTest.java +++ b/src/test/java/org/bukkit/AnnotationTest.java -@@ -67,14 +67,40 @@ public class AnnotationTest { +@@ -40,7 +40,17 @@ public class AnnotationTest { + "org/bukkit/util/io/Wrapper", + "org/bukkit/plugin/java/PluginClassLoader", + // Generic functional interface +- "org/bukkit/util/Consumer" ++ "org/bukkit/util/Consumer", ++ // Paper start ++ // Timings history is broken in terms of nullability due to guavas Function defining that the param is NonNull ++ "co/aikar/timings/TimingHistory$2", ++ "co/aikar/timings/TimingHistory$2$1", ++ "co/aikar/timings/TimingHistory$2$1$1", ++ "co/aikar/timings/TimingHistory$2$1$2", ++ "co/aikar/timings/TimingHistory$3", ++ "co/aikar/timings/TimingHistory$4", ++ "co/aikar/timings/TimingHistoryEntry$1" ++ // Paper end + }; + + @Test +@@ -67,14 +77,40 @@ public class AnnotationTest { } if (mustBeAnnotated(Type.getReturnType(method.desc)) && !isWellAnnotated(method.invisibleAnnotations)) { -+ // Paper start ++ // Paper start - Allow use of TYPE_USE annotations + boolean warn = true; + if (isWellAnnotated(method.visibleTypeAnnotations)) { + warn = false; @@ -45,11 +67,20 @@ index 0c7377247ad9251c9e498039511e7220370aba2d..8d14d81c078d29781591e0ce96ea8033 + } + } + } -+ // Paper end ++ // Paper end - Allow use of TYPE_USE annotations ParameterNode paramNode = parameters == null ? null : parameters.get(i); String paramName = paramNode == null ? null : paramNode.name; -@@ -174,7 +200,7 @@ public class AnnotationTest { +@@ -152,7 +188,7 @@ public class AnnotationTest { + + private static boolean isMethodIncluded(@NotNull ClassNode clazz, @NotNull MethodNode method, @NotNull Map allClasses) { + // Exclude private, synthetic and deprecated methods +- if ((method.access & (Opcodes.ACC_PRIVATE | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_DEPRECATED)) != 0) { ++ if ((method.access & (Opcodes.ACC_PRIVATE | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_DEPRECATED)) != 0 || (method.access & (Opcodes.ACC_PRIVATE | Opcodes.ACC_PROTECTED | Opcodes.ACC_PUBLIC)) == 0) { // Paper - ignore package-private + return false; + } + +@@ -174,7 +210,7 @@ public class AnnotationTest { return true; } diff --git a/patches/api/0175-Add-GS4-Query-event.patch b/patches/api/0174-Add-GS4-Query-event.patch similarity index 100% rename from patches/api/0175-Add-GS4-Query-event.patch rename to patches/api/0174-Add-GS4-Query-event.patch diff --git a/patches/api/0174-Annotation-Test-changes.patch b/patches/api/0174-Annotation-Test-changes.patch deleted file mode 100644 index 799c94ca49..0000000000 --- a/patches/api/0174-Annotation-Test-changes.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Shane Freeder -Date: Sun, 17 Mar 2019 23:04:30 +0000 -Subject: [PATCH] Annotation Test changes - - -diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java -index f82f085ab9069abce10c2339446ef0d0bec8888c..15ae70ae69b27712d68270866d7940ff618c9fbe 100644 ---- a/src/test/java/org/bukkit/AnnotationTest.java -+++ b/src/test/java/org/bukkit/AnnotationTest.java -@@ -46,7 +46,17 @@ public class AnnotationTest { - "org/bukkit/util/io/Wrapper", - "org/bukkit/plugin/java/PluginClassLoader", - // Generic functional interface -- "org/bukkit/util/Consumer" -+ "org/bukkit/util/Consumer", -+ // Paper start -+ // Timings history is broken in terms of nullability due to guavas Function defining that the param is NonNull -+ "co/aikar/timings/TimingHistory$2", -+ "co/aikar/timings/TimingHistory$2$1", -+ "co/aikar/timings/TimingHistory$2$1$1", -+ "co/aikar/timings/TimingHistory$2$1$2", -+ "co/aikar/timings/TimingHistory$3", -+ "co/aikar/timings/TimingHistory$4", -+ "co/aikar/timings/TimingHistoryEntry$1" -+ // Paper end - }; - - @Test diff --git a/patches/api/0176-Add-PlayerPostRespawnEvent.patch b/patches/api/0175-Add-PlayerPostRespawnEvent.patch similarity index 100% rename from patches/api/0176-Add-PlayerPostRespawnEvent.patch rename to patches/api/0175-Add-PlayerPostRespawnEvent.patch diff --git a/patches/api/0177-Entity-getEntitySpawnReason.patch b/patches/api/0176-Entity-getEntitySpawnReason.patch similarity index 100% rename from patches/api/0177-Entity-getEntitySpawnReason.patch rename to patches/api/0176-Entity-getEntitySpawnReason.patch diff --git a/patches/unapplied/api/0177-Ignore-package-private-methods-for-nullability-annot.patch b/patches/unapplied/api/0177-Ignore-package-private-methods-for-nullability-annot.patch deleted file mode 100644 index 2b621fed5e..0000000000 --- a/patches/unapplied/api/0177-Ignore-package-private-methods-for-nullability-annot.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Sun, 24 Mar 2019 18:44:26 -0400 -Subject: [PATCH] Ignore package-private methods for nullability annotations - -This isn't API - -diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java -index 15ae70ae69b27712d68270866d7940ff618c9fbe..911654d36f6ac708eb38b6df1f7f535a15c05fb8 100644 ---- a/src/test/java/org/bukkit/AnnotationTest.java -+++ b/src/test/java/org/bukkit/AnnotationTest.java -@@ -194,7 +194,7 @@ public class AnnotationTest { - - private static boolean isMethodIncluded(@NotNull ClassNode clazz, @NotNull MethodNode method, @NotNull Map allClasses) { - // Exclude private, synthetic and deprecated methods -- if ((method.access & (Opcodes.ACC_PRIVATE | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_DEPRECATED)) != 0) { -+ if ((method.access & (Opcodes.ACC_PRIVATE | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_DEPRECATED)) != 0 || (method.access & (Opcodes.ACC_PRIVATE | Opcodes.ACC_PROTECTED | Opcodes.ACC_PUBLIC)) == 0) { // Paper - ignore package-private - return false; - } -