Repository: quarkusio/quarkus
Issue: Building GraphQL quickstart generates warnings that should be avoided

We shouldn't have these warnings when building a GraphQL application:

```
[WARNING] [io.quarkus.deployment.steps.ReflectiveHierarchyStep] Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
	- java.lang.Boolean
	- java.lang.Double
	- java.lang.Enum
	- java.lang.Integer
	- java.lang.Object
	- java.lang.String
	- java.time.LocalDate
	- java.util.List
Consider adding them to the index either by creating a Jandex index for your dependency via the Maven plugin, an empty META-INF/beans.xml or quarkus.index-dependency properties.");.
```

Changed files:
extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java
core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java

diff --git a/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java b/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java
index 94f38b2cb35..481a9b9dcc9 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/builditem/nativeimage/ReflectiveHierarchyBuildItem.java
@@ -76,9 +76,15 @@ public static class DefaultIgnorePredicate implements Predicate<DotName> {
         static final Set<String> WHITELISTED_FROM_IGNORED_PACKAGES = new HashSet<>(
                 Arrays.asList("java.math.BigDecimal", "java.math.BigInteger"));
 
+        static final List<String> PRIMITIVE = Arrays.asList("boolean", "byte",
+                "char", "short", "int", "long", "float", "double");
+
         @Override
         public boolean test(DotName dotName) {
             String name = dotName.toString();
+            if (PRIMITIVE.contains(name)) {
+                return true;
+            }
             for (String containerPackageName : DEFAULT_IGNORED_PACKAGES) {
                 if (name.startsWith(containerPackageName)) {
                     return !WHITELISTED_FROM_IGNORED_PACKAGES.contains(name);
diff --git a/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java b/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java
index 71901a6a2e1..6f0295b4c26 100644
--- a/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java
+++ b/extensions/smallrye-graphql/deployment/src/main/java/io/quarkus/smallrye/graphql/deployment/SmallRyeGraphQLProcessor.java
@@ -13,7 +13,6 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.function.Predicate;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 
@@ -62,7 +61,6 @@
 import io.smallrye.graphql.cdi.config.ConfigKey;
 import io.smallrye.graphql.cdi.config.GraphQLConfig;
 import io.smallrye.graphql.cdi.producer.GraphQLProducer;
-import io.smallrye.graphql.execution.Classes;
 import io.smallrye.graphql.schema.Annotations;
 import io.smallrye.graphql.schema.SchemaBuilder;
 import io.smallrye.graphql.schema.model.Argument;
@@ -151,7 +149,7 @@ void buildExecutionService(
         for (String c : getClassesToRegisterForReflection(schema)) {
             DotName name = DotName.createSimple(c);
             org.jboss.jandex.Type type = org.jboss.jandex.Type.create(name, org.jboss.jandex.Type.Kind.CLASS);
-            reflectiveHierarchyProducer.produce(new ReflectiveHierarchyBuildItem(type, index, GraphQLIgnorePredicate.INSTANCE));
+            reflectiveHierarchyProducer.produce(new ReflectiveHierarchyBuildItem(type, index));
         }
 
         // Make sure the GraphQL Java classes needed for introspection can work in native mode
@@ -486,14 +484,4 @@ public void run() {
             }
         }
     }
-
-    public static class GraphQLIgnorePredicate implements Predicate<DotName> {
-
-        public static final GraphQLIgnorePredicate INSTANCE = new GraphQLIgnorePredicate();
-
-        @Override
-        public boolean test(DotName t) {
-            return Classes.isPrimitive(t.toString()) || t.toString().startsWith("java.net.");
-        }
-    }
 }