package io.quarkus.gizmo; import org.jboss.jandex.AnnotationValue; import org.objectweb.asm.AnnotationVisitor; final class AnnotationUtils { static void visitAnnotationValue(AnnotationVisitor visitor, String key, Object value) { if (value.getClass().isArray()) { AnnotationVisitor arrayVisitor = visitor.visitArray(key); for (Object arrayValue : (Object[]) value) { // Default key is 'value'. It can be changed by using AnnotationValue type. visitAnnotationValue(arrayVisitor, "value", arrayValue); } arrayVisitor.visitEnd(); } else if (value instanceof AnnotationValue) { AnnotationValue annotationValue = (AnnotationValue) value; visitor.visit(annotationValue.name(), annotationValue.value()); } else { visitor.visit(key, value); } } }