Skip to content

Commit

Permalink
[fixes projectlombok#2995] Skip records for field defaults via config
Browse files Browse the repository at this point in the history
  • Loading branch information
Rawi01 committed Oct 22, 2021
1 parent 8bbac04 commit 1d7db8c
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/core/lombok/eclipse/handlers/HandleFieldDefaults.java
Expand Up @@ -160,6 +160,8 @@ public void setFieldDefaultsForField(EclipseNode fieldNode, ASTNode pos, AccessL
boolean defaultToFinal = makeFinalIsExplicit ? false : Boolean.TRUE.equals(typeNode.getAst().readConfiguration(ConfigurationKeys.FIELD_DEFAULTS_FINAL_EVERYWHERE));

if (!defaultToPrivate && !defaultToFinal && fieldDefaults == null) return;
// Do not apply field defaults to records if set using the the config system
if (fieldDefaults == null && !isClassOrEnum(typeNode)) return;
AccessLevel fdAccessLevel = (fieldDefaults != null && levelIsExplicit) ? fd.level() : defaultToPrivate ? AccessLevel.PRIVATE : null;
boolean fdToFinal = (fieldDefaults != null && makeFinalIsExplicit) ? fd.makeFinal() : defaultToFinal;

Expand Down
2 changes: 2 additions & 0 deletions src/core/lombok/javac/handlers/HandleFieldDefaults.java
Expand Up @@ -140,6 +140,8 @@ public void setFieldDefaultsForField(JavacNode fieldNode, AccessLevel level, boo
boolean defaultToFinal = makeFinalIsExplicit ? false : Boolean.TRUE.equals(typeNode.getAst().readConfiguration(ConfigurationKeys.FIELD_DEFAULTS_FINAL_EVERYWHERE));

if (!defaultToPrivate && !defaultToFinal && fieldDefaults == null) return;
// Do not apply field defaults to records if set using the the config system
if (fieldDefaults == null && !isClassOrEnum(typeNode)) return;
AccessLevel fdAccessLevel = (fieldDefaults != null && levelIsExplicit) ? fd.level() : defaultToPrivate ? AccessLevel.PRIVATE : null;
boolean fdToFinal = (fieldDefaults != null && makeFinalIsExplicit) ? fd.makeFinal() : defaultToFinal;

Expand Down
@@ -0,0 +1,3 @@
// version 14:
public record FieldDefaultsViaConfigOnRecord(String a, String b) {
}
@@ -0,0 +1,10 @@
// version 14:
public record FieldDefaultsViaConfigOnRecord(String a, String b) {
/* Implicit */ private final String a;
/* Implicit */ private final String b;
public FieldDefaultsViaConfigOnRecord(String a, String b) {
super();
.a = a;
.b = b;
}
}
@@ -0,0 +1,7 @@
// version 14:
//CONF: lombok.fieldDefaults.defaultFinal = true
//CONF: lombok.fieldDefaults.defaultPrivate = true
//unchanged

public record FieldDefaultsViaConfigOnRecord(String a, String b) {
}

0 comments on commit 1d7db8c

Please sign in to comment.