diff options
author | Roel Spilker <r.spilker@gmail.com> | 2012-01-24 02:52:13 +0100 |
---|---|---|
committer | Roel Spilker <r.spilker@gmail.com> | 2012-01-24 02:52:13 +0100 |
commit | 2242de2bf9886fc80858486bbb3aa171a5496885 (patch) | |
tree | 36f6795f3e00b1ab122fb2c1ac6d201a1660c89f /test/transform/resource/after-eclipse/DelegateOnGetter.java | |
parent | 3e7bb145d3984d7472baa177ead3baf574d42e6b (diff) | |
download | lombok-2242de2bf9886fc80858486bbb3aa171a5496885.tar.gz lombok-2242de2bf9886fc80858486bbb3aa171a5496885.tar.bz2 lombok-2242de2bf9886fc80858486bbb3aa171a5496885.zip |
Fix for issue 328: @Delegate on a field for which we also generate a getter will use the getter for delegation
Diffstat (limited to 'test/transform/resource/after-eclipse/DelegateOnGetter.java')
-rw-r--r-- | test/transform/resource/after-eclipse/DelegateOnGetter.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/transform/resource/after-eclipse/DelegateOnGetter.java b/test/transform/resource/after-eclipse/DelegateOnGetter.java new file mode 100644 index 00000000..7d5907e0 --- /dev/null +++ b/test/transform/resource/after-eclipse/DelegateOnGetter.java @@ -0,0 +1,40 @@ +import lombok.Delegate; +import lombok.Getter; +class DelegateOnGetter { + private interface Bar { + void setList(java.util.ArrayList<java.lang.String> list); + int getInt(); + } + private final @Delegate @Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<Bar>> bar = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<Bar>>(); + public @Delegate @java.lang.SuppressWarnings("all") Bar getBar() { + java.util.concurrent.atomic.AtomicReference<Bar> value = this.bar.get(); + if ((value == null)) + { + synchronized (this.bar) + { + value = this.bar.get(); + if ((value == null)) + { + value = new java.util.concurrent.atomic.AtomicReference<Bar>(new Bar() { + public void setList(java.util.ArrayList<String> list) { + } + public int getInt() { + return 42; + } +}); + this.bar.set(value); + } + } + } + return value.get(); + } + public @java.lang.SuppressWarnings("all") int getInt() { + return this.getBar().getInt(); + } + public @java.lang.SuppressWarnings("all") void setList(final java.util.ArrayList<java.lang.String> list) { + this.getBar().setList(list); + } + DelegateOnGetter() { + super(); + } +}
\ No newline at end of file |