aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource/after-delombok
diff options
context:
space:
mode:
Diffstat (limited to 'test/transform/resource/after-delombok')
-rw-r--r--test/transform/resource/after-delombok/BuilderWithDeprecatedAnnOnly.java104
-rw-r--r--test/transform/resource/after-delombok/CheckerFrameworkBasic.java14
-rw-r--r--test/transform/resource/after-delombok/CheckerFrameworkBuilder.java26
-rw-r--r--test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java44
-rw-r--r--test/transform/resource/after-delombok/EqualsAndHashCodeCache.java167
-rw-r--r--test/transform/resource/after-delombok/WithMethodMarkedDeprecatedAnnOnly.java11
6 files changed, 322 insertions, 44 deletions
diff --git a/test/transform/resource/after-delombok/BuilderWithDeprecatedAnnOnly.java b/test/transform/resource/after-delombok/BuilderWithDeprecatedAnnOnly.java
new file mode 100644
index 00000000..f039c047
--- /dev/null
+++ b/test/transform/resource/after-delombok/BuilderWithDeprecatedAnnOnly.java
@@ -0,0 +1,104 @@
+import com.google.common.collect.ImmutableList;
+public class BuilderWithDeprecatedAnnOnly {
+ @Deprecated
+ int dep1;
+ @Deprecated
+ java.util.List<String> strings;
+ @Deprecated
+ ImmutableList<Integer> numbers;
+ @java.lang.SuppressWarnings("all")
+ BuilderWithDeprecatedAnnOnly(final int dep1, final java.util.List<String> strings, final ImmutableList<Integer> numbers) {
+ this.dep1 = dep1;
+ this.strings = strings;
+ this.numbers = numbers;
+ }
+ @java.lang.SuppressWarnings("all")
+ public static class BuilderWithDeprecatedAnnOnlyBuilder {
+ @java.lang.SuppressWarnings("all")
+ private int dep1;
+ @java.lang.SuppressWarnings("all")
+ private java.util.ArrayList<String> strings;
+ @java.lang.SuppressWarnings("all")
+ private com.google.common.collect.ImmutableList.Builder<Integer> numbers;
+ @java.lang.SuppressWarnings("all")
+ BuilderWithDeprecatedAnnOnlyBuilder() {
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder dep1(final int dep1) {
+ this.dep1 = dep1;
+ return this;
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder string(final String string) {
+ if (this.strings == null) this.strings = new java.util.ArrayList<String>();
+ this.strings.add(string);
+ return this;
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder strings(final java.util.Collection<? extends String> strings) {
+ if (strings == null) {
+ throw new java.lang.NullPointerException("strings cannot be null");
+ }
+ if (this.strings == null) this.strings = new java.util.ArrayList<String>();
+ this.strings.addAll(strings);
+ return this;
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder clearStrings() {
+ if (this.strings != null) this.strings.clear();
+ return this;
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder number(final Integer number) {
+ if (this.numbers == null) this.numbers = com.google.common.collect.ImmutableList.builder();
+ this.numbers.add(number);
+ return this;
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder numbers(final java.lang.Iterable<? extends Integer> numbers) {
+ if (numbers == null) {
+ throw new java.lang.NullPointerException("numbers cannot be null");
+ }
+ if (this.numbers == null) this.numbers = com.google.common.collect.ImmutableList.builder();
+ this.numbers.addAll(numbers);
+ return this;
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder clearNumbers() {
+ this.numbers = null;
+ return this;
+ }
+ @java.lang.SuppressWarnings("all")
+ public BuilderWithDeprecatedAnnOnly build() {
+ java.util.List<String> strings;
+ switch (this.strings == null ? 0 : this.strings.size()) {
+ case 0:
+ strings = java.util.Collections.emptyList();
+ break;
+ case 1:
+ strings = java.util.Collections.singletonList(this.strings.get(0));
+ break;
+ default:
+ strings = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(this.strings));
+ }
+ com.google.common.collect.ImmutableList<Integer> numbers = this.numbers == null ? com.google.common.collect.ImmutableList.<Integer>of() : this.numbers.build();
+ return new BuilderWithDeprecatedAnnOnly(this.dep1, strings, numbers);
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public java.lang.String toString() {
+ return "BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder(dep1=" + this.dep1 + ", strings=" + this.strings + ", numbers=" + this.numbers + ")";
+ }
+ }
+ @java.lang.SuppressWarnings("all")
+ public static BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder builder() {
+ return new BuilderWithDeprecatedAnnOnly.BuilderWithDeprecatedAnnOnlyBuilder();
+ }
+}
diff --git a/test/transform/resource/after-delombok/CheckerFrameworkBasic.java b/test/transform/resource/after-delombok/CheckerFrameworkBasic.java
index 3077728c..c9b73d7c 100644
--- a/test/transform/resource/after-delombok/CheckerFrameworkBasic.java
+++ b/test/transform/resource/after-delombok/CheckerFrameworkBasic.java
@@ -2,12 +2,6 @@ class CheckerFrameworkBasic {
private final int x;
private final int y;
private int z;
- @org.checkerframework.common.aliasing.qual.Unique
- @java.lang.SuppressWarnings("all")
- public CheckerFrameworkBasic(final int x, final int y) {
- this.x = x;
- this.y = y;
- }
@org.checkerframework.dataflow.qual.Pure
@java.lang.SuppressWarnings("all")
public int getX() {
@@ -23,7 +17,7 @@ class CheckerFrameworkBasic {
public int getZ() {
return this.z;
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public CheckerFrameworkBasic setZ(final int z) {
this.z = z;
@@ -64,6 +58,12 @@ class CheckerFrameworkBasic {
public java.lang.String toString() {
return "CheckerFrameworkBasic(x=" + this.getX() + ", y=" + this.getY() + ", z=" + this.getZ() + ")";
}
+ @java.lang.SuppressWarnings("all")
+ public CheckerFrameworkBasic(final int x, final int y, final int z) {
+ this.x = x;
+ this.y = y;
+ this.z = z;
+ }
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.SuppressWarnings("all")
public CheckerFrameworkBasic withX(final int x) {
diff --git a/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java b/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java
index ace3adad..38600b8e 100644
--- a/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java
+++ b/test/transform/resource/after-delombok/CheckerFrameworkBuilder.java
@@ -9,7 +9,6 @@ class CheckerFrameworkBuilder {
private static int $default$x() {
return 5;
}
- @org.checkerframework.common.aliasing.qual.Unique
@java.lang.SuppressWarnings("all")
CheckerFrameworkBuilder(final int x, final int y, final int z, final List<String> names) {
this.x = x;
@@ -29,37 +28,36 @@ class CheckerFrameworkBuilder {
private int z;
@java.lang.SuppressWarnings("all")
private java.util.ArrayList<String> names;
- @org.checkerframework.common.aliasing.qual.Unique
@java.lang.SuppressWarnings("all")
CheckerFrameworkBuilderBuilder() {
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder x(@org.checkerframework.checker.builder.qual.NotCalledMethods("x") CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this, final int x) {
+ public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder x(CheckerFrameworkBuilder.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("x") CheckerFrameworkBuilderBuilder this, final int x) {
this.x$value = x;
x$set = true;
return this;
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder y(@org.checkerframework.checker.builder.qual.NotCalledMethods("y") CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this, final int y) {
+ public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder y(CheckerFrameworkBuilder.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("y") CheckerFrameworkBuilderBuilder this, final int y) {
this.y = y;
return this;
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder z(@org.checkerframework.checker.builder.qual.NotCalledMethods("z") CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this, final int z) {
+ public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder z(CheckerFrameworkBuilder.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("z") CheckerFrameworkBuilderBuilder this, final int z) {
this.z = z;
return this;
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder name(final String name) {
if (this.names == null) this.names = new java.util.ArrayList<String>();
this.names.add(name);
return this;
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder names(final java.util.Collection<? extends String> names) {
if (names == null) {
@@ -69,7 +67,7 @@ class CheckerFrameworkBuilder {
this.names.addAll(names);
return this;
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder clearNames() {
if (this.names != null) this.names.clear();
@@ -77,7 +75,7 @@ class CheckerFrameworkBuilder {
}
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkBuilder build(@org.checkerframework.checker.builder.qual.CalledMethods({"y", "z"}) CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder this) {
+ public CheckerFrameworkBuilder build(CheckerFrameworkBuilder.@org.checkerframework.checker.calledmethods.qual.CalledMethods({"y", "z"}) CheckerFrameworkBuilderBuilder this) {
java.util.List<String> names;
switch (this.names == null ? 0 : this.names.size()) {
case 0:
@@ -100,10 +98,10 @@ class CheckerFrameworkBuilder {
return "CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder(x$value=" + this.x$value + ", y=" + this.y + ", z=" + this.z + ", names=" + this.names + ")";
}
}
- @org.checkerframework.common.aliasing.qual.Unique
+
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.SuppressWarnings("all")
- public static CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder builder() {
+ public static CheckerFrameworkBuilder.@org.checkerframework.common.aliasing.qual.Unique CheckerFrameworkBuilderBuilder builder() {
return new CheckerFrameworkBuilder.CheckerFrameworkBuilderBuilder();
}
}
diff --git a/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java b/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java
index 30408c3b..7c2dff9e 100644
--- a/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java
+++ b/test/transform/resource/after-delombok/CheckerFrameworkSuperBuilder.java
@@ -22,40 +22,40 @@ class CheckerFrameworkSuperBuilder {
private int z;
@java.lang.SuppressWarnings("all")
private java.util.ArrayList<String> names;
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@org.checkerframework.dataflow.qual.Pure
@java.lang.SuppressWarnings("all")
protected abstract B self();
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.SuppressWarnings("all")
- public abstract C build(@org.checkerframework.checker.builder.qual.CalledMethods({"y", "z"}) CheckerFrameworkSuperBuilder.Parent this);
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ public abstract C build(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.calledmethods.qual.CalledMethods({"y", "z"}) ParentBuilder<C, B> this);
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public B x(@org.checkerframework.checker.builder.qual.NotCalledMethods("x") CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B> this, final int x) {
+ public B x(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("x") ParentBuilder<C, B> this, final int x) {
this.x$value = x;
x$set = true;
return self();
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public B y(@org.checkerframework.checker.builder.qual.NotCalledMethods("y") CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B> this, final int y) {
+ public B y(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("y") ParentBuilder<C, B> this, final int y) {
this.y = y;
return self();
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public B z(@org.checkerframework.checker.builder.qual.NotCalledMethods("z") CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B> this, final int z) {
+ public B z(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("z") ParentBuilder<C, B> this, final int z) {
this.z = z;
return self();
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public B name(final String name) {
if (this.names == null) this.names = new java.util.ArrayList<String>();
this.names.add(name);
return self();
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public B names(final java.util.Collection<? extends String> names) {
if (names == null) {
@@ -65,7 +65,7 @@ class CheckerFrameworkSuperBuilder {
this.names.addAll(names);
return self();
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
public B clearNames() {
if (this.names != null) this.names.clear();
@@ -80,12 +80,11 @@ class CheckerFrameworkSuperBuilder {
}
@java.lang.SuppressWarnings("all")
private static final class ParentBuilderImpl extends CheckerFrameworkSuperBuilder.Parent.ParentBuilder<CheckerFrameworkSuperBuilder.Parent, CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl> {
- @org.checkerframework.common.aliasing.qual.Unique
@java.lang.SuppressWarnings("all")
private ParentBuilderImpl() {
}
@java.lang.Override
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@org.checkerframework.dataflow.qual.Pure
@java.lang.SuppressWarnings("all")
protected CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl self() {
@@ -94,7 +93,7 @@ class CheckerFrameworkSuperBuilder {
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.Override
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkSuperBuilder.Parent build(@org.checkerframework.checker.builder.qual.CalledMethods({"y", "z"}) CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl this) {
+ public CheckerFrameworkSuperBuilder.Parent build(CheckerFrameworkSuperBuilder.Parent.@org.checkerframework.checker.calledmethods.qual.CalledMethods({"y", "z"}) ParentBuilderImpl this) {
return new CheckerFrameworkSuperBuilder.Parent(this);
}
}
@@ -140,24 +139,24 @@ class CheckerFrameworkSuperBuilder {
@java.lang.SuppressWarnings("all")
private int b;
@java.lang.Override
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@org.checkerframework.dataflow.qual.Pure
@java.lang.SuppressWarnings("all")
protected abstract B self();
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.Override
@java.lang.SuppressWarnings("all")
- public abstract C build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.ZChild this);
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ public abstract C build(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.calledmethods.qual.CalledMethods("b") ZChildBuilder<C, B> this);
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public B a(@org.checkerframework.checker.builder.qual.NotCalledMethods("a") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B> this, final int a) {
+ public B a(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("a") ZChildBuilder<C, B> this, final int a) {
this.a$value = a;
a$set = true;
return self();
}
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@java.lang.SuppressWarnings("all")
- public B b(@org.checkerframework.checker.builder.qual.NotCalledMethods("b") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B> this, final int b) {
+ public B b(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.calledmethods.qual.NotCalledMethods("b") ZChildBuilder<C, B> this, final int b) {
this.b = b;
return self();
}
@@ -170,12 +169,11 @@ class CheckerFrameworkSuperBuilder {
}
@java.lang.SuppressWarnings("all")
private static final class ZChildBuilderImpl extends CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<CheckerFrameworkSuperBuilder.ZChild, CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl> {
- @org.checkerframework.common.aliasing.qual.Unique
@java.lang.SuppressWarnings("all")
private ZChildBuilderImpl() {
}
@java.lang.Override
- @org.checkerframework.checker.builder.qual.ReturnsReceiver
+ @org.checkerframework.common.returnsreceiver.qual.This
@org.checkerframework.dataflow.qual.Pure
@java.lang.SuppressWarnings("all")
protected CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl self() {
@@ -184,7 +182,7 @@ class CheckerFrameworkSuperBuilder {
@org.checkerframework.dataflow.qual.SideEffectFree
@java.lang.Override
@java.lang.SuppressWarnings("all")
- public CheckerFrameworkSuperBuilder.ZChild build(@org.checkerframework.checker.builder.qual.CalledMethods("b") CheckerFrameworkSuperBuilder.ZChild.ZChildBuilderImpl this) {
+ public CheckerFrameworkSuperBuilder.ZChild build(CheckerFrameworkSuperBuilder.ZChild.@org.checkerframework.checker.calledmethods.qual.CalledMethods("b") ZChildBuilderImpl this) {
return new CheckerFrameworkSuperBuilder.ZChild(this);
}
}
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCodeCache.java b/test/transform/resource/after-delombok/EqualsAndHashCodeCache.java
new file mode 100644
index 00000000..4f3574b6
--- /dev/null
+++ b/test/transform/resource/after-delombok/EqualsAndHashCodeCache.java
@@ -0,0 +1,167 @@
+class EqualsAndHashCode {
+ @java.lang.SuppressWarnings("all")
+ private transient int $hashCodeCache;
+ int x;
+ boolean[] y;
+ Object[] z;
+ String a;
+ String b;
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCode)) return false;
+ final EqualsAndHashCode other = (EqualsAndHashCode) o;
+ if (!other.canEqual((java.lang.Object) this)) return false;
+ if (this.x != other.x) return false;
+ if (!java.util.Arrays.equals(this.y, other.y)) return false;
+ if (!java.util.Arrays.deepEquals(this.z, other.z)) return false;
+ final java.lang.Object this$a = this.a;
+ final java.lang.Object other$a = other.a;
+ if (this$a == null ? other$a != null : !this$a.equals(other$a)) return false;
+ final java.lang.Object this$b = this.b;
+ final java.lang.Object other$b = other.b;
+ if (this$b == null ? other$b != null : !this$b.equals(other$b)) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ protected boolean canEqual(final java.lang.Object other) {
+ return other instanceof EqualsAndHashCode;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ if (this.$hashCodeCache != 0) return this.$hashCodeCache;
+ final int PRIME = 59;
+ int result = 1;
+ result = result * PRIME + this.x;
+ result = result * PRIME + java.util.Arrays.hashCode(this.y);
+ result = result * PRIME + java.util.Arrays.deepHashCode(this.z);
+ final java.lang.Object $a = this.a;
+ result = result * PRIME + ($a == null ? 43 : $a.hashCode());
+ final java.lang.Object $b = this.b;
+ result = result * PRIME + ($b == null ? 43 : $b.hashCode());
+ if (result == 0) result = java.lang.Integer.MIN_VALUE;
+ this.$hashCodeCache = result;
+ return result;
+ }
+}
+final class EqualsAndHashCode2 {
+ @java.lang.SuppressWarnings("all")
+ private transient int $hashCodeCache;
+ int x;
+ long y;
+ float f;
+ double d;
+ boolean b;
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCode2)) return false;
+ final EqualsAndHashCode2 other = (EqualsAndHashCode2) o;
+ if (this.x != other.x) return false;
+ if (this.y != other.y) return false;
+ if (java.lang.Float.compare(this.f, other.f) != 0) return false;
+ if (java.lang.Double.compare(this.d, other.d) != 0) return false;
+ if (this.b != other.b) return false;
+ return true;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ if (this.$hashCodeCache != 0) return this.$hashCodeCache;
+ final int PRIME = 59;
+ int result = 1;
+ result = result * PRIME + this.x;
+ final long $y = this.y;
+ result = result * PRIME + (int) ($y >>> 32 ^ $y);
+ result = result * PRIME + java.lang.Float.floatToIntBits(this.f);
+ final long $d = java.lang.Double.doubleToLongBits(this.d);
+ result = result * PRIME + (int) ($d >>> 32 ^ $d);
+ result = result * PRIME + (this.b ? 79 : 97);
+ if (result == 0) result = java.lang.Integer.MIN_VALUE;
+ this.$hashCodeCache = result;
+ return result;
+ }
+}
+final class EqualsAndHashCode3 extends EqualsAndHashCode {
+ @java.lang.SuppressWarnings("all")
+ private transient int $hashCodeCache;
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCode3)) return false;
+ final EqualsAndHashCode3 other = (EqualsAndHashCode3) o;
+ if (!other.canEqual((java.lang.Object) this)) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ protected boolean canEqual(final java.lang.Object other) {
+ return other instanceof EqualsAndHashCode3;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ if (this.$hashCodeCache != 0) return this.$hashCodeCache;
+ int result = 1;
+ if (result == 0) result = java.lang.Integer.MIN_VALUE;
+ this.$hashCodeCache = result;
+ return result;
+ }
+}
+class EqualsAndHashCode4 extends EqualsAndHashCode {
+ @java.lang.SuppressWarnings("all")
+ private transient int $hashCodeCache;
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCode4)) return false;
+ final EqualsAndHashCode4 other = (EqualsAndHashCode4) o;
+ if (!other.canEqual((java.lang.Object) this)) return false;
+ if (!super.equals(o)) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ protected boolean canEqual(final java.lang.Object other) {
+ return other instanceof EqualsAndHashCode4;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ if (this.$hashCodeCache != 0) return this.$hashCodeCache;
+ int result = super.hashCode();
+ if (result == 0) result = java.lang.Integer.MIN_VALUE;
+ this.$hashCodeCache = result;
+ return result;
+ }
+}
+final class EqualsAndHashCode5 extends EqualsAndHashCode {
+ @java.lang.SuppressWarnings("all")
+ private transient int $hashCodeCache;
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public boolean equals(final java.lang.Object o) {
+ if (o == this) return true;
+ if (!(o instanceof EqualsAndHashCode5)) return false;
+ final EqualsAndHashCode5 other = (EqualsAndHashCode5) o;
+ if (!other.canEqual((java.lang.Object) this)) return false;
+ if (!super.equals(o)) return false;
+ return true;
+ }
+ @java.lang.SuppressWarnings("all")
+ protected boolean canEqual(final java.lang.Object other) {
+ return other instanceof EqualsAndHashCode5;
+ }
+ @java.lang.Override
+ @java.lang.SuppressWarnings("all")
+ public int hashCode() {
+ if (this.$hashCodeCache != 0) return this.$hashCodeCache;
+ int result = super.hashCode();
+ if (result == 0) result = java.lang.Integer.MIN_VALUE;
+ this.$hashCodeCache = result;
+ return result;
+ }
+}
diff --git a/test/transform/resource/after-delombok/WithMethodMarkedDeprecatedAnnOnly.java b/test/transform/resource/after-delombok/WithMethodMarkedDeprecatedAnnOnly.java
new file mode 100644
index 00000000..551b59bf
--- /dev/null
+++ b/test/transform/resource/after-delombok/WithMethodMarkedDeprecatedAnnOnly.java
@@ -0,0 +1,11 @@
+class WithMethodMarkedDeprecatedAnnOnly {
+ @Deprecated
+ int annotation;
+ WithMethodMarkedDeprecatedAnnOnly(int annotation) {
+ }
+ @java.lang.Deprecated
+ @java.lang.SuppressWarnings("all")
+ public WithMethodMarkedDeprecatedAnnOnly withAnnotation(final int annotation) {
+ return this.annotation == annotation ? this : new WithMethodMarkedDeprecatedAnnOnly(annotation);
+ }
+}