From 75f88df856c11cc6e3e6691d68c13cdbfc4d4e3f Mon Sep 17 00:00:00 2001 From: caramel Date: Mon, 21 Oct 2024 07:46:50 +0900 Subject: [PATCH] Fix potential annotation testing interruption (#11460) --- patches/api/Test-changes.patch | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/patches/api/Test-changes.patch b/patches/api/Test-changes.patch index 92a71481ce..dabbf967f7 100644 --- a/patches/api/Test-changes.patch +++ b/patches/api/Test-changes.patch @@ -108,8 +108,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 } + // Paper start - skip class if it's @NullMarked -+ if (isClassNullMarked(clazz)) { -+ return; ++ if (isClassNullMarked(clazz, foundClasses)) { ++ continue; + } + // Paper end - skip class if it's @NullMarked + @@ -192,7 +192,18 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 } + // Paper start - skip class if it's @NullMarked -+ private static boolean isClassNullMarked(@NotNull ClassNode clazz) { ++ private static boolean isClassNullMarked(@NotNull ClassNode clazz, @NotNull Map allClasses) { ++ if (clazz.nestHostClass != null) { ++ final ClassNode nestHostNode = allClasses.get(clazz.nestHostClass); ++ if (nestHostNode != null) { ++ return isClassNullMarked0(nestHostNode); ++ } ++ } ++ ++ return isClassNullMarked0(clazz); ++ } ++ ++ private static boolean isClassNullMarked0(@NotNull ClassNode clazz) { + return clazz.visibleAnnotations != null && clazz.visibleAnnotations.stream().anyMatch(node -> "Lorg/jspecify/annotations/NullMarked;".equals(node.desc)); + } + // Paper end - skip class if it's @NullMarked