[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,50 @@
import lombok.Data;
public class DataInAnonymousClass {
Object annonymous = new Object() {
@Data class Inner {
private String string;
public @java.lang.SuppressWarnings("all") String getString() {
return this.string;
}
public @java.lang.SuppressWarnings("all") void setString(final String string) {
this.string = string;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") boolean equals(final java.lang.Object o) {
if ((o == this))
return true;
if ((! (o instanceof Inner)))
return false;
final Inner other = (Inner) o;
if ((! other.canEqual((java.lang.Object) this)))
return false;
final java.lang.Object this$string = this.getString();
final java.lang.Object other$string = other.getString();
if (((this$string == null) ? (other$string != null) : (! this$string.equals(other$string))))
return false;
return true;
}
protected @java.lang.SuppressWarnings("all") boolean canEqual(final java.lang.Object other) {
return (other instanceof Inner);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $string = this.getString();
result = ((result * PRIME) + (($string == null) ? 43 : $string.hashCode()));
return result;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (("Inner(string=" + this.getString()) + ")");
}
public @java.lang.SuppressWarnings("all") Inner() {
super();
}
}
x() {
super();
}
};
public DataInAnonymousClass() {
super();
}
}