You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2023/04/03 13:49:40 UTC

[camel-quarkus] 01/03: Ref #4731: java-joor-dsl - Add support of anonymous classes

This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch 4447/java-joor-improve-test-coverage
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit a3c989835e777f301eee893869f7939650f0a69c
Author: Nicolas Filotto <nf...@talend.com>
AuthorDate: Mon Apr 3 15:41:14 2023 +0200

    Ref #4731: java-joor-dsl - Add support of anonymous classes
---
 .../quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java b/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
index a7527a54c4..433391cfb3 100644
--- a/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
+++ b/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
@@ -107,6 +107,16 @@ public class JavaJoorDslProcessor {
                         .produce(new JavaJoorGeneratedClassBuildItem(name, nameToResource.get(className).getLocation(),
                                 result.getByteCode(name)));
             }
+            for (int i = 1;; i++) {
+                String name = String.format("%s$%d", className, i);
+                byte[] content = result.getByteCode(name);
+                if (content == null) {
+                    break;
+                }
+                generatedClass
+                        .produce(new JavaJoorGeneratedClassBuildItem(name, nameToResource.get(className).getLocation(),
+                                content));
+            }
             registerForReflection(reflectiveClass, lambdaCapturingTypeProducer,
                     aClass.getAnnotation(RegisterForReflection.class));
         }