diff --git a/.github/workflows/ant.yml b/.github/workflows/ant.yml
index 390375d2..0c5cc94d 100644
--- a/.github/workflows/ant.yml
+++ b/.github/workflows/ant.yml
@@ -94,6 +94,9 @@ jobs:
- eclipse-oxygen
- eclipse-202006
- eclipse-202006-jdk8
+ - eclipse-202403
+ - eclipse-202503
+ - eclipse-I-build
- eclipse-oxygen-full
- eclipse-202403-full
- eclipse-202503-full
diff --git a/buildScripts/setup.ant.xml b/buildScripts/setup.ant.xml
index 639c7203..9ddf877a 100644
--- a/buildScripts/setup.ant.xml
+++ b/buildScripts/setup.ant.xml
@@ -205,6 +205,8 @@ This buildfile is part of projectlombok.org. It sets up the build itself.
+
+
diff --git a/src/core/lombok/eclipse/EclipseAST.java b/src/core/lombok/eclipse/EclipseAST.java
index 4a0854a4..a7fa876f 100644
--- a/src/core/lombok/eclipse/EclipseAST.java
+++ b/src/core/lombok/eclipse/EclipseAST.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2021 The Project Lombok Authors.
+ * Copyright (C) 2009-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -40,6 +40,7 @@ import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.internal.compiler.CompilationResult;
import org.eclipse.jdt.internal.compiler.ast.ASTNode;
import org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration;
+import org.eclipse.jdt.internal.compiler.ast.AbstractVariableDeclaration;
import org.eclipse.jdt.internal.compiler.ast.Annotation;
import org.eclipse.jdt.internal.compiler.ast.Argument;
import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
@@ -354,7 +355,7 @@ public class EclipseAST extends AST {
case TYPE:
return buildType((TypeDeclaration) node);
case FIELD:
- return buildField((FieldDeclaration) node, null);
+ return buildField((FieldDeclaration) node);
case INITIALIZER:
return buildInitializer((Initializer) node);
case METHOD:
@@ -393,17 +394,38 @@ public class EclipseAST extends AST {
private EclipseNode buildType(TypeDeclaration type) {
if (setAndGetAsHandled(type)) return null;
List childNodes = new ArrayList();
- childNodes.addAll(buildFields(type.fields, getRecordFieldAnnotations(type)));
+ childNodes.addAll(buildRecordComponents(getRecordComponents(type)));
+ childNodes.addAll(buildFields(type.fields));
childNodes.addAll(buildTypes(type.memberTypes));
childNodes.addAll(buildMethods(type.methods));
childNodes.addAll(buildAnnotations(type.annotations, false));
return putInMap(new EclipseNode(this, type, childNodes, Kind.TYPE));
}
- private Collection buildFields(FieldDeclaration[] children, Annotation[][] annotations) {
+ private Collection buildRecordComponents(AbstractVariableDeclaration[] children) {
List childNodes = new ArrayList();
if (children != null) for (int i = 0; i < children.length; i++) {
- addIfNotNull(childNodes, buildField(children[i], annotations[i]));
+ addIfNotNull(childNodes, buildRecordComponent(children[i]));
+ }
+ return childNodes;
+ }
+
+ private EclipseNode buildRecordComponent(AbstractVariableDeclaration field) {
+ List childNodes = new ArrayList();
+ addIfNotNull(childNodes, buildTypeUse(field.type));
+ addIfNotNull(childNodes, buildStatement(field.initialization));
+ childNodes.addAll(buildAnnotations(field.annotations, true));
+ FieldDeclaration fieldDeclaration = new FieldDeclaration(field.name, field.sourceStart, field.sourceEnd);
+ fieldDeclaration.type = field.type;
+ fieldDeclaration.modifiers = field.modifiers | Eclipse.AccRecord;
+ fieldDeclaration.annotations = field.annotations;
+ return putInMap(new EclipseNode(this, fieldDeclaration, childNodes, Kind.FIELD));
+ }
+
+ private Collection buildFields(FieldDeclaration[] children) {
+ List childNodes = new ArrayList();
+ if (children != null) for (int i = 0; i < children.length; i++) {
+ addIfNotNull(childNodes, buildField(children[i]));
}
return childNodes;
}
@@ -414,13 +436,14 @@ public class EclipseAST extends AST {
return list;
}
- private EclipseNode buildField(FieldDeclaration field, Annotation[] annotations) {
+ private EclipseNode buildField(FieldDeclaration field) {
if (field instanceof Initializer) return buildInitializer((Initializer) field);
if (setAndGetAsHandled(field)) return null;
+ if (isRecordField(field)) return null;
List childNodes = new ArrayList();
addIfNotNull(childNodes, buildTypeUse(field.type));
addIfNotNull(childNodes, buildStatement(field.initialization));
- childNodes.addAll(buildAnnotations(annotations != null ? annotations : field.annotations, true));
+ childNodes.addAll(buildAnnotations(field.annotations, true));
return putInMap(new EclipseNode(this, field, childNodes, Kind.FIELD));
}
diff --git a/src/core/lombok/eclipse/handlers/HandleLockedUtil.java b/src/core/lombok/eclipse/handlers/HandleLockedUtil.java
index 2e13fd86..a0199913 100644
--- a/src/core/lombok/eclipse/handlers/HandleLockedUtil.java
+++ b/src/core/lombok/eclipse/handlers/HandleLockedUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2024 The Project Lombok Authors.
+ * Copyright (C) 2024-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -87,6 +87,8 @@ public final class HandleLockedUtil {
if (methodNode == null || methodNode.getKind() != AST.Kind.METHOD || !(methodNode.get() instanceof MethodDeclaration)) return;
MethodDeclaration method = (MethodDeclaration) methodNode.get();
if (method.isAbstract()) return;
+ EclipseNode typeNode = upToTypeNode(annotationNode);
+ if (isRecord(typeNode)) return;
createLockField(annotationValue, annotationNode, lockTypeClass, lockImplClass, new AtomicBoolean(method.isStatic()), false);
}
diff --git a/src/core/lombok/eclipse/handlers/HandleNonNull.java b/src/core/lombok/eclipse/handlers/HandleNonNull.java
index 0138c7fb..e34fe277 100644
--- a/src/core/lombok/eclipse/handlers/HandleNonNull.java
+++ b/src/core/lombok/eclipse/handlers/HandleNonNull.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2021 The Project Lombok Authors.
+ * Copyright (C) 2013-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -168,10 +168,15 @@ public class HandleNonNull extends EclipseAnnotationHandler {
}
}
if (posToInsert == -1) {
- AbstractMethodDeclaration[] na = new AbstractMethodDeclaration[td.methods.length + 1];
- posToInsert = td.methods.length;
- System.arraycopy(td.methods, 0, na, 0, posToInsert);
- td.methods = na;
+ if (td.methods == null) {
+ td.methods = new AbstractMethodDeclaration[1];
+ posToInsert = 0;
+ } else {
+ posToInsert = td.methods.length;
+ AbstractMethodDeclaration[] na = new AbstractMethodDeclaration[posToInsert + 1];
+ System.arraycopy(td.methods, 0, na, 0, posToInsert);
+ td.methods = na;
+ }
}
ConstructorDeclaration cd = new ConstructorDeclaration(((CompilationUnitDeclaration) typeNode.top().get()).compilationResult);
@@ -186,8 +191,9 @@ public class HandleNonNull extends EclipseAnnotationHandler {
for (int i = 0; i < cd.arguments.length; i++) {
FieldDeclaration cmp = recordComponents.get(i);
- cd.arguments[i] = new Argument(cmp.name, cmp.sourceStart, cmp.type, 0);
+ cd.arguments[i] = new Argument(cmp.name, cmp.sourceStart, cmp.type, cmp.modifiers);
cd.arguments[i].bits = ASTNode.IsArgument | ASTNode.IgnoreRawTypeCheck | ASTNode.IsReachable;
+ cd.arguments[i].annotations = cmp.annotations;
FieldReference lhs = new FieldReference(cmp.name, 0);
lhs.receiver = new ThisReference(0, 0);
SingleNameReference rhs = new SingleNameReference(cmp.name, 0);
@@ -304,6 +310,11 @@ public class HandleNonNull extends EclipseAnnotationHandler {
return;
}
+ if ((param.modifiers & AccRecord) != 0) {
+ addNullCheckIfNeeded(declaration, param, annotationNode);
+ node.up().rebuild();
+ }
+
if (!force && isGenerated(declaration)) return;
if (declaration.isAbstract()) {
diff --git a/src/core/lombok/eclipse/handlers/HandleSynchronized.java b/src/core/lombok/eclipse/handlers/HandleSynchronized.java
index fb30772c..087bc051 100644
--- a/src/core/lombok/eclipse/handlers/HandleSynchronized.java
+++ b/src/core/lombok/eclipse/handlers/HandleSynchronized.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2024 The Project Lombok Authors.
+ * Copyright (C) 2009-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -69,6 +69,8 @@ public class HandleSynchronized extends EclipseAnnotationHandler {
if (methodNode == null || methodNode.getKind() != Kind.METHOD || !(methodNode.get() instanceof MethodDeclaration)) return;
MethodDeclaration method = (MethodDeclaration) methodNode.get();
if (method.isAbstract()) return;
+ EclipseNode typeNode = upToTypeNode(annotationNode);
+ if (isRecord(typeNode)) return;
createLockField(annotation, annotationNode, new boolean[] {method.isStatic()}, false);
diff --git a/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java b/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java
index 201be4a8..0c2de06d 100644
--- a/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java
+++ b/src/eclipseAgent/lombok/eclipse/agent/EclipsePatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2024 The Project Lombok Authors.
+ * Copyright (C) 2009-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -333,7 +333,7 @@ public class EclipsePatcher implements AgentLauncher.AgentLaunchable {
.transplant()
.build());
- sm.addScriptIfComplexWitness(new String[][] {OSGI_TYPES, new String[] {"org/eclipse/jdt/internal/compiler/parser/TerminalToken"}}, ScriptBuilder.replaceMethodCall()
+ sm.addScriptIfWitness(OSGI_TYPES, ScriptBuilder.replaceMethodCall()
.target(new MethodTarget("org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer", "visit"))
.methodToReplace(new Hook("org.eclipse.jdt.internal.core.dom.rewrite.TokenScanner", "getTokenEndOffset", "int", "org.eclipse.jdt.internal.compiler.parser.TerminalToken", "int"))
.replacementMethod(new Hook("lombok.launch.PatchFixesHider$PatchFixes", "getTokenEndOffsetFixed", "int", "org.eclipse.jdt.internal.core.dom.rewrite.TokenScanner", "java.lang.Object", "int", "java.lang.Object"))
@@ -1156,6 +1156,23 @@ public class EclipsePatcher implements AgentLauncher.AgentLaunchable {
.request(StackRequest.THIS, StackRequest.PARAM2)
.transplant()
.build());
+
+ // Remove implicit record fields in tests
+ sm.addScriptIfWitness(ECLIPSE_TEST_CLASSES, ScriptBuilder.exitEarly()
+ .target(new MethodTarget("org.eclipse.jdt.internal.compiler.ast.FieldDeclaration", "print", "java.lang.StringBuilder", "int", "java.lang.StringBuilder"))
+ .decisionMethod(new Hook("lombok.launch.PatchFixesHider$Tests", "isRecordComponent", "boolean", "org.eclipse.jdt.internal.compiler.ast.FieldDeclaration", "java.lang.Object"))
+ .valueMethod(new Hook("lombok.launch.PatchFixesHider$Tests", "returnStringBuilder", "java.lang.StringBuilder", "java.lang.Object", "java.lang.StringBuilder"))
+ .request(StackRequest.THIS, StackRequest.PARAM2)
+ .transplant()
+ .build());
+
+ sm.addScriptIfWitness(ECLIPSE_TEST_CLASSES, ScriptBuilder.exitEarly()
+ .target(new MethodTarget("org.eclipse.jdt.internal.compiler.ast.FieldDeclaration", "print", "java.lang.StringBuffer", "int", "java.lang.StringBuffer"))
+ .decisionMethod(new Hook("lombok.launch.PatchFixesHider$Tests", "isRecordComponent", "boolean", "org.eclipse.jdt.internal.compiler.ast.FieldDeclaration", "java.lang.Object"))
+ .valueMethod(new Hook("lombok.launch.PatchFixesHider$Tests", "returnStringBuffer", "java.lang.StringBuffer", "java.lang.Object", "java.lang.StringBuffer"))
+ .request(StackRequest.THIS, StackRequest.PARAM2)
+ .transplant()
+ .build());
}
}
diff --git a/src/eclipseAgent/lombok/launch/PatchFixesHider.java b/src/eclipseAgent/lombok/launch/PatchFixesHider.java
index 673186c0..40af3db2 100755
--- a/src/eclipseAgent/lombok/launch/PatchFixesHider.java
+++ b/src/eclipseAgent/lombok/launch/PatchFixesHider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2024 The Project Lombok Authors.
+ * Copyright (C) 2010-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -1117,6 +1117,10 @@ final class PatchFixesHider {
return (method.bits & IsCanonicalConstructor) != 0 && (method.bits & IsImplicit) != 0;
}
+ public static boolean isRecordComponent(FieldDeclaration field, Object parameter) {
+ return (field.modifiers & AccRecord) != 0;
+ }
+
public static StringBuffer returnStringBuffer(Object p1, StringBuffer buffer) {
return buffer;
}
diff --git a/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java b/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java
index e2ef2bbe..9df6d057 100644
--- a/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java
+++ b/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2022-2024 The Project Lombok Authors.
+ * Copyright (C) 2022-2025 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -51,6 +51,7 @@ public class DownloadEclipseDependencies {
String updateSiteUrl = args[2];
boolean resolveDependencies = Boolean.parseBoolean(args[3]);
List bundles = Arrays.asList(Arrays.copyOfRange(args, 4, args.length));
+ boolean isCi = "true".equalsIgnoreCase(System.getenv("CI"));
UpdateSite updateSite = new UpdateSite();
updateSite.read(updateSiteUrl);
@@ -69,14 +70,16 @@ public class DownloadEclipseDependencies {
// Download artifact
downloadFile(artifact, pluginSource, pluginTarget);
- // Download artifact source
- int index = artifact.lastIndexOf("_");
- String source = artifact.substring(0, index) + ".source" + artifact.substring(index);
- try {
- downloadFile(source, pluginSource, pluginTarget);
- } catch (Exception e) {
- // It's just the source; sometimes these aren't present (specifically, `org.eclipse.swt` doesn't currently appear to have the sources, at least not using the `_sources` naming scheme). Don't fail, just skip them.
- System.out.println("[failed]");
+ // Download artifact source for local development
+ if (!isCi) {
+ int index = artifact.lastIndexOf("_");
+ String source = artifact.substring(0, index) + ".source" + artifact.substring(index);
+ try {
+ downloadFile(source, pluginSource, pluginTarget);
+ } catch (Exception e) {
+ // It's just the source; sometimes these aren't present (specifically, `org.eclipse.swt` doesn't currently appear to have the sources, at least not using the `_sources` naming scheme). Don't fail, just skip them.
+ System.out.println("[failed]");
+ }
}
}
diff --git a/test/transform/resource/after-ecj/BuilderOnNestedRecord.java b/test/transform/resource/after-ecj/BuilderOnNestedRecord.java
index 61737b17..8bcc1819 100644
--- a/test/transform/resource/after-ecj/BuilderOnNestedRecord.java
+++ b/test/transform/resource/after-ecj/BuilderOnNestedRecord.java
@@ -19,10 +19,8 @@ public record BuilderOnNestedRecord(T t) {
return (("BuilderOnNestedRecord.Nested.NestedBuilder(a=" + this.a) + ")");
}
}
-/* Implicit */ private final String a;
public static @java.lang.SuppressWarnings("all") @lombok.Generated BuilderOnNestedRecord.Nested.NestedBuilder builder() {
return new BuilderOnNestedRecord.Nested.NestedBuilder();
}
}
-/* Implicit */ private final T t;
}
diff --git a/test/transform/resource/after-ecj/BuilderSimpleOnRecord.java b/test/transform/resource/after-ecj/BuilderSimpleOnRecord.java
index fac87407..022de16a 100644
--- a/test/transform/resource/after-ecj/BuilderSimpleOnRecord.java
+++ b/test/transform/resource/after-ecj/BuilderSimpleOnRecord.java
@@ -28,8 +28,6 @@ public @lombok.Builder(access = lombok.AccessLevel.PROTECTED) record BuilderSimp
return (((("BuilderSimpleOnRecord.BuilderSimpleOnRecordBuilder(l=" + this.l) + ", a=") + this.a) + ")");
}
}
-/* Implicit */ private final List l;
-/* Implicit */ private final String a;
protected static @java.lang.SuppressWarnings("all") @lombok.Generated BuilderSimpleOnRecord.BuilderSimpleOnRecordBuilder builder() {
return new BuilderSimpleOnRecord.BuilderSimpleOnRecordBuilder();
}
diff --git a/test/transform/resource/after-ecj/BuilderSingularOnRecord.java b/test/transform/resource/after-ecj/BuilderSingularOnRecord.java
index 4dcdb6eb..3f8aa464 100644
--- a/test/transform/resource/after-ecj/BuilderSingularOnRecord.java
+++ b/test/transform/resource/after-ecj/BuilderSingularOnRecord.java
@@ -114,9 +114,6 @@ public @Builder record BuilderSingularOnRecord(List children, Collection scarves
return (((((("BuilderSingularOnRecord.BuilderSingularOnRecordBuilder(children=" + this.children) + ", scarves=") + this.scarves) + ", rawList=") + this.rawList) + ")");
}
}
-/* Implicit */ private final List children;
-/* Implicit */ private final Collection extends Number> scarves;
-/* Implicit */ private final List rawList;
public static @java.lang.SuppressWarnings("all") @lombok.Generated BuilderSingularOnRecord.BuilderSingularOnRecordBuilder builder() {
return new BuilderSingularOnRecord.BuilderSingularOnRecordBuilder();
}
diff --git a/test/transform/resource/after-ecj/ConstructorsOnRecord.java b/test/transform/resource/after-ecj/ConstructorsOnRecord.java
index 87d9e69c..f330e33d 100644
--- a/test/transform/resource/after-ecj/ConstructorsOnRecord.java
+++ b/test/transform/resource/after-ecj/ConstructorsOnRecord.java
@@ -3,6 +3,4 @@ import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
public @AllArgsConstructor @RequiredArgsConstructor @NoArgsConstructor record ConstructorsOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/DataOnRecord.java b/test/transform/resource/after-ecj/DataOnRecord.java
index 047706a7..f85a6e29 100644
--- a/test/transform/resource/after-ecj/DataOnRecord.java
+++ b/test/transform/resource/after-ecj/DataOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.Data;
public @Data record DataOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/DelegateOnRecord.java b/test/transform/resource/after-ecj/DelegateOnRecord.java
index 7194a014..a462b557 100644
--- a/test/transform/resource/after-ecj/DelegateOnRecord.java
+++ b/test/transform/resource/after-ecj/DelegateOnRecord.java
@@ -1,7 +1,6 @@
// version 14:
import lombok.experimental.Delegate;
record DelegateOnRecord(Runnable runnable) {
-/* Implicit */ private final Runnable runnable;
public @java.lang.SuppressWarnings("all") @lombok.Generated void run() {
this.runnable.run();
}
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCodeOnRecord.java b/test/transform/resource/after-ecj/EqualsAndHashCodeOnRecord.java
index 8b36937c..bcbd5e7c 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCodeOnRecord.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCodeOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.EqualsAndHashCode;
public @EqualsAndHashCode record EqualsAndHashCodeOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/FieldDefaultsOnRecord.java b/test/transform/resource/after-ecj/FieldDefaultsOnRecord.java
index 601d7488..bd853d98 100644
--- a/test/transform/resource/after-ecj/FieldDefaultsOnRecord.java
+++ b/test/transform/resource/after-ecj/FieldDefaultsOnRecord.java
@@ -1,5 +1,3 @@
// version 14:
public @lombok.experimental.FieldDefaults(makeFinal = true) record FieldDefaultsOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/FieldDefaultsViaConfigOnRecord.java b/test/transform/resource/after-ecj/FieldDefaultsViaConfigOnRecord.java
index 34b70675..5fb4a115 100644
--- a/test/transform/resource/after-ecj/FieldDefaultsViaConfigOnRecord.java
+++ b/test/transform/resource/after-ecj/FieldDefaultsViaConfigOnRecord.java
@@ -1,5 +1,3 @@
// version 14:
public record FieldDefaultsViaConfigOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/FieldNameConstantsOnRecord.java b/test/transform/resource/after-ecj/FieldNameConstantsOnRecord.java
index 8eca05e3..b9916ef7 100644
--- a/test/transform/resource/after-ecj/FieldNameConstantsOnRecord.java
+++ b/test/transform/resource/after-ecj/FieldNameConstantsOnRecord.java
@@ -11,10 +11,6 @@ public @FieldNameConstants(level = AccessLevel.PACKAGE) record FieldNameConstant
super();
}
}
-/* Implicit */ private final String iAmADvdPlayer;
-/* Implicit */ private final int $skipMe;
-/* Implicit */ private final int andMe;
-/* Implicit */ private final String butPrintMePlease;
static double skipMeToo;
() {
}
diff --git a/test/transform/resource/after-ecj/GetterOnRecord.java b/test/transform/resource/after-ecj/GetterOnRecord.java
index 735f0c80..fe51ffe4 100644
--- a/test/transform/resource/after-ecj/GetterOnRecord.java
+++ b/test/transform/resource/after-ecj/GetterOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.Getter;
public @Getter record GetterOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/JacksonizedOnRecord.java b/test/transform/resource/after-ecj/JacksonizedOnRecord.java
index c837ce98..5650f6c8 100644
--- a/test/transform/resource/after-ecj/JacksonizedOnRecord.java
+++ b/test/transform/resource/after-ecj/JacksonizedOnRecord.java
@@ -56,8 +56,6 @@ public @lombok.extern.jackson.Jacksonized @lombok.Builder @JsonIgnoreProperties
return (((("JacksonizedOnRecord.JacksonizedOnRecordBuilder(string=" + this.string) + ", values=") + this.values) + ")");
}
}
-/* Implicit */ private final String string;
-/* Implicit */ private final List values;
public static @java.lang.SuppressWarnings("all") @lombok.Generated JacksonizedOnRecord.JacksonizedOnRecordBuilder builder() {
return new JacksonizedOnRecord.JacksonizedOnRecordBuilder();
}
diff --git a/test/transform/resource/after-ecj/LockedInRecord.java b/test/transform/resource/after-ecj/LockedInRecord.java
index c453683d..0e705cbe 100644
--- a/test/transform/resource/after-ecj/LockedInRecord.java
+++ b/test/transform/resource/after-ecj/LockedInRecord.java
@@ -1,8 +1,5 @@
import lombok.Locked;
public record LockedInRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
- private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
public @Locked void foo() {
String foo = "bar";
}
diff --git a/test/transform/resource/after-ecj/LoggerConfigOnRecord.java b/test/transform/resource/after-ecj/LoggerConfigOnRecord.java
index 2a0057f6..2d6d6573 100644
--- a/test/transform/resource/after-ecj/LoggerConfigOnRecord.java
+++ b/test/transform/resource/after-ecj/LoggerConfigOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.extern.slf4j.Slf4j;
public @Slf4j record LoggerConfigOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/LoggerFloggerRecord.java b/test/transform/resource/after-ecj/LoggerFloggerRecord.java
index 43ffda6d..7826fd6c 100644
--- a/test/transform/resource/after-ecj/LoggerFloggerRecord.java
+++ b/test/transform/resource/after-ecj/LoggerFloggerRecord.java
@@ -1,7 +1,6 @@
import lombok.extern.flogger.Flogger;
class LoggerFloggerRecord {
public @Flogger record Inner(String x) {
-/* Implicit */ private final String x;
private static final @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.flogger.FluentLogger log = com.google.common.flogger.FluentLogger.forEnclosingClass();
() {
}
diff --git a/test/transform/resource/after-ecj/LoggerSlf4jOnRecord.java b/test/transform/resource/after-ecj/LoggerSlf4jOnRecord.java
index f4440cbd..89dca1d7 100644
--- a/test/transform/resource/after-ecj/LoggerSlf4jOnRecord.java
+++ b/test/transform/resource/after-ecj/LoggerSlf4jOnRecord.java
@@ -1,7 +1,5 @@
import lombok.extern.slf4j.Slf4j;
public @Slf4j record LoggerSlf4jOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LoggerSlf4jOnRecord.class);
() {
}
diff --git a/test/transform/resource/after-ecj/NonNullExistingConstructorOnRecord.java b/test/transform/resource/after-ecj/NonNullExistingConstructorOnRecord.java
index 88ce76fe..1420382e 100644
--- a/test/transform/resource/after-ecj/NonNullExistingConstructorOnRecord.java
+++ b/test/transform/resource/after-ecj/NonNullExistingConstructorOnRecord.java
@@ -1,8 +1,6 @@
// version 14:
import lombok.NonNull;
public record NonNullExistingConstructorOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
public NonNullExistingConstructorOnRecord(@NonNull String b) {
this("default", b);
if ((b == null))
diff --git a/test/transform/resource/after-ecj/NonNullOnRecordExistingConstructor.java b/test/transform/resource/after-ecj/NonNullOnRecordExistingConstructor.java
index 4323113f..c16d347e 100644
--- a/test/transform/resource/after-ecj/NonNullOnRecordExistingConstructor.java
+++ b/test/transform/resource/after-ecj/NonNullOnRecordExistingConstructor.java
@@ -1,14 +1,13 @@
// version 14:
+// skip compare content
import lombok.NonNull;
public record NonNullOnRecordExistingConstructor(String a) {
-/* Implicit */ private final String a;
- public NonNullOnRecordExistingConstructor(@NonNull String a) {
+ public NonNullOnRecordExistingConstructor {
super();
if ((a == null))
{
throw new java.lang.NullPointerException("a is marked non-null but is null");
}
System.out.println("Hello");
- this.a = a;
}
}
diff --git a/test/transform/resource/after-ecj/NonNullOnRecordExistingSetter.java b/test/transform/resource/after-ecj/NonNullOnRecordExistingSetter.java
index 1bdaf29f..9b9a228c 100644
--- a/test/transform/resource/after-ecj/NonNullOnRecordExistingSetter.java
+++ b/test/transform/resource/after-ecj/NonNullOnRecordExistingSetter.java
@@ -1,7 +1,6 @@
// version 19:
import lombok.NonNull;
public record NonNullOnRecordExistingSetter(String a) {
-/* Implicit */ private final String a;
public NonNullOnRecordExistingSetter(String a) {
super();
this.a = a;
diff --git a/test/transform/resource/after-ecj/NonNullOnRecordSimple.java b/test/transform/resource/after-ecj/NonNullOnRecordSimple.java
index 8a300227..5fe0f1dc 100644
--- a/test/transform/resource/after-ecj/NonNullOnRecordSimple.java
+++ b/test/transform/resource/after-ecj/NonNullOnRecordSimple.java
@@ -1,8 +1,6 @@
// version 14:
import lombok.NonNull;
public record NonNullOnRecordSimple(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
public @java.lang.SuppressWarnings("all") @lombok.Generated NonNullOnRecordSimple(@NonNull String a, @NonNull String b) {
super();
if ((a == null))
diff --git a/test/transform/resource/after-ecj/NonNullOnRecordTypeUse.java b/test/transform/resource/after-ecj/NonNullOnRecordTypeUse.java
index ae2b344f..ffd67d3a 100644
--- a/test/transform/resource/after-ecj/NonNullOnRecordTypeUse.java
+++ b/test/transform/resource/after-ecj/NonNullOnRecordTypeUse.java
@@ -1,9 +1,6 @@
// version 14:
import lombok.NonNull;
public record NonNullOnRecordTypeUse(int a, int b, int c) {
-/* Implicit */ private final int[] a;
-/* Implicit */ private final int @NonNull [] b;
-/* Implicit */ private final int[] @NonNull [] c;
public @java.lang.SuppressWarnings("all") @lombok.Generated NonNullOnRecordTypeUse(@NonNull int[] a, int @NonNull [] b, int[] @NonNull [] c) {
super();
if ((a == null))
diff --git a/test/transform/resource/after-ecj/SetterOnRecord.java b/test/transform/resource/after-ecj/SetterOnRecord.java
index f91b68c2..f38d4b86 100644
--- a/test/transform/resource/after-ecj/SetterOnRecord.java
+++ b/test/transform/resource/after-ecj/SetterOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.Setter;
public @Setter record SetterOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/SynchronizedInRecord.java b/test/transform/resource/after-ecj/SynchronizedInRecord.java
index 3298cbd0..bf173899 100644
--- a/test/transform/resource/after-ecj/SynchronizedInRecord.java
+++ b/test/transform/resource/after-ecj/SynchronizedInRecord.java
@@ -1,8 +1,5 @@
import lombok.Synchronized;
public record SynchronizedInRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
- private final @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.Object $lock = new java.lang.Object[0];
public @Synchronized void foo() {
String foo = "bar";
}
diff --git a/test/transform/resource/after-ecj/ToStringOnRecord.java b/test/transform/resource/after-ecj/ToStringOnRecord.java
index de153ea2..c25ddbe9 100644
--- a/test/transform/resource/after-ecj/ToStringOnRecord.java
+++ b/test/transform/resource/after-ecj/ToStringOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.ToString;
public @ToString record ToStringOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/UtilityClassOnRecord.java b/test/transform/resource/after-ecj/UtilityClassOnRecord.java
index 6a404e26..670fee35 100644
--- a/test/transform/resource/after-ecj/UtilityClassOnRecord.java
+++ b/test/transform/resource/after-ecj/UtilityClassOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.experimental.UtilityClass;
public @UtilityClass record UtilityClassOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/ValueOnRecord.java b/test/transform/resource/after-ecj/ValueOnRecord.java
index 13987ca0..0e55308f 100644
--- a/test/transform/resource/after-ecj/ValueOnRecord.java
+++ b/test/transform/resource/after-ecj/ValueOnRecord.java
@@ -1,6 +1,4 @@
// version 14:
import lombok.Value;
public @Value record ValueOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
}
diff --git a/test/transform/resource/after-ecj/WithByOnRecord.java b/test/transform/resource/after-ecj/WithByOnRecord.java
index a2363f3f..c4d1d627 100644
--- a/test/transform/resource/after-ecj/WithByOnRecord.java
+++ b/test/transform/resource/after-ecj/WithByOnRecord.java
@@ -1,8 +1,6 @@
// version 14:
import lombok.experimental.WithBy;
public @WithBy record WithByOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
public @java.lang.SuppressWarnings("all") @lombok.Generated WithByOnRecord withABy(final java.util.function.Function super String, ? extends String> transformer) {
return new WithByOnRecord(transformer.apply(this.a), this.b);
}
diff --git a/test/transform/resource/after-ecj/WithByOnRecordComponent.java b/test/transform/resource/after-ecj/WithByOnRecordComponent.java
index 4d3fc72f..2b31efb2 100644
--- a/test/transform/resource/after-ecj/WithByOnRecordComponent.java
+++ b/test/transform/resource/after-ecj/WithByOnRecordComponent.java
@@ -1,8 +1,6 @@
// version 14:
import lombok.experimental.WithBy;
public record WithByOnRecordComponent(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
public @java.lang.SuppressWarnings("all") @lombok.Generated WithByOnRecordComponent withABy(final java.util.function.Function super String, ? extends String> transformer) {
return new WithByOnRecordComponent(transformer.apply(this.a), this.b);
}
diff --git a/test/transform/resource/after-ecj/WithOnNestedRecord.java b/test/transform/resource/after-ecj/WithOnNestedRecord.java
index ecd76658..61f6f5a3 100644
--- a/test/transform/resource/after-ecj/WithOnNestedRecord.java
+++ b/test/transform/resource/after-ecj/WithOnNestedRecord.java
@@ -1,8 +1,6 @@
import lombok.With;
public record WithOnNestedRecord() {
public @With record Nested(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
/**
* @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed).
*/
diff --git a/test/transform/resource/after-ecj/WithOnRecord.java b/test/transform/resource/after-ecj/WithOnRecord.java
index b8bf738e..7745b954 100644
--- a/test/transform/resource/after-ecj/WithOnRecord.java
+++ b/test/transform/resource/after-ecj/WithOnRecord.java
@@ -1,8 +1,6 @@
// version 14:
import lombok.With;
public @With record WithOnRecord(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
/**
* @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed).
*/
diff --git a/test/transform/resource/after-ecj/WithOnRecordComponent.java b/test/transform/resource/after-ecj/WithOnRecordComponent.java
index 49c05257..34955c88 100644
--- a/test/transform/resource/after-ecj/WithOnRecordComponent.java
+++ b/test/transform/resource/after-ecj/WithOnRecordComponent.java
@@ -1,8 +1,6 @@
// version 14:
import lombok.With;
public record WithOnRecordComponent(String a, String b) {
-/* Implicit */ private final String a;
-/* Implicit */ private final String b;
/**
* @return a clone of this object, except with this updated property (returns {@code this} if an identical value is passed).
*/