From f2530ab37efecf60e9ed1df2ed232822df209e4e Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Tue, 12 Dec 2017 01:03:51 +0100 Subject: handle @Builder.Default on generic fields. Fixes #1527 --- .../after-delombok/BuilderDefaultsGenerics.java | 73 ++++++++++++++++++++++ .../after-ecj/BuilderDefaultsGenerics.java | 57 +++++++++++++++++ .../resource/before/BuilderDefaultsGenerics.java | 9 +++ 3 files changed, 139 insertions(+) create mode 100644 test/transform/resource/after-delombok/BuilderDefaultsGenerics.java create mode 100644 test/transform/resource/after-ecj/BuilderDefaultsGenerics.java create mode 100644 test/transform/resource/before/BuilderDefaultsGenerics.java (limited to 'test/transform') diff --git a/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java b/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java new file mode 100644 index 00000000..18dd375e --- /dev/null +++ b/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java @@ -0,0 +1,73 @@ +import java.util.*; +public class BuilderDefaultsGenerics> { + private java.util.concurrent.Callable callable; + private T tee; + private R arrr; + @java.lang.SuppressWarnings("all") + private static > java.util.concurrent.Callable $default$callable() { + return null; + } + @java.lang.SuppressWarnings("all") + private static > T $default$tee() { + return null; + } + @java.lang.SuppressWarnings("all") + private static > R $default$arrr() { + return null; + } + @java.lang.SuppressWarnings("all") + BuilderDefaultsGenerics(final java.util.concurrent.Callable callable, final T tee, final R arrr) { + this.callable = callable; + this.tee = tee; + this.arrr = arrr; + } + @java.lang.SuppressWarnings("all") + public static class BuilderDefaultsGenericsBuilder> { + @java.lang.SuppressWarnings("all") + private boolean callable$set; + @java.lang.SuppressWarnings("all") + private java.util.concurrent.Callable callable; + @java.lang.SuppressWarnings("all") + private boolean tee$set; + @java.lang.SuppressWarnings("all") + private T tee; + @java.lang.SuppressWarnings("all") + private boolean arrr$set; + @java.lang.SuppressWarnings("all") + private R arrr; + @java.lang.SuppressWarnings("all") + BuilderDefaultsGenericsBuilder() { + } + @java.lang.SuppressWarnings("all") + public BuilderDefaultsGenericsBuilder callable(final java.util.concurrent.Callable callable) { + this.callable = callable; + callable$set = true; + return this; + } + @java.lang.SuppressWarnings("all") + public BuilderDefaultsGenericsBuilder tee(final T tee) { + this.tee = tee; + tee$set = true; + return this; + } + @java.lang.SuppressWarnings("all") + public BuilderDefaultsGenericsBuilder arrr(final R arrr) { + this.arrr = arrr; + arrr$set = true; + return this; + } + @java.lang.SuppressWarnings("all") + public BuilderDefaultsGenerics build() { + return new BuilderDefaultsGenerics(callable$set ? callable : BuilderDefaultsGenerics.$default$callable(), tee$set ? tee : BuilderDefaultsGenerics.$default$tee(), arrr$set ? arrr : BuilderDefaultsGenerics.$default$arrr()); + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "BuilderDefaultsGenerics.BuilderDefaultsGenericsBuilder(callable=" + this.callable + ", tee=" + this.tee + ", arrr=" + this.arrr + ")"; + } + } + @java.lang.SuppressWarnings("all") + public static > BuilderDefaultsGenericsBuilder builder() { + return new BuilderDefaultsGenericsBuilder(); + } +} diff --git a/test/transform/resource/after-ecj/BuilderDefaultsGenerics.java b/test/transform/resource/after-ecj/BuilderDefaultsGenerics.java new file mode 100644 index 00000000..a8f81afa --- /dev/null +++ b/test/transform/resource/after-ecj/BuilderDefaultsGenerics.java @@ -0,0 +1,57 @@ +import lombok.Builder; +import java.util.*; +public @Builder class BuilderDefaultsGenerics> { + public static @java.lang.SuppressWarnings("all") class BuilderDefaultsGenericsBuilder> { + private @java.lang.SuppressWarnings("all") java.util.concurrent.Callable callable; + private @java.lang.SuppressWarnings("all") boolean callable$set; + private @java.lang.SuppressWarnings("all") T tee; + private @java.lang.SuppressWarnings("all") boolean tee$set; + private @java.lang.SuppressWarnings("all") R arrr; + private @java.lang.SuppressWarnings("all") boolean arrr$set; + @java.lang.SuppressWarnings("all") BuilderDefaultsGenericsBuilder() { + super(); + } + public @java.lang.SuppressWarnings("all") BuilderDefaultsGenericsBuilder callable(final java.util.concurrent.Callable callable) { + this.callable = callable; + callable$set = true; + return this; + } + public @java.lang.SuppressWarnings("all") BuilderDefaultsGenericsBuilder tee(final T tee) { + this.tee = tee; + tee$set = true; + return this; + } + public @java.lang.SuppressWarnings("all") BuilderDefaultsGenericsBuilder arrr(final R arrr) { + this.arrr = arrr; + arrr$set = true; + return this; + } + public @java.lang.SuppressWarnings("all") BuilderDefaultsGenerics build() { + return new BuilderDefaultsGenerics((callable$set ? callable : BuilderDefaultsGenerics.$default$callable()), (tee$set ? tee : BuilderDefaultsGenerics.$default$tee()), (arrr$set ? arrr : BuilderDefaultsGenerics.$default$arrr())); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (((((("BuilderDefaultsGenerics.BuilderDefaultsGenericsBuilder(callable=" + this.callable) + ", tee=") + this.tee) + ", arrr=") + this.arrr) + ")"); + } + } + private @Builder.Default java.util.concurrent.Callable callable; + private @Builder.Default T tee; + private @Builder.Default R arrr; + private static @java.lang.SuppressWarnings("all") >java.util.concurrent.Callable $default$callable() { + return null; + } + private static @java.lang.SuppressWarnings("all") >T $default$tee() { + return null; + } + private static @java.lang.SuppressWarnings("all") >R $default$arrr() { + return null; + } + @java.lang.SuppressWarnings("all") BuilderDefaultsGenerics(final java.util.concurrent.Callable callable, final T tee, final R arrr) { + super(); + this.callable = callable; + this.tee = tee; + this.arrr = arrr; + } + public static @java.lang.SuppressWarnings("all") >BuilderDefaultsGenericsBuilder builder() { + return new BuilderDefaultsGenericsBuilder(); + } +} diff --git a/test/transform/resource/before/BuilderDefaultsGenerics.java b/test/transform/resource/before/BuilderDefaultsGenerics.java new file mode 100644 index 00000000..fffc9739 --- /dev/null +++ b/test/transform/resource/before/BuilderDefaultsGenerics.java @@ -0,0 +1,9 @@ +import lombok.Builder; +import java.util.*; + +@Builder +public class BuilderDefaultsGenerics> { + @Builder.Default private java.util.concurrent.Callable callable = null; + @Builder.Default private T tee = null; + @Builder.Default private R arrr = null; +} -- cgit