Do not generate a private no-args constructor if:

- The class has a parent class
- There is an explicit XxxArgsConstructor annotation that would generate
a no-args constructor
Fixes #1703, fixes #1704, fixes #1712
This commit is contained in:
Roel Spilker committed 2018-06-04 22:40:24 +02:00
1 parent 370705e7e1
commit fb5a553014
10 files changed
+563 -43

No files matched your search

@@ -0,0 +1,40 @@
// CONF: lombok.equalsAndHashCode.callSuper = call
public class PrivateNoArgsConstructor {
private static class Base {
}
@lombok.Data
public static class PrivateNoArgsConstructorNotOnExtends extends Base {
private final int a;
}
@lombok.Data
public static class PrivateNoArgsConstructorOnExtendsObject extends Object {
private final int b;
}
@lombok.NoArgsConstructor(force=true)
@lombok.Data
@lombok.RequiredArgsConstructor
public static class PrivateNoArgsConstructorExplicitBefore {
private final int c;
}
@lombok.Data
@lombok.NoArgsConstructor(force=true)
@lombok.RequiredArgsConstructor
public static class PrivateNoArgsConstructorExplicitAfter {
private final int d;
}
@lombok.Data
@lombok.NoArgsConstructor(access=lombok.AccessLevel.NONE)
@lombok.RequiredArgsConstructor
public static class PrivateNoArgsConstructorExplicitNone {
private final int e;
}
@lombok.Data
public static class PrivateNoArgsConstructorNoFields {
}
}