From 6355ca8e5e0af6236351fdf07e1dcc1e2286b0aa Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Mon, 18 Jun 2012 20:23:01 +0200 Subject: Created testcase for i376 --- .../resource/after-delombok/GetterLazyBoolean.java | 64 ++++++++++++++++++++ .../resource/after-ecj/GetterLazyBoolean.java | 68 ++++++++++++++++++++++ .../resource/before/GetterLazyBoolean.java | 13 +++++ 3 files changed, 145 insertions(+) create mode 100644 test/transform/resource/after-delombok/GetterLazyBoolean.java create mode 100644 test/transform/resource/after-ecj/GetterLazyBoolean.java create mode 100644 test/transform/resource/before/GetterLazyBoolean.java diff --git a/test/transform/resource/after-delombok/GetterLazyBoolean.java b/test/transform/resource/after-delombok/GetterLazyBoolean.java new file mode 100644 index 00000000..eaf678ed --- /dev/null +++ b/test/transform/resource/after-delombok/GetterLazyBoolean.java @@ -0,0 +1,64 @@ +class GetterLazyBoolean { + private final java.util.concurrent.atomic.AtomicReference> booleanValue = new java.util.concurrent.atomic.AtomicReference>(); + private final java.util.concurrent.atomic.AtomicReference> otherBooleanValue = new java.util.concurrent.atomic.AtomicReference>(); + private static boolean calculateBoolean() { + return true; + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public boolean equals(final java.lang.Object o) { + if (o == this) return true; + if (!(o instanceof GetterLazyBoolean)) return false; + final GetterLazyBoolean other = (GetterLazyBoolean)o; + if (!other.canEqual((java.lang.Object)this)) return false; + if (this.isBooleanValue() != other.isBooleanValue()) return false; + return true; + } + @java.lang.SuppressWarnings("all") + public boolean canEqual(final java.lang.Object other) { + return other instanceof GetterLazyBoolean; + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public int hashCode() { + final int PRIME = 31; + int result = 1; + result = result * PRIME + (this.isBooleanValue() ? 1231 : 1237); + return result; + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "GetterLazyBoolean(booleanValue=" + this.isBooleanValue() + ")"; + } + @java.lang.SuppressWarnings("all") + public boolean isBooleanValue() { + java.util.concurrent.atomic.AtomicReference value = this.booleanValue.get(); + if (value == null) { + synchronized (this.booleanValue) { + value = this.booleanValue.get(); + if (value == null) { + final boolean actualValue = calculateBoolean(); + value = new java.util.concurrent.atomic.AtomicReference(actualValue); + this.booleanValue.set(value); + } + } + } + return value.get(); + } + @java.lang.SuppressWarnings("all") + public boolean isOtherBooleanValue() { + java.util.concurrent.atomic.AtomicReference value = this.otherBooleanValue.get(); + if (value == null) { + synchronized (this.otherBooleanValue) { + value = this.otherBooleanValue.get(); + if (value == null) { + final boolean actualValue = !calculateBoolean(); + value = new java.util.concurrent.atomic.AtomicReference(actualValue); + this.otherBooleanValue.set(value); + } + } + } + return value.get(); + } +} diff --git a/test/transform/resource/after-ecj/GetterLazyBoolean.java b/test/transform/resource/after-ecj/GetterLazyBoolean.java new file mode 100644 index 00000000..6f186ab3 --- /dev/null +++ b/test/transform/resource/after-ecj/GetterLazyBoolean.java @@ -0,0 +1,68 @@ +class GetterLazyBoolean { + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> booleanValue = new java.util.concurrent.atomic.AtomicReference>(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference> otherBooleanValue = new java.util.concurrent.atomic.AtomicReference>(); + public @java.lang.SuppressWarnings("all") boolean isBooleanValue() { + java.util.concurrent.atomic.AtomicReference value = this.booleanValue.get(); + if ((value == null)) + { + synchronized (this.booleanValue) + { + value = this.booleanValue.get(); + if ((value == null)) + { + final boolean actualValue = calculateBoolean(); + value = new java.util.concurrent.atomic.AtomicReference(actualValue); + this.booleanValue.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") boolean isOtherBooleanValue() { + java.util.concurrent.atomic.AtomicReference value = this.otherBooleanValue.get(); + if ((value == null)) + { + synchronized (this.otherBooleanValue) + { + value = this.otherBooleanValue.get(); + if ((value == null)) + { + final boolean actualValue = (! calculateBoolean()); + value = new java.util.concurrent.atomic.AtomicReference(actualValue); + this.otherBooleanValue.set(value); + } + } + } + return value.get(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) { + if ((o == this)) + return true; + if ((! (o instanceof GetterLazyBoolean))) + return false; + final @java.lang.SuppressWarnings("all") GetterLazyBoolean other = (GetterLazyBoolean) o; + if ((! other.canEqual((java.lang.Object) this))) + return false; + if (this.isBooleanValue() != other.isBooleanValue()) + return false; + return true; + } + public @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) { + return (other instanceof GetterLazyBoolean); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() { + final int PRIME = 31; + int result = 1; + result = result * PRIME + (this.isBooleanValue() ? 1231 : 1237); + return result; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (("GetterLazyBoolean(booleanValue=" + this.isBooleanValue()) + ")"); + } + GetterLazyBoolean() { + super(); + } + private static boolean calculateBoolean() { + return true; + } +} diff --git a/test/transform/resource/before/GetterLazyBoolean.java b/test/transform/resource/before/GetterLazyBoolean.java new file mode 100644 index 00000000..bd5676fe --- /dev/null +++ b/test/transform/resource/before/GetterLazyBoolean.java @@ -0,0 +1,13 @@ +@lombok.EqualsAndHashCode(of="booleanValue") +@lombok.ToString(of="booleanValue") +class GetterLazyBoolean { + @lombok.Getter(lazy=true) + private final boolean booleanValue = calculateBoolean(); + + @lombok.Getter(lazy=true) + private final boolean otherBooleanValue = !calculateBoolean(); + + private static boolean calculateBoolean() { + return true; + } +} -- cgit