From cadb0f8413503b1ef7d1fcdd4fb7bf325eae8d3b Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Sat, 20 Jan 2024 01:14:37 -0500 Subject: [PATCH] Simply proxy generation There's no need for the proxy annotation to have an attribute --- .../main/java/io/avaje/inject/generator/BeanReader.java | 8 ++------ .../io/avaje/inject/generator/SimpleBeanProxyWriter.java | 2 +- inject/src/main/java/io/avaje/inject/spi/Proxy.java | 5 +---- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/inject-generator/src/main/java/io/avaje/inject/generator/BeanReader.java b/inject-generator/src/main/java/io/avaje/inject/generator/BeanReader.java index 7d810633c..445866362 100644 --- a/inject-generator/src/main/java/io/avaje/inject/generator/BeanReader.java +++ b/inject-generator/src/main/java/io/avaje/inject/generator/BeanReader.java @@ -60,13 +60,9 @@ final class BeanReader { this.constructor = typeReader.constructor(); this.importedComponent = importedComponent && (constructor != null && constructor.isPublic()); - var proxyPrism = ProxyPrism.getInstanceOn(beanType); - if (proxyPrism != null) { + if (ProxyPrism.isPresent(beanType)) { this.proxy = true; - var proxyMirror = proxyPrism.value(); - if (!"Void".equals(proxyMirror.toString())) { - conditions.readAll(APContext.asTypeElement(proxyMirror)); - } + conditions.readAll(APContext.asTypeElement(beanType.getSuperclass())); } else { conditions.readAll(beanType); this.proxy = false; diff --git a/inject-generator/src/main/java/io/avaje/inject/generator/SimpleBeanProxyWriter.java b/inject-generator/src/main/java/io/avaje/inject/generator/SimpleBeanProxyWriter.java index aab811072..56530da2c 100644 --- a/inject-generator/src/main/java/io/avaje/inject/generator/SimpleBeanProxyWriter.java +++ b/inject-generator/src/main/java/io/avaje/inject/generator/SimpleBeanProxyWriter.java @@ -102,7 +102,7 @@ private void writeClassEnd() { } private void writeClassStart() { - writer.append(Constants.AT_PROXY).append("(%s.class)", shortName).eol(); + writer.append(Constants.AT_PROXY).eol(); writer.append(Constants.AT_GENERATED).eol(); writer.append("public final class %s%s extends %s {", shortName, suffix, shortName).eol().eol(); } diff --git a/inject/src/main/java/io/avaje/inject/spi/Proxy.java b/inject/src/main/java/io/avaje/inject/spi/Proxy.java index 5ea7f9332..31520b969 100644 --- a/inject/src/main/java/io/avaje/inject/spi/Proxy.java +++ b/inject/src/main/java/io/avaje/inject/spi/Proxy.java @@ -8,7 +8,4 @@ /** Marks the type as being a Proxy. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) -public @interface Proxy { - /** The class being proxied */ - Class value() default Void.class; -} +public @interface Proxy {}