From ccfab5ebffbd14df59689b23ff6f3df52890dca8 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 8 Jan 2019 03:33:24 +0100 Subject: [#1033] steps on the way to issue 1033: You can add cleanup tasks which are deferred (during the javac run) until the end. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This already fixes the exotic-to-the-point-of-nonexistent bug where setter and wither compete to steal the `@param` off of the field’s javadoc. Next are to fix builder and setter/wither competing whilst bringing javadocs to `@Builder`. Then for various other conflicts, we should defer removal of lombok imports and annotations until the end too. --- .../SetterWitherJavadocParamCopy.java | 28 ++++++++++++++++++++++ .../after-ecj/SetterWitherJavadocParamCopy.java | 13 ++++++++++ .../before/SetterWitherJavadocParamCopy.java | 16 +++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 test/transform/resource/after-delombok/SetterWitherJavadocParamCopy.java create mode 100644 test/transform/resource/after-ecj/SetterWitherJavadocParamCopy.java create mode 100644 test/transform/resource/before/SetterWitherJavadocParamCopy.java (limited to 'test') diff --git a/test/transform/resource/after-delombok/SetterWitherJavadocParamCopy.java b/test/transform/resource/after-delombok/SetterWitherJavadocParamCopy.java new file mode 100644 index 00000000..e6f5ab75 --- /dev/null +++ b/test/transform/resource/after-delombok/SetterWitherJavadocParamCopy.java @@ -0,0 +1,28 @@ +class SetterWitherJavadocParamCopy { + /** + * Some text + */ + private int fieldName; + + public SetterWitherJavadocParamCopy(int f) { + this.fieldName = f; + } + /** + * Some text + * + * @param fieldName Hello, World1 + */ + @java.lang.SuppressWarnings("all") + public void setFieldName(final int fieldName) { + this.fieldName = fieldName; + } + /** + * Some text + * + * @param fieldName Hello, World1 + */ + @java.lang.SuppressWarnings("all") + public SetterWitherJavadocParamCopy withFieldName(final int fieldName) { + return this.fieldName == fieldName ? this : new SetterWitherJavadocParamCopy(fieldName); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-ecj/SetterWitherJavadocParamCopy.java b/test/transform/resource/after-ecj/SetterWitherJavadocParamCopy.java new file mode 100644 index 00000000..741342f7 --- /dev/null +++ b/test/transform/resource/after-ecj/SetterWitherJavadocParamCopy.java @@ -0,0 +1,13 @@ +class SetterWitherJavadocParamCopy { + private @lombok.Setter @lombok.experimental.Wither int fieldName; + public SetterWitherJavadocParamCopy(int f) { + super(); + this.fieldName = f; + } + public @java.lang.SuppressWarnings("all") void setFieldName(final int fieldName) { + this.fieldName = fieldName; + } + public @java.lang.SuppressWarnings("all") SetterWitherJavadocParamCopy withFieldName(final int fieldName) { + return ((this.fieldName == fieldName) ? this : new SetterWitherJavadocParamCopy(fieldName)); + } +} diff --git a/test/transform/resource/before/SetterWitherJavadocParamCopy.java b/test/transform/resource/before/SetterWitherJavadocParamCopy.java new file mode 100644 index 00000000..4de091e2 --- /dev/null +++ b/test/transform/resource/before/SetterWitherJavadocParamCopy.java @@ -0,0 +1,16 @@ +class SetterWitherJavadocParamCopy { + /** + * Some text + * + * @param fieldName Hello, World1 + * --- GETTER --- + * Getter section + * + * @return Sky is blue1 + */ + @lombok.Setter @lombok.experimental.Wither private int fieldName; + + public SetterWitherJavadocParamCopy(int f) { + this.fieldName = f; + } +} -- cgit