diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2021-09-16 02:04:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-16 02:04:12 +0200 |
commit | 485c3533bb1b84887f17243c258fdf485b8ea15a (patch) | |
tree | e4d0522989907cdeb514e86f125a697fe51009a6 /test/transform/resource/after-ecj/GetterLazyInAnonymousClass.java | |
parent | 602a68b8f8ad0504b2aaf7c939328617dc2f2326 (diff) | |
parent | 0f358d38c5e8dc3253503b081c91458c07f71685 (diff) | |
download | lombok-485c3533bb1b84887f17243c258fdf485b8ea15a.tar.gz lombok-485c3533bb1b84887f17243c258fdf485b8ea15a.tar.bz2 lombok-485c3533bb1b84887f17243c258fdf485b8ea15a.zip |
Merge pull request #2866 from Rawi01/anonymous-inner-class
Handle anonymous classes properly
Diffstat (limited to 'test/transform/resource/after-ecj/GetterLazyInAnonymousClass.java')
-rw-r--r-- | test/transform/resource/after-ecj/GetterLazyInAnonymousClass.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/transform/resource/after-ecj/GetterLazyInAnonymousClass.java b/test/transform/resource/after-ecj/GetterLazyInAnonymousClass.java new file mode 100644 index 00000000..ab8bc599 --- /dev/null +++ b/test/transform/resource/after-ecj/GetterLazyInAnonymousClass.java @@ -0,0 +1,34 @@ +import lombok.Getter; +public class GetterLazyInAnonymousClass { + Object annonymous = new Object() { + class Inner { + private final @Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> string = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>(); + Inner() { + super(); + } + public @java.lang.SuppressWarnings({"all", "unchecked"}) String getString() { + java.lang.Object value = this.string.get(); + if ((value == null)) + { + synchronized (this.string) + { + value = this.string.get(); + if ((value == null)) + { + final String actualValue = "test"; + value = ((actualValue == null) ? this.string : actualValue); + this.string.set(value); + } + } + } + return (String) ((value == this.string) ? null : value); + } + } + x() { + super(); + } + }; + public GetterLazyInAnonymousClass() { + super(); + } +} |