diff options
author | Rawi01 <Rawi01@users.noreply.github.com> | 2022-01-31 22:17:10 +0100 |
---|---|---|
committer | Roel Spilker <r.spilker@gmail.com> | 2022-01-31 23:22:15 +0100 |
commit | 8a914b1bf0eaa13178e719431add47b78d4e7277 (patch) | |
tree | fea869022e46c43d3856aae1d942cee87eeaa7e3 /src/core | |
parent | 1ba5fe86aa21f0e3fbbabeb6e91152e89bfee2d5 (diff) | |
download | lombok-8a914b1bf0eaa13178e719431add47b78d4e7277.tar.gz lombok-8a914b1bf0eaa13178e719431add47b78d4e7277.tar.bz2 lombok-8a914b1bf0eaa13178e719431add47b78d4e7277.zip |
[fixes #3053] Delay default annotation removal
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/lombok/javac/handlers/HandleBuilderDefaultRemove.java | 1 | ||||
-rw-r--r-- | src/core/lombok/javac/handlers/HandleSuperBuilder.java | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/core/lombok/javac/handlers/HandleBuilderDefaultRemove.java b/src/core/lombok/javac/handlers/HandleBuilderDefaultRemove.java index d7bc28cb..64360eb2 100644 --- a/src/core/lombok/javac/handlers/HandleBuilderDefaultRemove.java +++ b/src/core/lombok/javac/handlers/HandleBuilderDefaultRemove.java @@ -40,5 +40,6 @@ import lombok.spi.Provides; public class HandleBuilderDefaultRemove extends JavacAnnotationHandler<Builder.Default> { @Override public void handle(AnnotationValues<Default> annotation, JCAnnotation ast, JavacNode annotationNode) { deleteAnnotationIfNeccessary(annotationNode, Builder.Default.class); + deleteImportFromCompilationUnit(annotationNode, Builder.class.getName()); } } diff --git a/src/core/lombok/javac/handlers/HandleSuperBuilder.java b/src/core/lombok/javac/handlers/HandleSuperBuilder.java index adf3f584..7418ac87 100644 --- a/src/core/lombok/javac/handlers/HandleSuperBuilder.java +++ b/src/core/lombok/javac/handlers/HandleSuperBuilder.java @@ -177,7 +177,7 @@ public class HandleSuperBuilder extends JavacAnnotationHandler<SuperBuilder> { boolean valuePresent = (hasAnnotation(lombok.Value.class, parent) || hasAnnotation("lombok.experimental.Value", parent)); for (JavacNode fieldNode : HandleConstructor.findAllFields(parent, true)) { JCVariableDecl fd = (JCVariableDecl) fieldNode.get(); - JavacNode isDefault = findAnnotation(Builder.Default.class, fieldNode, true); + JavacNode isDefault = findAnnotation(Builder.Default.class, fieldNode, false); boolean isFinal = (fd.mods.flags & Flags.FINAL) != 0 || (valuePresent && !hasAnnotation(NonFinal.class, fieldNode)); BuilderFieldData bfd = new BuilderFieldData(); bfd.rawName = fd.name; @@ -190,11 +190,13 @@ public class HandleSuperBuilder extends JavacAnnotationHandler<SuperBuilder> { if (bfd.singularData != null && isDefault != null) { isDefault.addError("@Builder.Default and @Singular cannot be mixed."); + findAnnotation(Builder.Default.class, fieldNode, true); isDefault = null; } if (fd.init == null && isDefault != null) { isDefault.addWarning("@Builder.Default requires an initializing expression (' = something;')."); + findAnnotation(Builder.Default.class, fieldNode, true); isDefault = null; } |