From 860b1a19fc15823345876b8219f01dcec6c2f971 Mon Sep 17 00:00:00 2001 From: Martin Kouba Date: Tue, 13 Oct 2020 11:12:11 +0200 Subject: [PATCH] Fix NPE in AsmUtilCopy - resolves #12671 --- .../io/quarkus/arc/processor/AsmUtilCopy.java | 3 +++ .../io/quarkus/arc/processor/AsmUtilCopyTest.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 independent-projects/arc/processor/src/test/java/io/quarkus/arc/processor/AsmUtilCopyTest.java diff --git a/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/AsmUtilCopy.java b/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/AsmUtilCopy.java index 8369d11e9c2d1..4602c12ea37b9 100644 --- a/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/AsmUtilCopy.java +++ b/independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/AsmUtilCopy.java @@ -258,6 +258,9 @@ public static boolean needsSignature(MethodInfo method) { * Returns true if the given type contains parameterized types, type variables or wildcards */ private static boolean needsSignature(Type type) { + if (type == null) { + return false; + } switch (type.kind()) { case ARRAY: case CLASS: diff --git a/independent-projects/arc/processor/src/test/java/io/quarkus/arc/processor/AsmUtilCopyTest.java b/independent-projects/arc/processor/src/test/java/io/quarkus/arc/processor/AsmUtilCopyTest.java new file mode 100644 index 0000000000000..e11239251d128 --- /dev/null +++ b/independent-projects/arc/processor/src/test/java/io/quarkus/arc/processor/AsmUtilCopyTest.java @@ -0,0 +1,15 @@ +package io.quarkus.arc.processor; + +import static org.junit.jupiter.api.Assertions.assertFalse; + +import java.io.IOException; +import org.junit.jupiter.api.Test; + +public class AsmUtilCopyTest { + + @Test + public void testNeedsSignature() throws IOException { + assertFalse(AsmUtilCopy.needsSignature(Basics.index(Object.class).getClassByName(DotNames.OBJECT))); + } + +}