aboutsummaryrefslogtreecommitdiff
path: root/test/transform/resource/after-eclipse/DelegateOnGetter.java
diff options
context:
space:
mode:
authorRoel Spilker <r.spilker@gmail.com>2012-01-24 02:52:13 +0100
committerRoel Spilker <r.spilker@gmail.com>2012-01-24 02:52:13 +0100
commit2242de2bf9886fc80858486bbb3aa171a5496885 (patch)
tree36f6795f3e00b1ab122fb2c1ac6d201a1660c89f /test/transform/resource/after-eclipse/DelegateOnGetter.java
parent3e7bb145d3984d7472baa177ead3baf574d42e6b (diff)
downloadlombok-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.java40
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