[fixes #3448] Keep initializer position for lazy getter

This commit is contained in:
Rawi01 committed 2023-08-13 16:07:39 +02:00
1 parent 000ce6d19a
commit ba47865bf0
10 files changed
+77 -21

No files matched your search

@@ -17,6 +17,7 @@ class GetterLazyArguments {
private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field3 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field4 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field5 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final java.util.concurrent.atomic.AtomicReference<java.lang.Object> field6 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
@java.lang.SuppressWarnings({"all", "unchecked"})
public String getField1() {
@@ -99,4 +100,20 @@ class GetterLazyArguments {
}
return (String) (value == this.field5 ? null : value);
}
@java.lang.SuppressWarnings({"all", "unchecked"})
public String getField6() {
java.lang.Object value = this.field6.get();
if (value == null) {
synchronized (this.field6) {
value = this.field6.get();
if (value == null) {
final String actualValue = true ? stringInt(true ? "a" : "b", true ? 1 : 0) : "";
value = actualValue == null ? this.field6 : actualValue;
this.field6.set(value);
}
}
}
return (String) (value == this.field6 ? null : value);
}
}