[fixes #2838] Handle anonymous classes properly

Generated qualified names (e.g. Outer.Inner) now stop at anonymous
classes instead of adding an empty part. All handlers that add static
fields/methods/types now add error messages instead of generating
invalid code.
This commit is contained in:
Rawi01 committed 2021-06-03 19:23:19 +02:00
1 parent 6758714ed5
commit 60f575496b
75 files changed
+1103 -28

No files matched your search

@@ -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();
}
}