From cf82dcfb8057637255ce223671a8d727fe0a073a Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Mon, 5 Dec 2016 23:41:38 +0100 Subject: Fixes #1236: Getter(lazy=true) now emits an error when used on a transient field --- .../resource/after-ecj/GetterLazyTransient.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/transform/resource/after-ecj/GetterLazyTransient.java (limited to 'test/transform/resource/after-ecj') diff --git a/test/transform/resource/after-ecj/GetterLazyTransient.java b/test/transform/resource/after-ecj/GetterLazyTransient.java new file mode 100644 index 00000000..9bc0d9ae --- /dev/null +++ b/test/transform/resource/after-ecj/GetterLazyTransient.java @@ -0,0 +1,28 @@ +class GetterLazyTransient { + private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference nonTransientField = new java.util.concurrent.atomic.AtomicReference(); + private final transient @lombok.Getter(lazy = true) int transientField = 2; + private final transient @lombok.Getter int nonLazyTransientField = 3; + GetterLazyTransient() { + super(); + } + public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") int getNonTransientField() { + java.lang.Object value = this.nonTransientField.get(); + if ((value == null)) + { + synchronized (this.nonTransientField) + { + value = this.nonTransientField.get(); + if ((value == null)) + { + final int actualValue = 1; + value = actualValue; + this.nonTransientField.set(value); + } + } + } + return (java.lang.Integer) value; + } + public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") int getNonLazyTransientField() { + return this.nonLazyTransientField; + } +} \ No newline at end of file -- cgit