Code review comment: This is just a comment, it won't hurt to change it now.

Code under review:
public A build(ClassOutput classOutput) {

            
            generatedLiterals.computeIfAbsent(annotationLiteral, generatedName -> {

                String name = annotationInstance.name().toString();

                
                String signature = String.format("L%1$s<L%2$s;>;L%2$s;",
                        AnnotationLiteral.class.getName().replace('.', '/'),
                        name.replace('.', '/'));

                ClassCreator literal = ClassCreator.builder().classOutput(classOutput).className(generatedName)
                        .superClass(AnnotationLiteral.class)
                        .interfaces(name).signature(signature).build();

                List<MethodInfo> constructorParams = annotationClass.methods().stream()
                        .filter(m -> !m.name().equals("<clinit>") && !m.name().equals("<init>"))
                        .collect(Collectors.toList());

                MethodCreator constructor = literal.getMethodCreator("<init>", "V",
                        constructorParams.stream().map(m -> m.returnType().name().toString()).toArray());
                constructor.invokeSpecialMethod(MethodDescriptor.ofConstructor(AnnotationLiteral.class), constructor.getThis());

                for (ListIterator<MethodInfo> iterator = constructorParams.listIterator(); iterator.hasNext();) {
                    MethodInfo param = iterator.next();
                    String returnType = param.returnType().name().toString();
                    
                    literal.getFieldCreator(param.name(), returnType).setModifiers(ACC_PRIVATE | ACC_FINAL);
                    
                    constructor.writeInstanceField(FieldDescriptor.of(literal.getClassName(), param.name(), returnType),
                            constructor.getThis(),
                            constructor.getMethodParam(iterator.previousIndex()));
                    
                    MethodCreator value = literal.getMethodCreator(param.name(), returnType).setModifiers(ACC_PUBLIC);
                    value.returnValue(value.readInstanceField(
                            FieldDescriptor.of(literal.getClassName(), param.name(), returnType), value.getThis()));
                }
                constructor.returnValue(null);
                literal.close();
                return Boolean.TRUE;
            });

            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            if (classLoader == null) {
                classLoader = AnnotationProxy.class.getClassLoader();
            }
            return (A) Proxy.newProxyInstance(classLoader, new Class[] { annotationType, AnnotationProxy.class },
                    new InvocationHandler() {
                        @Override
                        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                            switch (method.getName()) {
                                case "getAnnotationLiteralType":
                                    return annotationLiteral;
                                case "getAnnotationClass":
                                    return annotationClass;
                                case "getAnnotationInstance":
                                    return annotationInstance;
                                case "getDefaultValues":
                                    return defaultValues;
                                case "getValues":
                                    return values;
                                default:
                                    break;
                            }
                            throw new UnsupportedOperationException("Method " + method + " not implemented");
                        }
                    });
        }


Revised code:
public A build(ClassOutput classOutput) {

            
            generatedLiterals.computeIfAbsent(annotationLiteral, generatedName -> {

                String name = annotationInstance.name().toString();

                
                String signature = String.format("L%1$s<L%2$s;>;L%2$s;",
                        AnnotationLiteral.class.getName().replace('.', '/'),
                        name.replace('.', '/'));

                ClassCreator literal = ClassCreator.builder().classOutput(classOutput).className(generatedName)
                        .superClass(AnnotationLiteral.class)
                        .interfaces(name).signature(signature).build();

                List<MethodInfo> constructorParams = annotationClass.methods().stream()
                        .filter(m -> !m.name().equals("<clinit>") && !m.name().equals("<init>"))
                        .collect(Collectors.toList());

                MethodCreator constructor = literal.getMethodCreator("<init>", "V",
                        constructorParams.stream().map(m -> m.returnType().name().toString()).toArray());
                constructor.invokeSpecialMethod(MethodDescriptor.ofConstructor(AnnotationLiteral.class), constructor.getThis());

                for (ListIterator<MethodInfo> iterator = constructorParams.listIterator(); iterator.hasNext();) {
                    MethodInfo param = iterator.next();
                    String returnType = param.returnType().name().toString();
                    
                    literal.getFieldCreator(param.name(), returnType).setModifiers(ACC_PRIVATE | ACC_FINAL);
                    
                    constructor.writeInstanceField(FieldDescriptor.of(literal.getClassName(), param.name(), returnType),
                            constructor.getThis(),
                            constructor.getMethodParam(iterator.previousIndex()));
                    
                    MethodCreator value = literal.getMethodCreator(param.name(), returnType).setModifiers(ACC_PUBLIC);
                    value.returnValue(value.readInstanceField(
                            FieldDescriptor.of(literal.getClassName(), param.name(), returnType), value.getThis()));
                }
                constructor.returnValue(null);
                literal.close();
                return Boolean.TRUE;
            });

            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            if (classLoader == null) {
                classLoader = AnnotationProxy.class.getClassLoader();
            }
            return (A) Proxy.newProxyInstance(classLoader, new Class[] { annotationType, AnnotationProxy.class },
                    new InvocationHandler() {
                        @Override
                        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                            switch (method.getName()) {
                                case "getAnnotationLiteralType":
                                    return annotationLiteral;
                                case "getAnnotationClass":
                                    return annotationClass;
                                case "getAnnotationInstance":
                                    return annotationInstance;
                                case "getDefaultValues":
                                    return defaultValues;
                                case "getValues":
                                    return values;
                                default:
                                    break;
                            }
                            throw new UnsupportedOperationException("Method " + method + " not implemented");
                        }
                    });
        }