@Getter(lazy=true) now uses a different, more efficient desugaring. Implementing in javac, ecj still has to be done.

This commit is contained in:
Reinier Zwitserloot committed 2013-07-07 21:49:47 +02:00
1 parent dfc682a001
commit b6a23a7d94
7 files changed
+109 -78

No files matched your search

@@ -1,6 +1,6 @@
class GetterLazyEahcToString {
private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<String>> value = new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.atomic.AtomicReference<String>>();
private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> value = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final String value2 = "";
@java.lang.Override
@@ -44,18 +44,18 @@ class GetterLazyEahcToString {
@java.lang.SuppressWarnings("all")
public String getValue() {
java.util.concurrent.atomic.AtomicReference<String> value = this.value.get();
java.lang.Object value = this.value.get();
if (value == null) {
synchronized (this.value) {
value = this.value.get();
if (value == null) {
final String actualValue = "";
value = new java.util.concurrent.atomic.AtomicReference<String>(actualValue);
value = actualValue == null ? this.value : actualValue;
this.value.set(value);
}
}
}
return value.get();
return (String)(value == this.value ? null : value);
}
@java.lang.SuppressWarnings("all")