From 8943b49dfed95228e324422435a77597a95943c0 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Thu, 6 Feb 2020 23:57:30 +0100 Subject: [fixes #880] get rid of an unchecked cast warning for `@Getter(lazy=true)` --- .../resource/after-ecj/GetterLazyGenerics.java | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/transform/resource/after-ecj/GetterLazyGenerics.java (limited to 'test/transform/resource/after-ecj/GetterLazyGenerics.java') diff --git a/test/transform/resource/after-ecj/GetterLazyGenerics.java b/test/transform/resource/after-ecj/GetterLazyGenerics.java new file mode 100644 index 00000000..67ef5543 --- /dev/null +++ b/test/transform/resource/after-ecj/GetterLazyGenerics.java @@ -0,0 +1,44 @@ +class GetterLazyGenerics { + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference field = new java.util.concurrent.atomic.AtomicReference(); + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference field2 = new java.util.concurrent.atomic.AtomicReference(); + GetterLazyGenerics() { + super(); + } + public static E getAny() { + return null; + } + public @java.lang.SuppressWarnings({"all", "unchecked"}) E getField() { + java.lang.Object value = this.field.get(); + if ((value == null)) + { + synchronized (this.field) + { + value = this.field.get(); + if ((value == null)) + { + final E actualValue = getAny(); + value = ((actualValue == null) ? this.field : actualValue); + this.field.set(value); + } + } + } + return (E) ((value == this.field) ? null : value); + } + public @java.lang.SuppressWarnings({"all", "unchecked"}) long getField2() { + java.lang.Object value = this.field2.get(); + if ((value == null)) + { + synchronized (this.field2) + { + value = this.field2.get(); + if ((value == null)) + { + final long actualValue = System.currentTimeMillis(); + value = actualValue; + this.field2.set(value); + } + } + } + return (java.lang.Long) value; + } +} \ No newline at end of file -- cgit