[fixes #2300] Keep method argument positions for lazy getter initializer

This commit is contained in:
Rawi01 authored and Roel Spilker committed 2020-07-23 22:23:55 +02:00
1 parent ce92389da7
commit b1f6372b35
4 files changed
+241

No files matched your search

@@ -0,0 +1,106 @@
class GetterLazyArguments {
private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> field1 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> field2 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> field3 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> field4 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
private final @lombok.Getter(lazy = true) java.util.concurrent.atomic.AtomicReference<java.lang.Object> field5 = new java.util.concurrent.atomic.AtomicReference<java.lang.Object>();
GetterLazyArguments() {
super();
}
static String fun() {
return null;
}
static String stringInt(String arg1, Integer arg2) {
return null;
}
static String stringRunnable(String arg1, Runnable arg2) {
return null;
}
public @java.lang.SuppressWarnings({"all", "unchecked"}) String getField1() {
java.lang.Object value = this.field1.get();
if ((value == null))
{
synchronized (this.field1)
{
value = this.field1.get();
if ((value == null))
{
final String actualValue = stringInt("a", 1);
value = ((actualValue == null) ? this.field1 : actualValue);
this.field1.set(value);
}
}
}
return (String) ((value == this.field1) ? null : value);
}
public @java.lang.SuppressWarnings({"all", "unchecked"}) String getField2() {
java.lang.Object value = this.field2.get();
if ((value == null))
{
synchronized (this.field2)
{
value = this.field2.get();
if ((value == null))
{
final String actualValue = stringInt((true ? "a" : "b"), (true ? 1 : 0));
value = ((actualValue == null) ? this.field2 : actualValue);
this.field2.set(value);
}
}
}
return (String) ((value == this.field2) ? null : value);
}
public @java.lang.SuppressWarnings({"all", "unchecked"}) String getField3() {
java.lang.Object value = this.field3.get();
if ((value == null))
{
synchronized (this.field3)
{
value = this.field3.get();
if ((value == null))
{
final String actualValue = stringInt("a", (true ? 1 : 0));
value = ((actualValue == null) ? this.field3 : actualValue);
this.field3.set(value);
}
}
}
return (String) ((value == this.field3) ? null : value);
}
public @java.lang.SuppressWarnings({"all", "unchecked"}) String getField4() {
java.lang.Object value = this.field4.get();
if ((value == null))
{
synchronized (this.field4)
{
value = this.field4.get();
if ((value == null))
{
final String actualValue = stringRunnable(fun(), () -> {
});
value = ((actualValue == null) ? this.field4 : actualValue);
this.field4.set(value);
}
}
}
return (String) ((value == this.field4) ? null : value);
}
public @java.lang.SuppressWarnings({"all", "unchecked"}) String getField5() {
java.lang.Object value = this.field5.get();
if ((value == null))
{
synchronized (this.field5)
{
value = this.field5.get();
if ((value == null))
{
final String actualValue = stringRunnable("a", () -> {
});
value = ((actualValue == null) ? this.field5 : actualValue);
this.field5.set(value);
}
}
}
return (String) ((value == this.field5) ? null : value);
}
}