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 --- .../after-delombok/GetterLazyTransient.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/transform/resource/after-delombok/GetterLazyTransient.java (limited to 'test/transform/resource/after-delombok') diff --git a/test/transform/resource/after-delombok/GetterLazyTransient.java b/test/transform/resource/after-delombok/GetterLazyTransient.java new file mode 100644 index 00000000..dbebad90 --- /dev/null +++ b/test/transform/resource/after-delombok/GetterLazyTransient.java @@ -0,0 +1,26 @@ +class GetterLazyTransient { + private final java.util.concurrent.atomic.AtomicReference nonTransientField = new java.util.concurrent.atomic.AtomicReference(); + private final transient int transientField = 2; + private final transient int nonLazyTransientField = 3; + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public 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; + } + @java.lang.SuppressWarnings("all") + @javax.annotation.Generated("lombok") + public int getNonLazyTransientField() { + return this.nonLazyTransientField; + } +} -- cgit