From ad4b999913dd9f2e6e43d05e345c7de94d9ce57a Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Fri, 22 Aug 2025 18:14:42 -0400 Subject: [PATCH] Adds Compiler Warning to useless `@Inject` Now will warn when the `@inject` annotation is not needed --- .../io/avaje/inject/generator/SimpleBeanProxyWriter.java | 2 -- .../io/avaje/inject/generator/TypeExtendsInjection.java | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) 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 c835ecd1d..5954dea32 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 @@ -55,7 +55,6 @@ private void writeFields() { } private void writeConstructor() { - writer.append(" @Inject\n"); writer.append(" public %s%s(", shortName, suffix); int count = 0; for (final String aspectName : aspects.aspectNames()) { @@ -96,7 +95,6 @@ private void writeImports() { writer.append("import %s;", Constants.INVOCATION_EXCEPTION).eol(); writer.append("import %s;", Constants.METHOD_INTERCEPTOR).eol(); writer.append("import %s;", Constants.COMPONENT).eol(); - writer.append("import %s;", Constants.INJECT).eol(); writer.append("import %s;", Constants.PROXY).eol(); beanReader.writeImports(writer, packageName); } diff --git a/inject-generator/src/main/java/io/avaje/inject/generator/TypeExtendsInjection.java b/inject-generator/src/main/java/io/avaje/inject/generator/TypeExtendsInjection.java index c9145d441..b069b9076 100644 --- a/inject-generator/src/main/java/io/avaje/inject/generator/TypeExtendsInjection.java +++ b/inject-generator/src/main/java/io/avaje/inject/generator/TypeExtendsInjection.java @@ -1,6 +1,7 @@ package io.avaje.inject.generator; import static io.avaje.inject.generator.APContext.logError; +import static io.avaje.inject.generator.APContext.logWarn; import static io.avaje.inject.generator.ProcessingContext.getImportedAspect; import javax.lang.model.element.AnnotationMirror; @@ -59,6 +60,11 @@ void read(TypeElement type) { break; } } + if (injectConstructor != null + && otherConstructors.isEmpty() + && InjectPrism.isPresent(injectConstructor.element())) { + logWarn(injectConstructor.element(), "Remove Unused @Inject Annotation"); + } } /** Read the annotations on the type. */